1. 程式人生 > >Linux下的文件與目錄權限

Linux下的文件與目錄權限

img 選項 有時 oot oop 字符 設備 可執行 使用命令

一、用戶(User)、群組(Group)和其他人(Others)

linux是多用戶多任務的操作系統,同一時刻可能會有多個用戶登錄系統,考慮到文件的安全性等問題,所以Linux下的文件都屬於一個特定的用戶(user),比如我們使用用戶名user1登錄系統,user1在自己的工作目錄下創建了一個文件diary.txt來記錄自己的日記,則日記diary.txt的用戶為user1,系統中可能有其他用戶存在,而user1並不想其他人讀自己的日記,這時user1就可以通過設置日記的權限來控制主機上的所有用戶對自己日記的訪問(設置為自己對日記可讀可寫,其他用戶沒有權限)。有了用戶為什麽還要有組(group)的概念呢?有時對於一個文件,我們想對同組的用戶設置一種權限,而對組外的用戶設置另一種權限,設想這樣一種情況,有一天user1突然想讓主機上的另一個用戶user2來讀自己的日記,但之前設置的權限是只有自己可讀可寫,其他人沒有訪問權限,而user1只想增加user2的訪問權限,這時通過組就可以輕松解決,方法是將user1和user2添加到同一組group1裏,然後給group1添加讀權限,這樣處在組group1下的用戶user2也可以讀user1的日記了,不在組裏的其他用戶(Others)依然不能訪問user1的日記。

在linux下,用戶被記錄在 /etc/passwd 文件中,用戶密碼被記錄在 /etc/shadow 文件中,組名則被記錄在 /etc/group 文件中。

二、linux下的文件權限

1、查看文件權限

可以使用命令 ls -al 來查看當前目錄下的文件權限, -a表示顯示目錄下的所有文件,包括以.開始的隱藏文件, -l表示以長列表形式顯示。比如我進入下載目錄後 ls -al ,如下所示

技術分享圖片

其中第一列表示了這個文件的類型和權限,拿 -rwxrwxrwx 來說,我們可以將它分成4個部分,如下圖:

技術分享圖片

其中類型指出了文件的類型:

  • 當為[ d ]則是目錄;
  • 當為[ - ]則是普通文件;
  • 若是[ l ]則表示為鏈接(link file);
  • 若是[ b ]則表示為裝置文件裏面的可供儲存的接口設備(可隨機存取裝置);
  • 若是[ c ]則表示為裝置文件裏面的串行端口設備,例如鍵盤、鼠標(一次性讀取裝置)。

[-]後面的字符每3個一組分析其含義,其中r代表可讀(read),w代表可寫(write),x代表可執行(execute),所以上面的含義就是文件data_format.zip對文件擁有者可讀可寫可執行(rwx),對文件所屬群組中的用戶可讀可寫可執行(rwx),對其他用戶可讀可寫可執行(rwx),也就是對所有用戶都可讀可寫可執行。

第二列表示這個文件的鏈接(可以理解為windows下的快捷方式)有多少;

第三列表示這個文件的用戶;

第四列表示這個文件所在的組;

第五列表示這個文件的大小,默認單位為byte;

第六列表示這個文件的創建日期後者最近的修改日期;

第七列為文件名(或目錄名)。

2、修改文件權限

修改文件權限的命令常用的有3個:chgrp修改文件的組,chown修改文件擁有者,chmod修改文件的權限。

2.1、改變文件群組chgrp

可以使用 chgrp [OPTION]... GROUP FILE 來修改文件file的組為group,在上面的例子中文件data_format.zip所處的組為hadoop,下面的命令中,我將data_format.zip的組修改為root

hadoop@sench-pc:~/下載$ sudo chgrp root data_format.zip 
hadoop@sench-pc:~/下載$ ls -al data_format.zip 
-rwxrwxrwx 1 hadoop root 612614352 11月 29 10:46 data_format.zip

可以看到,data_format.zip的組已經被改為了root。如果要將目錄下的文件的組全部修改,則加上選項-r即可。

2.2、改變文件擁有者chown

方法:

chown [-R] 賬號名稱 文件或目錄
chown [-R] 賬號名稱:組名 文件或目錄

在下面的命令中,我將data_format.zip的用戶修改為root

hadoop@sench-pc:~/下載$ sudo chown root data_format.zip 
hadoop@sench-pc:~/下載$ ls -al data_format.zip 
-rwxrwxrwx 1 root root 612614352 11月 29 10:46 data_format.zip

2.3、改變文件權限chmod

Linux下的文件與目錄權限