天天看點

權限和權限管理

Linux下的使用者類型分為3類:分别是擁有者(Owner)、所屬組(Group)以及其他使用者(Others)的權限,每一類使用者都有r、w、x的權限。

檔案:

r:可以檢視檔案的内容。

w:可以修改檔案的内容。

x:如果檔案具有可執行的内容,則可以執行該檔案。

目錄:

r:可以使用ls列出該目錄下的檔案和目錄,不能使用ls -l。

w:可以建立檔案和目錄。

x:可以進入到目錄下。

chown指令

作用:修改檔案或目錄的擁有者和/或所屬組。

文法格式:

chown [OPTION]... [OWNER][:[GROUP]] FILE...      
修改擁有者:chown [option] OWNER FILE...
修改所屬組:chown [option] :GROUP FILE...
同時修改擁有者和所屬組:chown [option] OWNER:GROUP FILE...      

選項:

-R:遞歸的修改目錄的擁有者或/和所屬組。

示例:

[root@Server3 tmp]# ls -l test 
-rw-r--r-- 1 root root 641020 Jul  2 04:23 test
[root@Server3 tmp]# chown frame test
[root@Server3 tmp]# ls -l test 
-rw-r--r-- 1 frame root 641020 Jul  2 04:23 test
[root@Server3 tmp]# chown :frame test
[root@Server3 tmp]# ls -l test 
-rw-r--r-- 1 frame frame 641020 Jul  2 04:23 test
[root@Server3 tmp]# chown root:root test
[root@Server3 tmp]# ls -l test 
-rw-r--r-- 1 root root 641020 Jul  2 04:23 test
[root@Server3 tmp]#      

chgrp指令

作用:修改檔案或目錄的所屬組。

-R:遞歸的修改目錄及其子目錄下的檔案或目錄的所屬組。

[root@Server3 tmp]# ls -l test 
-rw-r--r-- 1 root root 641020 Jul  2 04:23 test
[root@Server3 tmp]# chgrp frame test 
[root@Server3 tmp]# ls -l test 
-rw-r--r-- 1 root frame 641020 Jul  2 04:23 test
[root@Server3 tmp]#      

chmod指令

作用:修改檔案或目錄的權限

-R:遞歸的修改檔案或目錄的權限。

方法一:采用u、g、o、a的方式修改權限。

u:代表的是owner

g:代表的是group

o:代表的是others

a:代表的是ugo

操作符:

+:表示在原有權限的基礎上增權重限。

-:表示在原有權限的基礎上去掉相應的權限。

=:不管原來的權限是什麼,直接賦予指定的權限。

[root@Server3 tmp]# ll
total 628
-rw-r--r-- 1 root root 641020 Jul  2 04:23 test
[root@Server3 tmp]# chmod u=rwx,g+x,o-r test 
[root@Server3 tmp]# ls -l
total 628
-rwxr-x--- 1 root root 641020 Jul  2 04:23 test
[root@Server3 tmp]#      
[root@Server3 tmp]# ls -l
total 628
-rwxr-x--- 1 root root 641020 Jul  2 04:23 test
[root@Server3 tmp]# chmod a=rw- test 
[root@Server3 tmp]# ls -l test 
-rw-rw-rw- 1 root root 641020 Jul  2 04:23 test
[root@Server3 tmp]#      
[root@Server3 tmp]# ls -l test 
-rw-r--r-- 1 root root 641020 Jul  2 04:23 test
[root@Server3 tmp]# chmod ug+x test 
[root@Server3 tmp]# ls -l test 
-rwxr-xr-- 1 root root 641020 Jul  2 04:23 test
[root@Server3 tmp]#      

方法二:采用數值的方式修改權限。

r:4

w:2

x:1

[root@Server3 tmp]# ls -l test 
-rw-rw-rw- 1 root root 641020 Jul  2 04:23 test
[root@Server3 tmp]# chmod 644 test 
[root@Server3 tmp]# ls -l test 
-rw-r--r-- 1 root root 641020 Jul  2 04:23 test
[root@Server3 tmp]#      
cp -a /tmp/dira/. /tmp/dirb