-
getfacl 文件名 //查看acl权限; setfacl 选项 文件名 //设定ACL权限的命令; 选项: -m:设定ACL权限; -x:删除指定的ACL权限; -b:删除所有的ACL权限; -d:设定默认ACL权限; -k:删除默认ACL权限; -R:递归设定ACL权限; 为用户设定ACL权限 setfacl -m u:用户名:权限(rwx) 文件名 为用户组设定ACL权限 setfacl -m g:组名:权限(rwx) 文件名查看全部
-
文件就三个权限 所有者权限 组权限 其他权限 有时候不够用 这时候就需要ACL权限 用来解决用户身份不够的问题 查看分区ACL权限是否开启 dumpe2fs -h /dev/sda5 #dumpe2fs命令时查询指定分区详细文件系统信息的命令 -h 仅显示超级块中信息,而不显示磁盘块的详细信息 文件信息里项: Default mount options: user_xattr acl 那就说明分区是支持acl的 df #查看分区 临时开启分区ACL权限 mount -o remount,acl / #重新挂载根分区,并挂载加入acl权限 永久开启分区ACL权限 vi /etc/fstab UUID=c2ca6f57-b15c-43ea=bca0-f239083d8bd2 / ext4 defaults,acl 1(#启动是否需要检测) 1(#启动是否需要备份) #加入acl mount -o remount / #重新挂载文件系统或重启系统,使修改生效查看全部
-
通过sudo命令赋予用户密码应注意项查看全部
-
sudo 赋予命令 1. root用户visudo 以绝对路径赋予用户执行权限user1 All= /sbin/shutdown 2. 用户身份执行 sudo /sbin/shutdown查看全部
-
setfacl -m u:usr1:wrx av getfacl av查看全部
-
i 不能增加,不能删除 文件:不能删除文件(当然不能改名),不能修改文件内容 目录:不能删除目录(当然不能改名),不能修改目录里面的内容(新增文件、删除文件、改名以有文件) a 不能删除 文件:只能通过echo xxxx >> 文件,增加内容,不能删除、修改里面的内容 目录:只能新建文件或目录,但不能删除已有文件。至于已有文件内容的修改,要看已有文件有没有i或a属性了查看全部
-
SetUID查看全部
-
Linux中chattr权限 对于提到的SBIT,我们不能删除别人的文件,那我们可以修改别人文件内容啊! 那就是本节说的chattr chattr命令格式 chattr[+-=][选项]文件或目录名 + - = 增加 删除 等于 某权限 选项 i 如果对文件设置i属性,那么不允许对文件进行删除,改名,也不能添加和修改数据 ;如果对目录设置i属性,那么只能修改目录下文件的数据,但不允许建立和删除文件。 a 如果对文件设置a属性,那么只能在文件中增加数据,但是不能删除也不能修改数据; 如果对目录设置a属性,那么只允许在目录中建立和修改文件,但是不允许删除 查看文件系统属性 lsattr 选项 文件名 -a 显示所有文件和目录 -d 若目标是目录,仅列出目录本身的属性,而不是子文件的属性查看全部
-
Linux中Sticky BIT SBIT 也叫粘着位权限 SBIT粘着位权限 粘着位目前只对目录有效 普通用户对该目录拥有w和x权限,即普通用户可以在此目录有写入权限 如果没有粘着位,因为普通用户拥有w权限,所以可以删除此目录下所有文件,包括其他用户建立的文件。 一担赋予了粘着位,除了root可以删除所有文件,普通用户就算有w权限,也只能删除自己建立的文件, 但是不能删除其他用户建立的文件 设置粘着位 chmod 1755 目录名 chmod o+t 目录名 取消粘着位 chmod 0777 目录名 chmod o-t 目录名查看全部
-
Linux中SetGID(上) SetGID针对文件的作用 只有可执行的二进制程序才能设置SGID权限 命令执行者队该程序有x执行权限 命令执行在执行过程的时候,组身份升级为该程序文件的属主 SetGID权限同样只在该程序执行过程中有效, 也就是说组身份改变在程序执行过程中有效 SetGID针对目录的作用 普通用户必须对此目录有r和x权限,才能进入此目录 普通用户在此目录中的有效组会变成此目录的属组 若普通用户对此目录有w权限时,新建的文件的默认属组是这个目录的属组 e.g: ll /usr/bin/locate #搜索mlocate.db -rwx--s--x 1 root slocate 35612 8月 24 2010 /usr/bin/locate ll /var/lib/mlocate/mlocate.db -rw-r----- 1 root slocate 1838850 1月 20 04:29 /var/lib/mlocate/mlocate.db /usr/bin/locate是可执行二进制程序,可以赋予SGID权限 执行用户lamp对/usr/bin/locate命令拥有执行权限 执行/usr/bin/locate命令时,组身份会升级为slocate组,而slocate组对 /var/lib/mlocate/mlocate.db数据库有r权限,所以普通用户可以使用locate 命令查询mlocate.db数据库 命令结束,lamp用户的组身份返回lamp组 设定SetUID 2代表SGID chmod 2755 文件名 chmod g+s 文件名 取消SetUID chmod 0755 文件名 chmod g-s 文件名查看全部
-
危险的SUID 危险目录应严格控制写权限。比如"/","/usr"等 e.g: chmod u+s /etc/vi vi /etc/shadow 这样用户就可以修改密码了 用户的密码设置要严格遵守密码三原则 对系统中默认应该具有SetUID权限的文件作一列表,定时 检查有没有这之外的文件被设置了SetUID权限,参考下面脚本 #!/bin/bash find / -perm -4000 -o -perm -2000 > /tmp/setuid.check #搜索系统系统中所有有SUID和SGID的文件,并保存到临时目录中 for i in $(cat /tmp/setuid.check) #循环去除文件中的文件名 do grep $i /root/suid.log > /dev/null #比对这个文件名是否在模板文件中 if[ "$?" != "0" ] #检测上一个命令的返回值,如果不成功,上面报错 then echo "$i isn't in listfile!" >> /root/suid_log_$(data+%F) #如果文件名在模板文件中,则输出错误信息,并把错误写到日志中 fi done rm -rf /tmp/setuid.check查看全部
-
Linux中SetUID(下) SetUID的功能 只有可以执行的二进制程序才能设定SUID权限 命令执行者队该程序拥有x执行权限 命令执行者在执行该程序时获得该程序文件属主的身份(在执行程序的过程中灵魂附体为文件属主) e.g: ll /etc/shadow #保存密码文件 ----------. 1 root root /usr/bin/passwd #只有超级用户才能改这个文件 但为什么自己能改自己的密码呢? ll /etc/sbin/passwd -rwsr-xr-x. 1 root root /usr/bin/passwd 这个指令有SetUID权限 执行的时候 自己的身份就会这个文件所有者身份 所以就能改密码了 那执行这条命令时,身份可以修改密码了 ,不就能修改其他用户的密码了吗? 实际上linux限制了 passwd后跟其他参数 会报只有根用户才能指定用户名称的错误 用户只能 passwd 直接回车 修改当前用户的密码 只有文件具有SetUID权限,命令执行时用户身份才会切换到文件所有者的身份 灵魂附体 SetUID权限只在该程序执行过程中有效,也就是说身份改变在程序执行过程中有效 设定SetUID的方法 4代表SUID chmod 4755 文件名 chmod u+s 文件名 u g o + + + s s s = = = SUID SGID SBIT 取消SetUID方法 chmod -755 文件名 chmod u-s 文件名查看全部
-
授权普通用户可以添加其他用户查看全部
-
Linux中sudo权限 root把本来只能超级用户执行的命令赋予普通用户执行 sudo的操作对象是系统命令 sudo使用 >visudo #实际修改的是/etc/sudoers文件 其中有这么一句话 ##Allow root to run any commands anywhere ##Allows people in group wheel to run all commands root ALL=(ALL) ALL #用户名 被管理主机的地址=(可使用的身份)授权命令(绝对路径) #%wheel ALL=(ALL) ALL #%组名 被管理主机的地址=(可使用的身份)授权命令(绝对路径) man 5 sudoers e.g: jack CSNETS=ALL 主机别名 普通用户执行sudo命令 sudo -l sudo /sbin/shutdown -r now user1 ALL=/usr/bin/passwd #收于用户设定密码的权限 这样会有很大问题 普通用户会修改其他用户密码 让不能修改root密码 user1 All=/usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd "", !/usr/bin/passwd root 注意中间必须有空格,顺序不能颠倒 whereis vi查看全部
-
Linux中默认ACL权限和递归ACL权限 ACL 目录下的子目录 这就需要递归 递归是父目录在设定ACL权限时,所有的子文件和子目录也会拥有相同的ACL权限 递归只能对目录设置,不能对文件 -R 选项 e.g: setfacl -m u:lw:rx -R /av 对目录使用递归权限 本来不想给权限 结果给了 出现权限溢出 不是默认的ACL权限 命令执行之后新建的目录不会有ACL权限 默认的ACL权限 默认ACL权限的作用时如果给父目录设定了默认的ACL权限,那么父目录中所有新建的 文件都会继承父目录的ACL权限 setfacl -m d:u:lw:rw -R /home/av d表示 default 默认查看全部
举报
0/150
提交
取消