修改Linux下的文件以及文件夾的權限


如何在Linux中管理文件和文件夾的權限?

2014-02-12 10:58 布加迪編譯 51CTO   字號: T  |   T
一鍵收藏,隨時查看,分享好友!

Linux系統有嚴格的權限管理制度,操作者權限與文件權限不匹配時將無法對文件進行任何操作。對許多Linux用戶來說,習慣於文件的權限和所有權可能有點難度。本文從命令行開始入手,教您在Linux中管理文件和文件夾權限的方法。

AD:51CTO學院:IT精品課程在線看!

【51CTO精選譯文】對許多Linux用戶來說,習慣於文件的權限和所有權可能有點難度。人們通常認為,想進入到這種使用級別,必須使用命令行。雖然總是可以獲得強大得多的功能和靈活性,但是運行貌似復雜的命令並非總是必不可少。借助現有的一些用起來極其方便的桌面界面,你幾乎不需要使用什么命令行,就能如願以償,哪怕是在管理文件權限和所有權方面。

確實如此,這可能讓許多新用戶大吃一驚;你可以從文件管理器里面來管理文件和文件夾。但是在我們探討圖形用戶界面(GUI)之前,最好對其工作機理有一個深入的了解。所以,我們先從命令行開始入手。

命令行:文件權限

改動文件權限和所有權的兩個命令如下:

  • chmod - 更改權限
  • chown - 更改所有權

上面兩個命令用起來都不難。不過你要明白,只有用戶是當前所有者或根用戶,才能夠實際更改文件的權限或所有權,這一點很重要。所以,如果你是用戶Bethany,要是不借助根權限(或sudo),就無法對用戶Jacob擁有的文件和文件夾進行更改。比如說:

數據分區上創建了一個新的文件夾,名為/DATA/SHARE。Bethany和Jacob這兩個用戶都需要擁有讀取和寫入該文件夾的訪問權限。有許多方法可以實現這一點(其中一個方法是,把兩個用戶加入到一個特殊的用戶組――我們會在另一篇文章中探討如何管理用戶組)。如果Bethany和Jacob是系統上的唯一兩個用戶(而且你知道自己的網絡很安全――這很重要),就可以更改該文件夾的權限,為他們授予訪問權。為此,一個方法就是執行該命令。

   
   
   
           
  1. 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仍擁有所有權。只要借助一個簡單的命令,就可以更改這個所有權:

   
   
   
           
  1. 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(關閉)。

轉自:http://os.51cto.com/art/201402/428907.htm

 

先創建文件夾:
         sudo mkdir /usr/local/fuwushe
   回車后要輸密碼(就是你登陸密碼)再回車。

復制文件:
   U盤的路徑不知道在哪里你就可以這樣做,先用鼠標操作,打開進入U盤。假如你要復制“file”(可為文件,也可為文件夾)這個文件,就右擊它,點復制。然后回到終端,先輸入
       "sudo cp -r"(如果file是目錄就要加“-r”,不是就不加),
輸入完之后再加個空格,然后右擊,點“粘貼文件名”,file的路徑就補上的,形如: 
        sudo cp -r ' /.../.../.../file ' ,
那個單引號最好不要去掉 ,因為如果你文件名有空格的話,去掉單引號后操作會失敗。粘貼文件名后再接着輸入
         /usr/local/fuwushe/
這樣命令就形如:
        sudo cp -r ' /.../.../.../file ' /usr/local/fuwushe/
(再提醒一次,file是目錄就要那個 -r ,是文件就不要),回車即可。

修改權限:
  因為那些文件你是從外部存儲設備里拷貝而來,一般用戶連讀的權限都沒有,你不用sudo是不能訪問的。因此,還需要修改權限,添加可讀權限:
        sudo chmod -R +r /usr/local/fuwushe
回車后即可。如果你復制的文件是可執行文件或者是腳本的話,你還需要添加可執行權限:
        sudo chmod +x /usr/local/fuwushe/.../filename
filename就是可執行文件或腳本的名字,“...”就是省略的文件的部分路徑,需要你自己補上。每一個可執行文件或腳本都要這樣做一遍。如果你所復制的文件都是可執行文件或腳本的話,也可以一次性批量地操作:
        sudo chmod -R +x /usr/local/fuwushe

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM