一:高级用户组和用户权限
1:密码策略
1:含义
密码策略就是设置密码的一些属性,如什么时候密码过期等
修改的就是这个配置文件/etc/shadow这里面的参数
user2:!!:19768:0:99999:7:::
第一个字段:用户名
第二个字段:密码占位符,!!表示没有密码,!表示密码被锁定了,*有密码
第三个字段:1970年1月1日到现在最近修改密码过的天数
第四个字段:至少过了多少天,才能修改密码;0表示没有期限
第五个字段:使用多久后,才能修改密码 ;99999表示没有没有期限
第六个字段:密码过期前的警告天数
第七个字段:密码失效天数,就是密码过期后,还能使用多久
第八个字段:密码禁用日期
2:操作
chage 用户
选项:
-d | 将最近一次修改密码的时间设为日期 |
-E | 密码过期日期 |
-W | 密码过期前警告天数(-M天数之后的) |
-m | 至少过了多少天,才能修改密码 |
-M | 过了多少天后,必须要修改密码 |
-I | 过期多少天后,密码失效 |
-l | 展示用户的信息 |
chage -d 0 用户名 这样操作后,密码就必须要修改
3:监控登录
就是可以监控谁能登录进来
2:文件特殊权限和掩码
1:掩码
1)简介
作用:控制用户创建文件和目录的默认权限,
默认掩码的是0022,默认创建目录的最大权限为777,默认创建文件的最大权限为666,
文件的默认权限=666-022=644
目录的默认权限=777-022=755
0022:第一个为特殊权限,后面依次是用户,拥有组,其他用户
2)案例
1、创建文件,拥有人有读写的权限,拥有组有写的权限,其他人有写的权限;目录,拥有人有读写的权限
#计算知 666-622=044 777-733=044 掩码为044,通过修改用户的变量文件即可 [root@server ~]# vim .bashrc umask 044 [root@server opt]# ll total 0 drwx-wx-wx. 2 root root 6 Feb 28 20:28 dir -rw--w--w-. 1 root root 0 Feb 28 20:28 file [root@server opt]#
2、umask值为033
设置umask值为033,然后切换用户 创建文件和文件夹 [root@server opt]# umask 0033 [root@server opt]# ll total 0 drwxr--r--. 2 root root 6 Feb 28 20:35 111 -rw-r--r--. 1 root root 0 Feb 28 20:35 file [root@server opt]#
创建文件本来是633的,结果变成了644,然后通过计算的话,会不一样,所以以目录的权限为主
3)总结
1:如果umask的值有冲突的话,以目录的权限为主,因为默认情况下,创建的文件如果有x的权限的话,会自动的加上1,或者减去1
2:9版本之前的话,会有root和普通用户的掩码不一样,su 用户 触发的是/etc/bashrc su - 用户触发的是/etc/login.defs
2:特殊权限
特殊权限一共有3个suid和sgid和sbit
1)suid(s或者4)
suid只对文件有意义,对于目录而言没有意义,
作用:当一个文件有suid的权限时,执行这个文件的时候以文件的拥有人的身份去执行,suid只能设置到二进制的文件上面,对于脚本文件没有用
例如:/usr/bin/passwd就是设置了suid的权限
设置的方法是:chmod u+s 文件或者chmod 4000(建议不使用数字)
如果是大S的话,代表着没有这个文件没有x的权限,如果是小写的s的话,那就是原文件有x的权限
2)sgid(s或者2)
作用:
对于文件:如果二进制文件有sgid的权限,执行的时候,以文件的拥有组执行
对于目录:如果目录有sigd的权限,那么此目录下创建的文件和子目录都会继承父目录的权限(继承组的拥有组,子目录和文件也继承sgid的权限)
设置的方法:chmod g+s 文件或者 chmod 2000
如果拥有组是大S的话,代表着没有这个文件没有x的权限,如果是小写的s的话,那就是原文件有x的权限
3)sbit(t或者1)
作用:对于目录有用
目录有sbit的权限的话,目录下创建的文件和目录只能由自己来修改,也不能修改别人在此目录下创建的文件和目录,(root除外)
设置的方法:
chmod o+t 目录 或者 chmod o+1 目录
如果拥有组是大T的话,代表着没有这个文件没有x的权限,如果是小写的t的话,那就是原文件有x的权限
可以做一个贡献目录出去
3:acl权限
1:简介
作用:满足了普通设置权限的问题,精确的设置某个用户的权限
1)选项
-m | 修改权限 |
-b | 删除所有的acl的权限 |
-x | 删除某个用户的权限 |
-R | 递归设置权限 |
-k | 删除所有的默认权限 |
-d | 设置默认的权限 |
-x d:g:拥有组 文件 | 删除指定用户的默认权限 |
2)案例
1、设置q7用户对file文件有rw的权限,其余用户没有
[root@server opt]# ll total 0 -rw-r-----. 1 root root 0 Feb 28 21:23 file [root@server opt]# setfacl -m u:q7:rw file [root@server opt]# getfacl file # file: file # owner: root # group: root user::rw- user:q7:rw- group::r-- mask::rw- other::--- [root@server opt]#
2、删除q7用户的权限
[root@server opt]# setfacl -b file
3、有效权限
[root@server opt]# setfacl -m m::r file [root@server opt]# getfacl file # file: file # owner: root # group: root user::rw- user:q7:rw- #effective:r-- group::r-- mask::r-- other::--- [root@server opt]# setfacl -m m::rwx file [root@server opt]# getfacl file # file: file # owner: root # group: root user::rw- user:q7:rw- group::r-- mask::rwx other::--- [root@server opt]#
按照有效权限为主,设置了掩码为rwx,但是用户的权限为rw,因为默认的情况下,不能创建带有x的文件
3)acl的继承
创建的时候就会自动的继承默认权限,设置默认权限
[root@server opt]# setfacl -m d:u:q7:rwx dir/ [root@server opt]# getfacl dir/ # file: dir/ # owner: root # group: root user::rwx group::r-x other::r-x default:user::rwx default:user:q7:rwx default:group::r-x default:mask::rwx default:other::r-x [root@server opt]# cd dir/ [root@server dir]# touch file1 [root@server dir]# mkdir dir1 [root@server dir]# getfacl * # file: dir1 # owner: root # group: root user::rwx user:q7:rwx group::r-x mask::rwx other::r-x default:user::rwx default:user:q7:rwx default:group::r-x default:mask::rwx default:other::r-x # file: file1 # owner: root # group: root user::rw- user:q7:rwx #effective:rw- group::r-x #effective:r-- mask::rw- other::r-- [root@server dir]#
目录会自动的继承,但是文件的话会去掉x的权限
3)总结
1:在设置acl权限的时候,拥有组的权限不在是原来的权限,而是掩码的权限(有效权限),如果使用chmod来设置的拥有组的权限的话,就是在设置掩码的权限,按照有效权限来设定
2:acl的继承,目录的掩码最小为rx(这样才有意义),文件的最大掩码为rw(不能带有x的权限)
3:文件的优先级
文件的拥有人;文件的acl用户;文件的拥有组;文件acl的拥有组;文件的其他人
4:acl的掩码,就是第一次设置acl的权限
4:监控登陆
5:sudo提权
二:文件系统
标签:opt,文件,RHCE,文件系统,server,file,权限,root From: https://www.cnblogs.com/qm77/p/18041075