关于Linux中特殊的权限

特殊的权限
   文件权限除了 rwx外还有 stia权限:
s :文件属主和组设置SUIDGUID,文件在被设置了s权限后将以root身份执行。在设置 s权限时文件属主、属组必须先设置相应的 x权限,否 则 s权限并不能正真生效( c h m o d命令不进行必要的完整性检查,即使不设置 x权限就设置 s权限, chmod也不会报错,当我们 ls -l时看到 rwS,大写 S说明 s权限未生效)。 Linux修改密码的 passwd便是个设置了 SUID的程序,普通用户无读写 /etc/shadow文件 的权限确可以修改自己的密码。
ls -al /usr/bin/passwd
-rwsr-xr-x 1 root root 32988 2008-12-08 17:17 /usr/bin/passwd
我们可以通过字符模式设置 s权限: chmod a+s filename,也可以使用绝对模式进行设置:
设置 s u i d:将相应的权限位之前的那一位设置为 4
设置 g u i d:将相应的权限位之前的那一位设置为 2
两者都置位:将相应的权限位之前的那一位设置为 4+2=6
如: chmod 4764 filename   //设置 SUID
t :设置粘着位,一个文件可读写的用户并一定相让他有删除此文件的权限,如果文件 设置了t权限则只有文件所有者和root有删除文件的权限,通过 chmod +t filename 来设置 t权限。
i :不可修改权限    例: chattr u+i filename filename文件就不可修改,无论任何人,如果需要修改需要先删除 i权限,用 chattr -i filename就可以了。查看文件是否设置了 i权限用 lsattr filename
a :只追加权限, 对于日志系统很好用,这个权限让目标文件只能追加,不能删除,而且不能通过编辑器追加。可以使用 chattr +a设置追加权限。
    Drwx rws --t  abc1 abc  (abc1 可做任何操作 ,abc 组可添加 )
 
为什么普通用户无法运行 mount 命令
Mount 命令其实已经有 s 权限,只是普通用户对硬件设备没权限。可用 chmod 命令赋予其权限。

你可能感兴趣的:(linux,权限,r,w,X)