天天看點

Linux系統管理_基本權限和歸屬-Redhat Enterprise 5

Linux系統管理_基本權限和歸屬-Redhat Enterprise 5

   檔案和目錄在linux系統中是最為重要的,經常使用root使用者登入系統可能沒感覺,一旦使用普通使用者的時候,就會發現權限這個很棘手的問題,最近一段時間在學習關于檔案和目錄的權限,想了一下,可以從這四個方面來總結一下:

一基本權限和歸屬關系

二,檔案和目錄的權限

三,權限的設定:chmod,umask,mkdir -m

四,檔案和目錄的所有者和所屬組:chown,chgrp

擴充:

一 :基本權限和歸屬關系

1,通路權限:

-讀取:允許檢視内容-read

-寫入:允許修改内容-write

-可執行:允許運作和切換-excute

注:可執行權限對于目錄來說,對應的位置有x權限,意為是否可進入該目錄;

而對于檔案來說,有x權限,意為該檔案可執行,如程式(指令)的所有者權限中都有x權限。

2,歸屬關系:

-屬主:擁有此檔案或目錄的使用者-user

-屬組:擁有此檔案或目錄的組-group

-其他使用者:除屬主、屬組以外的使用者-other

最終權限:通路權限和歸屬關系共同決定最終權限

二:檔案和目錄的權限

[root@localhost/]# ll -d /etc/passwd  /boot/

drwxr-xr-x4rootroot1024 2013-07-10 /boot/        //目錄

-rw-r--r--1rootroot 1681 02-17 10:23 /etc/passwd     //檔案

1 2        3 4    5   6    7           8

第一段:d代表該目标為目錄,-代表該目标位檔案

第二段:rwxr-xr-x :檔案和目錄的權限位

注:一共九位,前三位為user(所有者)的權限,中間三位為group(所屬組)的權限,最後三位為other(其他使用者)的權限。

其中r用數字标示為4,w為2,x為1

第三段:對于檔案來說,為硬連結數;

對于目錄來說,為該目錄下有多少個目錄,其中包括隐藏目錄“.”和“..”。

第四段:為屬主,即檔案或目錄的所有者

第五段:為所屬組

第六段:檔案的大小,預設情況下機關為bit(位元組)

第七段:為最後修改的時間

第八段:檔案或目錄的名稱

三:設定基本權限:chmod、umask和mkdir -m

1,chmod指令

-格式:chmod [ugoa] [+ - =][rwx] 檔案/目錄

chmod [nnn] 檔案/目錄(n代表權限的數字形式)

常用選項:-R :遞歸更改權限

        - -reference=:以指定檔案或目錄做模闆(這個不重要)

示例:

1,修改Desktop的相關屬性,分别使用字元權限和數字權限進行設定

[root@localhost ~]#ll -d Desktop/

drwxr-xr-x 3 rootroot 4096 02-16 03:40 Desktop/

[root@localhost ~]#chmod g+w,o-rx Desktop/

drwxrwx--- 3 rootroot 4096 02-16 03:40 Desktop/

[root@localhost ~]#chmod 755 Desktop/

2,建立一個可執行檔案,并賦予所有者x權限

[root@localhost ~]#echo "echo Hello World" > test.sh

[root@localhost ~]#ll -lh test.sh

-rw-r--r-- 1 rootroot 17 02-18 21:12 test.sh

[root@localhost ~]# chmod +x test.sh    //+x預設為所有者添加該權限

-rwxr-xr-x 1 rootroot 17 02-18 21:12 test.sh

[root@localhost ~]#./test.sh

Hello World

[root@localhost ~]#

2,umask指令:建立檔案或目錄的預設權限

-一般檔案預設不給x執行權限

-其他取決于umask設定

-umask值可以進行設定(為臨時,umask 0027即講umask值設定為0027,可使用umask檢視)

注1:由于檔案預設不給x權限,是以建立一個新檔案的最大權限為666,建立一個目錄的最大權限為777。

注2: umask預設值為022(- - -- w-- w -),也就是說:

建立一個檔案時預設權限為:

為rw - rw - rw - 和- - -- w --w - 的差,即為rw - r - - r - -;即為644(注:不能用777或666減去022)

建立一個目錄時預設權限為:

為rwx rwx rwx 和- - -- w --w - 的差,即為rwx r - x r - x;即為755

[root@localhost ~]# umask

0022

[root@localhost ~]# mkdir mulu1

[root@localhost ~]# touch file1.txt

[root@localhost ~]# ll -d mulu1/ file1.txt

-rw-r--r--1 root root    0 02-18 21:22 file1.txt   //預設檔案權限為644

drwxr-xr-x2 root root 4096 02-18 21:21 mulu1/  //預設目錄權限為755

[root@localhost ~]# umask 0027  //将umask值設定為0027

0027        //修改之後umask值為0027

[root@localhost ~]# mkdir mulu2     //修改umask值後再次建立目錄

[root@localhost ~]# touch file2.txt //修改umask值後再次建立檔案

[root@localhost ~]# ll -d mulu2/ file2.txt

-rw-r-----1 root root    0 02-18 21:28 file2.txt  

drwxr-x---2 root root 4096 02-18 21:28 mulu2/

可以看到umask值設定為0027之後,那麼建立的目錄和檔案的權限方面other使用者将不再擁有任何權限。

3,mkdir -m

mkdir為建立一個目錄,-m參數可以直接指定即将建立目錄的權限

mkdir

1,chown:設定檔案或目錄的歸屬關系

-格式:chown 屬主 檔案或目錄    //修改檔案或目錄的所有者

      chown :屬組 檔案或目錄   //修改檔案或目錄的所屬組

      chown 屬主:屬組 檔案或目錄   //修改檔案或目錄的所有者和所屬組

-R選項:遞歸修改權限

            - -reference選項:以指定目錄或檔案作為模闆(作為了解)

首先修改file1.txt的權限

然後以file1.txt為模闆修改file2.txt檔案的權限所有者和所屬使用者組。

[root@localhost ~]# touch file2.txt

[root@localhost ~]# ll file*

-rw-r--r-- 1 rootroot 0 02-18 21:43 file1.txt

-rw-r--r-- 1 rootroot 0 02-18 21:43 file2.txt

[root@localhost ~]# useradd user1

[root@localhost ~]# chown user1:user1 file1.txt //修改file1.txt所有者為user1

                                                           //所屬組為user1

-rw-r--r-- 1 user1user1 0 02-18 21:43 file1.txt

-rw-r--r-- 1root  root  0 02-18 21:43 file2.txt

[root@localhost ~]# chown --reference file1.txt file2.txt   //file2.txt将會複制file1.txt的屬性

-rw-r--r--1 user1 user1 0 02-18 21:43 file1.txt

-rw-r--r--1 user1 user1 0 02-18 21:43 file2.txt    //所有者和所屬組為和

           //file1.txt相同

2,chgrp:設定檔案或目錄的所屬組

chgrp 屬組 檔案或目錄 :修改檔案或目錄為的所屬組

注:相當于chown :屬組檔案或目錄

-rw-r--r--1 user1 user1 0 02-18 21:43 file2.txt

[root@localhost ~]# chgrp root file1.txt file2.txt  //修改file1和file2的屬主

-rw-r--r--1 user1 root 0 02-18 21:43 file1.txt     //屬主變為root

-rw-r--r--1 user1 root 0 02-18 21:43 file2.txt     //屬主變為了root

總結:

   chmod,chown,chgrp這三個指令雖然參數很少,但是總是容易搞混,不過用的多了,用的熟練了就能記住了,chmod修改的是權限,chown修改的是所屬使用者群組,chgrp修改的是所屬組。

   最需要注意的是umask的值的設定,建立檔案和檔案夾時的預設權限!

本文轉自 murongqingqqq  51CTO博http://blog.51cto.com/murongqingqqq/1360265客,原文連結:

繼續閱讀