-
永久开启分区ACL权限,谨慎修改此文件,一旦错误将影响系统无法启动查看全部
-
临时开启分区ACL权限
查看全部 -
查看分区是否支持ACL权限
查看全部 -
用sudo赋予权限的时候注意:
权限控制到最小
赋予passwd和vi操作的时候要慎重。
查看全部 -
sudo权限分配
1.用户切换: su - user1
2.赋予普通用户重启命令权限:
修改/etc/sudoers文件。或直接用命令 visudo
user1 ALL=(ALL) /sbin/shutdown -r now
查看全部 -
默认ACL权限 d
注意:1.默认权限定义之后,之后创建的文件都会被赋予权限。
2.setfacl -m d:u:用户名:权限 文件名
查看全部 -
权限的递归传递
注意:1.要写绝对路径
2.通过递归赋予的权限会因为,目录和文件的操作权限不同,导致“权限溢出”。
3.setfacl命令之后创建的子文件,不会被赋予ACL权限。
setfacl -m u:zhang:rx -R /home/av
查看全部 -
mask:ACL 权限控制。所有的ACl用户权限设置,都要与mask进行“与”操作。
setfacl -x u:用户名 文件名 #删除指定“用户”的ACL权限。
setfacl -x g:组名 文件名。 #删除指定“用户组”的ACL权限。
setfacl -b 文件名 #删除所有的ACL权限。
查看全部 -
setfacl -m u:user1:rw /av #设置acl用户权限。
getfacl #获取用户权限。
查看全部 -
chattr命令格式(对root生效)
chattr[+-=][选项]文件或目录
+:增加权限
-:删除权限
=:等于某权限
i:如果对文件设置i属性,那么不允许对文件进行删除,改名也不能添加和 修改数据;如果对目录设置i属性,那么只能修改目录下文件的数据,但不能 建立和删除文件
a:如果对文件设置a属性,那么只能在文件中增加数据,但不能删除也不能修改数据 如果对目录设置a属性,那么只允许在目录中建立和修改文件,但不允许删除
chattr +i abc 给abc赋予i权限
chattr -i abc 给abc取消i权限
lsattr 123查看目录123下的具有attr权限的文件
lsattr -d 123查看目录123本身的具有attr权限的文件
文件用echo >>输出重定向添加数据 echo bbb >>abc
lsattr 选项 文件名 查看文件系统属性
-a 显示所有文件和目录
-d 仅列出目录本身的属性
查看全部 -
1.SUID只能对执行文件生效,SGID能对目录和执行文件生效,SBIT只能对目录生效
2.要赋予SBIT 权限必须给目录普通用户赋予7权限,因此也比较危险。
3.超级用户赋予SBIT权限: chmod o+t 或者 chmod 1***
4.目录有SBIT权限后,任何普通用户都可以在目录下新建文件,但是只能删除自己创建的文件,不允许删除其它用户的文件。
5. /tmp/ 目录默认有SBIT权限
查看全部 -
SetGID针对文件的作用
只有可执行二进制程序才能设定SGID权限
命令执行者要对该程序拥有x(执行)权限
命令执行执行程序时,组身份升级为该程序文件的属组
SetGID权限只在程序执行过程中有效
例子 、usr/bin/locate具有SetGID身份
SetGID针对目录的作用
普通用户必须对此目录必须拥有r和x权限,才能进入此目录
普通用户在此目录中的有效组会变成此目录的属组
若普通用户对此目录拥有w权限,新建的文件的默认属组是这个目录的属组
设定SetGID
chmod g+s 文件名 chmod 2755 文件名
取消SetGID
chmod g-s 文件名 chmod 0755 文件名
查看全部 -
chmod u-s 文件名 取消某文件的SetUID (chmod g-s 文件名 //组)
chmod u+s 文件名 增加某文件的SetUID (chmod g+s 文件名 //组)
定期检查suid和sgid
#!/bin/bash
find / -perm -4000 -o -perm -2000> /tmp/setuid.check
for i in $(cat /tmp/setuid.check)
do
grep $i /home/suid.log> /dev/null
if [ "$?" != "0" ]
then
echo "$i isn't in listfile!">>/home/suid_log_$(date +%F)
fi
done
rm -rf /tmp/setuid.check
查看全部 -
(1)设定SetUID方法
chmod 4755 文件名
chmod u+s 文件名
(2)SetUID功能
1.只有可执行二进制程序才能设定SUID权限
2.命令执行者要对该程序拥有x(执行)权限(如果当前文件没有执行权限,着会出现大S权限,大S权限是无效的,s=S+x,s才是超级权限。)
3.命令执行者在执行该程序时获得该程序文件属主身份
4.SetUID权限只在程序执行过程中有效
passwd拥有SetUID权限,所以普通用户可以修改自己密码 cat命令没有SetUID权限,所以普通用户不能查看/etc/shadow文件内容
查看全部 -
#授权普通用户可以添加其他用户
visudo
#编辑/etc/sudoers文件
user1 ALL= /usr/sbin/useradd
#sudo赋予普通用户user1添加用户的命令
user1 ALL= /usr/bin/passwd
#授权user1用户设定密码的权限
#注意:这样设置极不安全,因为user1可以设置root用户密码了,这是不合理的,应该按下面这样写
user1 ALL= /usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd "", !/usr/bin/passwd root
#说明1:[A-Za-z]* ,这是个正则表达式,passwd后面的跟的用户名包括任何字母,*代表字母可以重复0-N次
#说明2:!/usr/bin/passwd "",!代表取反,这意味着passwd 后面跟的用户名不能为空,因为为空代表设置自身密码,而user1执行设置密码命令时使用的是root身份
#说明3:!/usr/bin/passwd root,!代表取反,这意味着passwd后面不能跟root
#说明4:,后面一定要有空格,没有空格不生效
#说明5:三段代码顺序不能颠倒
#原则:sudo赋予的命令越详细,普通用户的权限越小,赋予的越简单,权限越大
user1 ALL=/bin/vi #赋予user1使用vi更改任意文件的权限(甚至包括/etc/shadow 保存用户名密码文件).
查看全部
举报