本帖最后由 ChrisLinux 于 2015-12-2 14:04 编辑
当我用 chmod 给一个目录设置特殊权限时发生了下面出乎意料的事:
本以为可以用数字像更改普通权限那样更改特殊权限结果却不能,而是产生了SGID和SBIT叠加的效果。如果按着习惯做这样的设置会产生某些文件属性上的错误。
解决办法:
对,在前面再加一个0就可以避免这种情况。同理,其它级别的权限也可以使用这种方法设置。
更多说明请阅读以下链接:
http://www.gnu.org/software/coreutils/manual/html_node/Directory-Setuid-and-Setgid.html
当我用 chmod 给一个目录设置特殊权限时发生了下面出乎意料的事:
- [root ML]# mkdir a ; ls -dl a
- drwxr-xr-x 2 root root 4096 Dec 2 13:20 a
- [root ML]# chmod 2755 a && ls -dl a
- drwxr-sr-x 2 root root 4096 Dec 2 13:20 a
- [root ML]# chmod 1777 a && ls -dl a
- drwxrwsrwt 2 root root 4096 Dec 2 13:20 a
本以为可以用数字像更改普通权限那样更改特殊权限结果却不能,而是产生了SGID和SBIT叠加的效果。如果按着习惯做这样的设置会产生某些文件属性上的错误。
解决办法:
- [root ML]# ls -dl a
- drwxr-sr-x 2 root root 4096 Dec 2 13:20 a
- [root ML]# chmod 01777 a && ls -dl a
- drwxrwxrwt 2 root root 4096 Dec 2 13:20 a
对,在前面再加一个0就可以避免这种情况。同理,其它级别的权限也可以使用这种方法设置。
更多说明请阅读以下链接:
http://www.gnu.org/software/coreutils/manual/html_node/Directory-Setuid-and-Setgid.html
编辑回复