改变权限属性命令chmod

  chmod(change mode)-change-file access permissions

  chmod是用来改变文件或目录权限的命令,但只有文件的属主和超级用户root才有这种权限。通过chmod来改变文件或目录的权限有两种方法:一种是通过权限字母和操作符表达式的方法来设置权限;另一种是使用数字来设置权限。

权限更改有二种方法:1.数字表示法(常用这种) 2.字符表示法 

数字式权限表示法:

chmod [数字组合] 文件名

r 4

w 2

x 1

- 0

字符式权限表示法:

chmod [用户类型] [+|-|=] [权限字符] 文件名




    chmod

用户类型操作字符权限字符




  文件或目录

u(user)+(加入)       r
g(group)

o(others)-(减去)       w
a(all)=(设置)       x

用户或用户组定义:

u 代表属主用户

g 代表属组

o 代表其它用户

a 代表属主、属组和其它用户,也就是上面三个用户(或组)的所有

权限定义字母:

r 代表读权限

w 代表写权限

x 代表执行权限

权限增减字符:

+ 增加某个权限

- 取消某个权限

= 取消其他所有权限赋予给定的权限


命令参数:

-c : 若该文件权限确实已经更改,才显示其更改动作

-f : 若该文件权限无法被更改也不要显示错误讯息

-v : 显示权限变更的详细资料

-R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)

--help : 显示辅助说明

--version : 显示版本


数字权限使用示例:

如:

[root@w zdw]# ls -l 2.txt
-rw-r--r--. 1 root root 37 Apr 27 14:30 2.txt

属主:  root rw-=4+2+0=6

用户组:root r-x=4+0+0=4

其它:       r--=4+0+0=4

得出2.txt文件的权限为 644

更改2.txt权限为-r-xrwxr-x

[root@w zdw]# chmod 575 2.txt
[root@w zdw]# ls -l 2.txt
-r-xrwxr-x. 1 root root 37 Apr 27 14:30 2.txt

更改zdw文件夹及文件夹里文件的权限

[root@w zdw]# ll zdw
total 0
-rw-r--r--. 1 root root 0 Apr 28 09:56 e
-rw-r--r--. 1 root root 0 Apr 28 09:56 i
-rw-r--r--. 1 root root 0 Apr 28 09:56 q
-rw-r--r--. 1 root root 0 Apr 28 09:56 r
-rw-r--r--. 1 root root 0 Apr 28 09:56 t
-rw-r--r--. 1 root root 0 Apr 28 09:56 u
-rw-r--r--. 1 root root 0 Apr 28 09:56 w
-rw-r--r--. 1 root root 0 Apr 28 09:56 y
[root@w zdw]# ll zdw -ld
drwxr-xr-x. 2 root root 4096 Apr 28 09:56 zdw
[root@w zdw]# chmod -R 755 zdw                      #使用-R赋权给文件夹及文件夹里的文件
[root@w zdw]# ll zdw
total 0
-rwxr-xr-x. 1 root root 0 Apr 28 09:56 e
-rwxr-xr-x. 1 root root 0 Apr 28 09:56 i
-rwxr-xr-x. 1 root root 0 Apr 28 09:56 q
-rwxr-xr-x. 1 root root 0 Apr 28 09:56 r
-rwxr-xr-x. 1 root root 0 Apr 28 09:56 t
-rwxr-xr-x. 1 root root 0 Apr 28 09:56 u
-rwxr-xr-x. 1 root root 0 Apr 28 09:56 w
-rwxr-xr-x. 1 root root 0 Apr 28 09:56 y


字符权限使用示例:

给用户添加x的权限

[root@w zdw]# ls -l 1.txt 
-rw-r--r--. 1 root bin 151 Apr 27 15:46 1.txt
[root@w zdw]# chmod u+x 1.txt                        #u表示对前三位处理+上x的权限
[root@w zdw]# ls -l 1.txt    
-rwxr--r--. 1 root bin 151 Apr 27 15:46 1.txt        #已加上x的权限

给用户组赋权

[root@w zdw]# chmod g=rx 1.txt                       #给用户组rx的权限
[root@w zdw]# ls -l 1.txt     
-rwxr-xr--. 1 root bin 151 Apr 27 15:46 1.txt

同时赋予权限:

[root@w zdw]# chmod u=wx,g=rwx,o=w 1.txt             #用,号分隔,可同时赋权
[root@w zdw]# ls -l 1.txt               
--wxrwx-w-. 1 root bin 151 Apr 27 15:46 1.txt
[root@w zdw]# chmod ugo-w 1.txt                      #用-可同时减去w权限
[root@w zdw]# ls -l 1.txt      
---xr-x---. 1 root bin 151 Apr 27 15:46 1.txt
[root@w zdw]# chmod a-x 1.txt                        #ugo相当于a,减去x权限
[root@w zdw]# ls -l 1.txt    
----r-----. 1 root bin 151 Apr 27 15:46 1.txt
[root@w zdw]# chmod +x 1.txt                         #什么都不填直接写+号,也相当于所有
[root@w zdw]# ls -l 1.txt   
---xr-x--x. 1 root bin 151 Apr 27 15:46 1.txt