如何在Linux中管理文件和文件夾的權限?
譯文【51CTO精選譯文】對許多Linux用戶來說,習慣于文件的權限和所有權可能有點難度。人們通常認為,想進入到這種使用級別,必須使用命令行。雖然總是可以獲得強大得多的功能和靈活性,但是運行貌似復雜的命令并非總是必不可少。借助現有的一些用起來極其方便的桌面界面,你幾乎不需要使用什么命令行,就能如愿以償,哪怕是在管理文件權限和所有權方面。
確實如此,這可能讓許多新用戶大吃一驚;你可以從文件管理器里面來管理文件和文件夾。但是在我們探討圖形用戶界面(GUI)之前,***對其工作機理有一個深入的了解。所以,我們先從命令行開始入手。
命令行:文件權限
改動文件權限和所有權的兩個命令如下:
- chmod - 更改權限
- chown - 更改所有權
上面兩個命令用起來都不難。不過你要明白,只有用戶是當前所有者或根用戶,才能夠實際更改文件的權限或所有權,這一點很重要。所以,如果你是用戶Bethany,要是不借助根權限(或sudo),就無法對用戶Jacob擁有的文件和文件夾進行更改。比如說:
數據分區上創建了一個新的文件夾,名為/DATA/SHARE。Bethany和Jacob這兩個用戶都需要擁有讀取和寫入該文件夾的訪問權限。有許多方法可以實現這一點(其中一個方法是,把兩個用戶加入到一個特殊的用戶組――我們會在另一篇文章中探討如何管理用戶組)。如果Bethany和Jacob是系統上的唯一兩個用戶(而且你知道自己的網絡很安全――這很重要),就可以更改該文件夾的權限,為他們授予訪問權。為此,一個方法就是執行該命令。
- sudo chmod -R ugo+rw /DATA/SHARE
上面這個命令的詳細分解如下:
- sudo - 這用于為使用sudo的任何系統上的命令獲得管理員權限(不然你就得使用'su'以獲得根權限,運行不帶'sudo'的上面這個命令)
- chmod - 改動權限的命令
- -R - 這改動父文件夾及其里面子對象的權限
- ugo+rw - 這為User(用戶)、Group(用戶組)及Other(其他對象)授予讀取和寫入訪問權限。
你可能也猜測到了,這個命令完全開放了SHARE文件夾的權限,那樣系統上的任何人都能訪問該文件夾。正如我在前面提到的那樣,一種更安全的方法就是使用用戶組。但我們使用這種方法僅僅是為了演示。
權限的詳細分解如下:
- u - 用戶
- g - 用戶組
- o - 其他對象
"其他對象"這個條目是個危險的條目,因為它實際上為每個人賦予了文件夾/文件的權限。你為某文件或文件夾所能賦予的權限如下:
- r - 讀取
- w- 寫入
- x - 執行
使用-R這個參數選項符很重要。如果你在SHARE目錄里面有許多子文件夾和文件,又希望權限從父對象(包含文件夾)應用到子對象(子文件夾和文件),就必須使用-R(遞歸)這個參數選項符,那樣同樣的權限就可以一路應用到父文件夾里面包含的最深層文件夾。
命令行:文件所有權
更改文件或文件夾的所有權同樣很簡單。假設Jacob為Bethany把一個文件夾移入到SHARE目錄里面,但是Jacob仍擁有所有權。只要借助一個簡單的命令,就可以更改這個所有權:
- sudo chown -R bethany /DATA/SHARE
讓我們詳細分解這個命令。
- sudo - 必須用到管理員權限,因為我們所處理的是屬于另一個用戶的文件夾
- chown - 更改所有權的命令·-R - 這個遞歸參數選項符確保所有子對象都獲得同樣的所有權變更。
- bethany - 文件夾的新所有者
- /DATA/SHARE - 所要修改的目錄
要是Bethany將文件夾發回給Jacob,就需要再次更改所有權(如果使用用戶組,同樣可以簡化這一步)。
GUI:用戶權限
我準備在Ubuntu 13.10系統上,使用Nautilus文件管理器,演示如何更改文件權限。
假設你需要允許每個人都獲得讀取/寫入文件夾TEST的權限。為此,在Nautilus文件管理器里面,采取下面這些步驟:
1.打開Nautilus
2.瀏覽至目標文件或目標文件夾
3.鼠標右擊該文件或文件夾
4.選擇Properties(屬性)
5.點擊Permissions(權限)選項卡
6.點擊Others(其他)部分中的Access files(訪問文件)
7.選擇"Create and delete files"(創建并刪除文件)
8.點擊Change Permissions for Enclosed Files(更改所附文件的權限)
9.在隨后彈出的窗口中,選擇Files(文件)下的Read and Write(讀取和寫入),選擇Folders(文件夾)下的Create and delete files(創建并刪除文件),見圖A。
10.點擊Change(更改)。
11.點擊Close(關閉)。
如果你需要更改不屬于你的文件夾的權限,戲法就會出現。可以實現這一幕,但必須在擁有管理員訪問權的前提下啟動Nautilus。為此,采取下面這些步驟:
1.打開終端窗口
2.執行命令sudo -i
3.執行命令nautilus
sudo -i命令為你賦予了持久訪問sudo的權限,直到你輸入exit命令,清除該訪問權。一旦Nautilus打開,你可以更改文件夾或文件的權限,如上所述――即便你不是該文件夾或文件的所有者。
注意:如果你所使用的發行版并不使用sudo,就要把上述指令改成如下:
1.打開終端窗口
2.執行命令su
3.鍵入你的根密碼,按回車鍵
4.執行命令nautilus。
在你完成這項任務之后,關閉Nautilus窗口,然后關閉終端窗口。
GUI:更改所有權
更改文件或文件夾的所有權常常需要使用管理員權限。所以為此,你需要采用上面介紹的方法來啟動Nautilus。
想借助Nautilus更改文件夾或文件的所有權,請采取下面這些步驟:
1.在借助管理員權限打開的Nautilus窗口中,找到相應的文件夾或文件
2.鼠標右擊該文件夾(或文件)
3.點擊Permissions(權限)選項卡
4.從Owner(所有者)下拉框中選擇新的所有者(見下圖)
5.點擊Close(關閉)。
就是這樣。現在,你借助命令行或GUI,更改文件或文件夾的權限或所有權時應該不會有任何問題了。使用用戶組讓你可以更改權限和所有權,卻擁有更強大的功能和更高的安全性――我們以后會介紹這方面。現在,請享受更改文件和文件夾的便利吧!
原文鏈接:http://www.linux.com/learn/tutorials/760276-how-to-manage-file-and-folder-permissions-in-linux