文件权限问题

文件权限 4755的涵义 = 
文件权限中s/S的意义?

chmod是Linux下设置文件权限的命令,后面的数字表示不同用户或用户组的权限。

一般是三个数字:

第一个数字表示文件所有者的权限

第二个数字表示与文件所有者同属一个用户组的其他用户的权限

第三个数字表示其它用户组的权限

权限分为三种:读(r=4),写(w=2),执行(x=1)。综合起来还有可读可执行(rx=5=4+1)、可读可写(rw=6=4+2)、可读可写可执行(rwx=7=4+2+1)。

所以,chmod 755 设置用户的权限为:

1.文件所有者可读可写可执行

2.与文件所有者同属一个用户组的其他用户可读可执行

3.其它用户组可读可执行

chmod 4755与chmod 755 
的区别在于开头多了一位,这个4表示其他用户执行文件时,具有与所有者相当的权限。

文章Linux中的文件特殊权限中通过实例很好地解释了这里的4的含义:

先看个实例,查看你的/usr/bin/passwd 与/etc/passwd文件的权限

[root@MyLinux ~]#ls -l 
/usr/bin/passwd /etc/passwd

-rw-r--r--1 root root 
154908-1913:54/etc/passwd

-rwsr-xr-x 1 root root 229842007-01-07/usr/bin/passwd

众所周知,/etc/passwd文件存放的各个用户的账号与密码信息,/usr/bin/passwd是执行修改和查看此文件的程序,但从权限上看,/etc/passwd仅有root权限的写(w)权,可是为什么每个用户都可以直接调用/usr/bin/passwd来写/etc/passwd从而达到修改自己的密码呢?注意这里的s代替了x( -rwsr-xr-x 1 root root 
229842007-01-07/usr/bin/passwd) , 这里的s使得其他的用户执行/usr/bin/passwd时具有与owner 
root相当的权限。

这里的4或s是特殊的文件权限,其实s可以用在user或group,还有另一种特殊权限t:

再看个实例,查看你的/tmp目录的权限

[root@MyLinux ~]#ls -dl /tmpdrwxrwxrwt 6 root root 4096 08-22 11:37 /tmp

 tmp目录是所有用户共有的临时文件夹,所有用户都拥有读写权限,这就必然出现一个问题,A用户在/tmp里创建了文件a.file,此时B用户看了不爽,在/tmp里把它给删了(因为拥有读写权限),那肯定是不行的。

有t特权的目录下的文件或目录只有owner和root才可以删除和修改,其他的人即使有写权限也不能删除。

如何设置以上特殊权限:setuid:chmod u+s xxxsetgid: chmod g+s xxxstick bit : 
chmod o+t 
xxx或者使用八进制方式,在原先的数字前加一个数字,三个权限所代表的进制数与一般权限的方式类似,如下:suid   
guid    stick bit  1        1          
1所以:suid的二进制串为:100,换算十进制为:4guid的二进制串为:010,换算十进制:2stick bit 
二进制串:001,换算十进制:1于是也可以这样设:setuid:chmod 4755 xxxsetgid:chmod 2755 
xxxstick bit:chmod 1755 
xxx最后,在一些文件设置了特殊权限后,字母不是小写的s或者t,而是大写的S和T,那代表此文件的特殊权限没有生效,是因为你尚未给它对应用户的x权限.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值