Linux 中的权限

Linux 中的权限

普通权限

Linux 的权限分为三部分,第一部分是所有者权限,第二部分是所属组权限,第三部分是其他人权限:

主  组  他
rwx rwx rwx

其中 r 代表可读,w 代表可写,x 代表可执行(或搜索目录),它们都有对应的数字:

r = 4
w = 2
x = 1

各部分的 rwx 权限可以用上面的数字相加来表示:

rwx = 4+2+1 = 7
rw- = 4+2   = 6
r-x = 4+1   = 5
-wx = 2+1   = 3

所以三部分权限就可以用三个数字来表示:

755 = rwx r-x r-x
644 = rw- r-- r--

特殊权限

除了这些权限之外,还有三个特殊权限:

setuid = 4
setgid = 2
sticky = 1

setuid 表示允许其它用户以文件所有者的身份执行该文件(如果所有者有可执行权限的话),比如普通用户以 root 用户的身份执行某个程序。对目录没有效果。

setgid 表示允许其它用户以文件所属组的身份执行该文件(如果所属组有可执行权限的话),对于目录而言,则表示所有用户在该目录中创建的文件或目录,其所属组与该目录相同,主要用于在目录中共享资源,同一个组中的成员可以自由访问其中的数据。

sticky 对于目录而言,只允许所有者或特权用户删除或重命名其中的文件,这称为目录的“受限删除标志”,通常用在 /tmp 目录上。对于某些旧系统上的普通文件,该标志将文件保存在交换设备上,以便在运行时更快地加载,这称为“粘滞位”,不过现代的系统本身就有缓存机制,不用粘滞位也会被缓存,所以粘滞位已经不再文件上使用,只在目录上使用。

对于设置了 setuid(或 setgid)的文件或目录,如果其“所有者”(或“所属组”)有可执行权限,则会使用 s 标志代替 x 标志,如果没有可执行权限,则会使用大写的 S 标志代替。

对于设置了 sticky 的文件或目录,如果“其他人”有可执行权限,则会用 t 标志代替 x 标志,如果没有可执行权限,则会使用大写的 T 标志代替。

设置权限

# u 代表用户,g 代表组,o 代表其他,a 代表全部
# - 代表去掉,+ 代表增加,= 代表设置
# r 代表读,w 代表写,x 代表执行
# X 代表仅当文件是目录或已对某些用户具有执行权限时才设置 x
# s 代表 setuid/setgid(看是设置个所有者还是所属组)
# t 代表 sticky
chmod [ugoa]*([-+=][rwxXst]*)+
chmod [ugoa]*([-+=][ugo])+
chmod [-+=][0-7]+

chmod 00755  file  # 设置文件权限为 rwx r-x r-x,清除高级权限位
chmod =755   file  # 设置文件权限为 rwx r-x r-x,清除高级权限位
chmod 755    file  # 设置文件权限为 rwx r-x r-x,保留高级权限位
chmod 1755   file  # 设置文件权限为 rwx r-x r-t
chmod 7777   file  # 设置文件权限为 rws rws rwt
chmod 7666   file  # 设置文件权限为 rwS rwS rwT
chmod +007   file  # 为其他人添加 rwx 权限
chmod -022   file  # 去掉所属组和其他人的 w 权限

chmod u+rw   file  # 为所有者 rw 权限
chmod ug+rw  file  # 为所有者和所属组添加 rw 权限
chmod a+x-w  file  # 为所有人添加 x 权限,去掉 w 权限
chmod a=rx   file  # 将所有人的权限设置为 rw
chmod o=g    file  # 将其他人的权限设置为与所属组相同
chmod +rwx   file  # 为所有者添加 rwx 权限,为所属组和其他人添加 r-x 权限

chmod 从不改变符号链接的权限,因为符号链接的权限从不使用。但是,对于“命令行”中给出的符号链接,chmod 会更改其所指向的文件的权限。而在遍历目录(通过 -R 选项)时遇到的符号链接,chmod 会忽略它。

高级权限

其它特殊权限:

chattr +i file  # 忽略 w 权限设置,任何人不可修改
chattr -i file  # 恢复 w 权限设置

chattr +i file  # 忽略 w 权限设置,任何人只能追加数据
chattr -i file  # 恢复 w 权限设置

更多 chattr 选项:

chattr [-pRVf] [-+=aAcCdDeijPsStTuF] [-v version] files...
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值