-rwsr-xr-x. 1 root root 27000 Aug 21 2010 /usr/bin/passwd表示passwd文件权限的有10个字符 -rwsr-xr-x,用代号来分别表示A BCD EFG HIJ,其中意义为:
属性 | A |
-、d、l、b、c、s 按顺序排列,分别为 一般文件、目录、链接、块设备、character special、socket |
|
文件的拥有者 | 读 | B |
r、- r表示用户有读权限,-表示没有 |
写 | C |
w、- w表示用户有写权限、-表示没有 |
|
执行 | D |
x、s、- x表示用户有执行权限,-表示没有,s表示执行该文件以拥有者的身份执行 |
|
同群组用户 | 读 | E |
r、- r表示同组用户有读权限,-表示没有 |
写 | F |
w、- w表示同组用户有写权限、-表示没有 |
|
执行 | G |
x、s、- x表示同组用户有执行权限,-表示没有,s表示执行该文件以该群组的身份执行 |
|
其它用户 | 读 | H |
r、- r表示其它用户有读权限,-表示没有 |
写 | I |
w、- w表示其它用户有写权限、-表示没有 |
|
执行 | J |
x、t、- x表示其它用户有执行权限,-表示没有,t表示stickly bit,其它用户有写入的权限,但只有拥有者才能删除 |
用数字改变权限
chmod 2770 ./ 表示,添加组的特殊位sgid,用户权限为读 写 执行,同组用户权限 为读 写 执行 ,其它用户没有权限
第一位为特殊位,4为suid、2为组特殊位sgid、1为stickly bit
第二位为用户权限,文件拥有者的权限, 4 读、2 写、1 执行
第三位为同组用户权限, 4 读、2 写、1 执行
第四位为其它用户权限, 4 读、2 写、1 执行
chmod u+s /usr/bin/vim ,表示给vim添加suid
example: chmod g+s 用同组用户权限执行,即文件共享
1、添加3个用户
[root@bogon ~]# for i in {1..3} > do > useradd temp$i > done2、创建一个临时组,并为创建的用户添加附加组
[root@bogon ~]# groupadd temp [root@bogon ~]# for i in {1..3} > do > usermod -G temp temp$i > done3、用root创建一个文件夹,并改变所属组,改权限为770
[root@bogon /]# mkdir /common [root@bogon /]# chown .temp /common/ [root@bogon /]# ls -la /common/ total 8 drwxr-xr-x. 2 root temp 4096 Apr 18 23:23 . dr-xr-xr-x. 23 root root 4096 Apr 18 23:23 .. [root@bogon /]# chmod 770 /common4、切换到temp1写入一个文件,再切换到temp2看能否编辑
[root@bogon common]# ls -al total 8 drwxrwx---. 2 root temp 4096 Apr 18 23:30 . dr-xr-xr-x. 23 root root 4096 Apr 18 23:23 ..
[root@bogon common]# su - temp1 [temp1@bogon ~]$ cd /common [temp1@bogon common]$ >temp1_file [temp1@bogon common]$ su - temp2 Password: [temp2@bogon ~]$ cd /common [temp2@bogon common]$ >>temp1_file -bash: temp1_file: Permission denied5、添加组的执行权限 chmod g+s 后, 再用temp1创建一个文件,用temp2编辑 ,看能否编辑
[root@bogon common]# chmod g+s ./ [root@bogon common]# su - temp1 [temp1@bogon common]$ ls -la total 8 drwxrws---. 2 root temp 4096 Apr 18 23:33 . dr-xr-xr-x. 23 root root 4096 Apr 18 23:23 .. [temp1@bogon common]$ >temp1_file_ [temp1@bogon common]$ su - temp2 Password: [temp2@bogon ~]$ cd /common [temp2@bogon common]$ >>temp1_file_ [temp2@bogon common]$
默认创建的文件只有读 、写权限 ,没有执行权限
umask 023
将当前用户创建的文件缺省权限为 644
将当前用户创建的目录缺省权限为 754