Sticky Bit是一种特殊权限,用于目录以限制文件删除权限,仅允许文件所有者、目录所有者或root用户删除或重命名其中文件;在ls -l输出中以t或T表示,可通过chmod +t或chmod 1777设置,用chmod -t或chmod 777取消,常用于/tmp等公共可写目录,防止用户误删他人文件。

在linux中,sticky bit是一种特殊的权限设置,主要用于目录,确保只有文件的所有者、目录所有者或root用户才能删除或重命名该目录中的文件。这在公共可写目录(如/tmp)中非常有用,防止普通用户删除他人文件。
什么是Sticky Bit?
Sticky bit用符号t表示,当设置在目录上时,即使多个用户对该目录有写权限,也仅允许文件所有者删除自己的文件。
在ls -l输出中,如果目录权限末尾是t或T,说明已设置sticky bit:
drwxrwxrwt 2 root root 4096 Apr 1 10:00 /tmp
如何设置Sticky Bit
使用chmod命令可以为目录添加sticky bit。有两种方式:数字模式和符号模式。
1. 数字模式(八进制)
Sticky bit的八进制值是1。通常与其它权限组合使用,例如1777表示设置sticky bit并赋予所有用户读、写、执行权限。
chmod 1777 /path/to/Directory
示例:创建一个共享目录并设置sticky bit
mkdir /shared
chmod 1777 /shared
2. 符号模式
使用+t为目录添加sticky bit:
chmod +t /shared
若只想对其他用户(others)设置,也可写成:
chmod o+t /shared
如何查看Sticky Bit是否启用
使用ls -l命令查看目录权限:
ls -ld /tmp /shared
输出示例:
drwxrwxrwt 2 root root 4096 Apr 1 10:00 /tmp
drwxrwxr-T 2 user user 4096 Apr 1 10:05 /shared
解释:
- 末尾的t表示sticky bit已设置,且others有执行权限(x)
- 大写T表示sticky bit已设置,但others没有执行权限
取消Sticky Bit
使用-t选项移除sticky bit:
chmod -t /shared
或使用八进制重新设置权限(不包含1):
chmod 777 /shared
基本上就这些。Sticky bit是一个简单但有效的安全机制,特别适合多用户环境下的共享目录管理。正确使用能避免误删他人文件的问题。
以上就是Linux sticky bit命令示例的详细内容,更多请关注php中文网其它相关文章!


