Linux文件特殊权限

对Linux文件的一般权限,即rwx已经有些了解了,用数字表示分别为4,2,1。在学习Hadoop的LinuxTaskController时遇到了一些特殊权限的设置,虽然之前已经了解这些特殊权限,大体上指的是临时获得文件所有者或者用户组的权限,这样如果该文件为可执行文件,则可以对文件所有者或者用户组的资源进行一些操作。

比如,使用命令ls-al 查看/etc/passwd文件,可以发现该文件的所有者为root且只有root用才可以对该文件进行写操作,那为什么其他用户可以通过/usr/bin/passwd命令将自己的密码写入/etc/passwd文件中呢?对/usr/bin/passwd执行ls –al命令的结果如下:

 [gpadmin@pgmdw~]$ ls -al /usr/bin/passwd

-rwsr-xr-x 1 root root 27936 Aug  3  2010/usr/bin/passwd

可以发现除了root用户外的其他用户对该文件拥有执行(x)权限,并且设置了s权限,这样其他用户就执行该文件时,就获得了root用户的权限,所以就可以对/etc/passwd进行写入操作了。下面就更进一步地学习一下这些特殊权限以及如何设置特殊权限。

s或者S用于设置SUID和SGID,使文件获得文件拥有者和用户组的权限。SUID仅对二进制文件有效,不能用在shell脚本上,且对目录是无效的。

t或者T设置粘贴位(Sticky),只对目录有效,对文件无效。在设置了t/T的目录下,用户若在该目录下具有w及x权限,则当用户在该目录下建立文件或目录时,只有文件拥有者与root才有权力删除

SUID、SGID、Sticky用数字表示分别为4、2、1,用字母表示时会占用x位置,这也导致了有大小写之分。具体来讲就是如果文件没有设置x权限,则特殊权限为大写字母:S或者T,若设置了x权限则特殊权限为小写字母:s或者t。

接下来通过一些具体的例子,演示特殊权限的含义以及如何设置。第一个例子是大小写的区别。

[gpadmin@pgmdw ~]$ ls -al test

-rw-rw-rw- 1 gpadmin gpadmin 0 Mar 14 11:08 test

[gpadmin@pgmdw ~]$ chmod a+s test

[gpadmin@pgmdw ~]$ ls -al test

-rwSrwSrw- 1 gpadmin gpadmin 0 Mar 14 11:08 test

[gpadmin@pgmdw ~]$ chmod a+x test

[gpadmin@pgmdw ~]$ ls -al test

-rwsrwsrwx 1 gpadmin gpadmin 0 Mar 14 11:08 test

由上面的代码示例可以验证文件不具有执行权限(x)时,s为大写字母(S),当赋予文件执行权限时,s变为小写字母。如果用数字修改权限该如何进行呢?假设test文件还是不具有执行权限,即:

[gpadmin@pgmdw ~]$ ls -al test

-rw-rw-rw- 1 gpadmin gpadmin 0 Mar 14 11:08 test

现在给文件添加SUID,即特殊权限为4,其余不变,应该为4666:

[gpadmin@pgmdw ~]$ chmod 4666 test

[gpadmin@pgmdw ~]$ ls -al test

-rwSrw-rw- 1 gpadmin gpadmin 0 Mar 14 11:08 test

再添加SGID,特殊权限此时为6,应该为6666:

[gpadmin@pgmdw ~]$ chmod 6666 test

[gpadmin@pgmdw ~]$ ls -al test

-rwSrwSrw- 1 gpadmin gpadmin 0 Mar 14 11:08 test

再为文件赋予执行权限x,应该为6776:

[gpadmin@pgmdw ~]$ chmod 6777 test

[gpadmin@pgmdw ~]$ ls -al test

-rwsrwsrwx 1 gpadmin gpadmin 0 Mar 14 11:08 test

再次的大写字母变为小写字母了。

第二例子是如何验证数字表示的权限与字母表示的权限是一致的。假如用数字表示的权限为6050,那对应的字母表示是什么呢?第一数字个表示的是特殊权限6 = 4 + 2,即同时设置了SUID和SGID,第二个数字表示的所有者权限为0,字母表示为---,因为没有设置x权限,特殊权限表示为大写字母S,在第三个数字为5 =4 + 1,设置了用户组权限为读(r)和执行(x),特殊权限表示为小写字母s,第四个数字为0,字母表示为---。综合起来即为---Sr-s---,用实际例子验证一下:

[gpadmin@pgmdw ~]$ ls -al test

---Sr-s--- 1 gpadmin gpadmin 0 Mar 14 11:08 test

通过上面的学习,现在已经可以进行一些特殊权限的设置,读懂文件特殊权限的含义,至于何时设置特殊权限则要根据结合实际情况决定。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

skyWalker_ONLY

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值