Linux怎么把目录设置群组,linux设置目录和文件使用权限
ext2fs文件系統中的目錄及文件,可依實際需要來設置可讀取、可寫入與可執行等權限。以下我們就來了解文件和目錄的權限設置。
ext2fs文件系統中的目錄及文件,可依實際需要來設置可讀取、可寫入與可執行等權限。以下我們就來了解文件和目錄的權限設置,首先請執行ls –l指令,看看現在的狀況:
lrwxrwxrwx 1 root root 10 Aug 18 …………
權限標識代號 擁有者 群組名稱 文件與目錄的相關信息
權限的意義
當執行ls –l 或ls –al 指令時所顯示的結果,最前面第2-10字符是用來標識權限,第1個字符一般用于區別文件和目錄:
d:表示這是一個目錄,事實上在ext2fs中,目錄是一種特殊的文件。
-:表示這是一個普通的文件;
l:表示這是一個符號鏈接的文件,實際上它指向另一個文件,詳細第13-5節。
b、c:分別代表區塊設備和其它的外圍設備,是特殊型態的文件。
S、p:這些文件關系到系統的數據結構和管線,通常很少見到。
一般權限
第2-10字符當中每3個為一組,左邊3個字符擁有者權限,中間3個字符夫示與擁有者同一群組的用戶之權限,右邊3個字符是其他用戶的權限。關于這3個一組共9個字符,其代表意義如下:
r(Read,讀取):對文件而言該用戶具有讀取文件內容的權限;對目錄來說該用戶有具有瀏覽目錄內容的權限;
w(Write,寫入):對文件該用戶具有新增、修改文件內容的權限;對目錄來說該用戶具有刪除、移動目錄內文件的權限。
x(eXecute,執行):對文件而言該用戶具有執行文件的權限,對目錄來說該用戶具有進入目錄的權限。
-:表示不具有該項權限。
我們舉些范例說明會更清楚:
-rwx- - - - - -:文件擁有者對文件具讀取、寫入與執行的權限。
-rwxr- -r- -:文件擁有者具有讀、寫與執行的權限;同群組及其它用戶則具有讀取的權限。
-rw-rw-r-x:文件擁有者與同群組的用戶對文件具有讀寫的權限,而其他用戶僅具有讀取和執行的權限。
drwx- -x- -xx:目錄擁有者具有讀寫與進入目錄的權限,同群組及其他用戶僅能進入該目錄,卻無法讀取任何數據。
drwx- - - - - -:除了目錄擁有者具有完整的權限之外,其他用戶對該目錄沒有任何權限。
在前一章提到每個用戶都應擁有自己的專屬目錄,通常集中放置于/home目錄下,這些專屬目錄的默認權限為:
請注意上面kdeuser、linuxCon和UserAdd用位用戶用不一樣的方式新增用戶帳號,默認權限會有所不同。如果您linuxCon程序或執行useradd指令,默認的權限是“rwx- - - - - -”,假若使用Kuer程序來建立帳號,則默認權限變成“rwxr-xr-x”。前者表示目錄擁有者本身具備所有權限,而同群組與其他用戶無法進入該目錄。后者代表群組與其他用戶權具有進入目錄的權限,卻無法得知里面有哪些文件。
Root帳號執行mkdir指令所建立的目錄,其權限默認為“rwxr-xr-x”,其它帳號的用戶執行該指令建立之目錄,默認的權限是“rwxrwxr-x”。你可以視實際需求而定,去變更目錄的權限。
此外,默認的權限可用umask指令更改,用法非常簡單,只需umask 777指令,便代表遮蔽所有的權限,因而之后建立的文件或目錄其權限會變成000,依此類推,通常root帳號搭配的數值為027、022與077,一般用戶則是采用002,這樣所產生的權限依序是755、750、700和775。有關權限的數值標識法,后面將會詳細說明。
(注意:umask無法遮蔽特殊權限,關于特殊的信息,請見后面)
在用戶登入系統時,用戶環境就會自動umask指令,來決定文件、目錄之默認權限,這個部份的相關設置位于/etc/profile文件里。
現行目錄與上層目錄
“.”和“..”是做什么用的?相信用過dos的用戶都很清楚,經常到處ftp的用戶也熟悉。前者代表這個目錄,后者代表上一層目錄。這部份在很多操作系統里都是一樣。
需要留意Unix之類的操作系統采用絕對路私徑,換成dos的講法來說明,就是當用戶招待一個程序時,系統會去搜索path、append所指定的路徑,而不會尋找現有所處的目錄是否有這個程序。用戶要執行現行目錄中的程序,必須在程序前面標明./或干脆指出完整的路徑。
特殊權限
其實文件與目錄的權限設置不只如此,還有所謂的特殊權限存在。由于特殊權限會擁有一些“特權”,因而用戶若無特殊需要,不應該去打開這些權限,避免安全方面出現嚴重漏洞、甚至摧毀系統。
s或S(SUID,setUID):一個可執行的文件搭配這個權限,該文件便能得到特權,任意存取該文件擁有者能使用的全部系統資源。注意具備SUID權限的文件,怪客經常利用這種特性,以SUID配上root帳號擁有者,無聲無息地在系統里開扇后門,供日后進出使用。
s或S(SUID,setGID):套用在文件上面,其效果和SUID相同,只不過將文件擁有者換成群組,該文件就可以任意存取整個群組所能使用的系統資源。套用在目錄上面,則所有被復制到這個目錄下的文件,其所屬的群組都會被重設為和這個目錄一樣,除非在復制文件時加上-p(preserve,保留文件屬性)的參數,。才能保留原來所屬的群組設置。
t或T(sticky,粘著):曾提到/tmp和/var/tmp兩個目錄,開放供所有用戶暫時存放文件,亦即每位用戶都擁有完整的權限進入該目錄,去瀏覽、刪除和移動文件。假使碰到某位用戶存心搞鬼,恣意亂刪其他用戶放置的文件。暫存目錄將形同危險地帶,造成沒有任何用戶能夠安心利用這些目錄。我們把暫存目錄的sticky權限找開之后,存放在該目錄的文件,僅準許其擁有者去刪除、移動它,避免不守法的用戶之無故騷擾。假使對文件啟用這個權限,則該文件的最后更新時間(last modified time)將不會改變。
注意:Linux系統下“執行文件”其擴展名毋須非.exe不可,只要加上可執行的權限,該文件就是執行文件。Linux也沒有隱藏屬性、系統屬性的問題,在權限許可下什么都能夠看到。
因為SUID、SGID、Sticky占用X的位置來表示,所以在表示上有大小寫之分,假若同時設打開執行權限和SUID、SGID與Sticky,權限標識字符是小寫的形式:
-rwsr-sr-t 1 root root 9Aug 19 21:47 showme
倘若關閉執行的權限,則標識字符會變成大寫:
-rwSr-Sr-T 1 root root 9Aug 19 21:47 showme
改變權限
要更改文件或目錄的權限,有多種方法可以選擇,下面我們將一一介紹。
文件管理員
在linux中,圖形界面的文件管理員能夠輕易地改變文件、目錄的權限,無訟使用GNOME的gmc或KDE的kfm都可:
方法:在要改變的文件和目錄上面點擊右鍵/屬性/權限
數字改變法
文件或目錄的權限標識,是用“rwx”這3個字符重復3次形成9個字符,分別代表擁有者、群組和其他用戶的權限。有些時候9個字符似乎過于麻煩,因此還有另外一種方法,是以數字來表示權限,而且僅需3個數字就能搞定。
r:對應數值為4;
w:對應數值為2;
x:對應數值為1;
-:對應數值為0。
遵循上述法則,“rwx”合起來就是4+2+1=7,一個“rwxrwxrwx”權限全開的文件,它的數字標識為“777”;而完全不開放的權限文件“- - - - - - - - - ”,它的數值標識為“000”。下面我們舉幾個例子說明:
-rwx- - - - - :等于數字標識700;
-rwxr- -r- - :等于數字標識744;
-rw-rw-r-x:等于數字標識665;
drwx- -x- -x:等于數字標識711;
drwx- - - - - -等于數字標識700。
文字模式下可執行chmod指令去改變文件與目錄的權限,我們先執行ls –l指令觀察目錄的情況。
執行下列指令更改nohup.out文件的權限:
[*@* *]$chmod 777 nohup.out 將權限改為777
[*@* *]$ ls –l 再觀察一次目錄
我們可以看到nohup.out文件的權限已經更改為“rwxrwxrwx”。
假若要加上特殊權限,就必須使用4位數字方能表示。特殊權限的對應數值為:
s或S(SUID):對應數值為4。
s或S(SGID):對應數值為2。
t或T:對應數值為1。
用同樣的方法更改文件權限即可。
文字改變法
除了數字表示可以更改權限之外,還能使用文字表示法去設置權限。第2-10字符亦能以“rwx”每3個一組,分別用“u”“g”與“o”來表示:
用chmod指令配合文字參數就能改變權限設置,下面舉例說明:
“u+rw”:賦予文件擁有者讀取和寫入的權限。
“g-x”:將同群組用戶的執行權限取消。
“g+x,o+rx”:賦予同組用戶執行的權限,共他用戶讀取、執行之權限。
“u+rwx,g-w,o-w”打開文件或目錄擁有者完整的權限,并且關閉同群組其用戶的執行權限。
“o=rx”: 賦予其他用戶讀取和執行的權限。
“ugo+x”或“a+x”:同時打開擁有者、群組、其他用戶的執行權限,“ugo”可以合稱為“a”
“+x”:和“ugo+x”、“a+x”的意義相同,沒有指定u、g、o或a時,即代表全部。
“o+T”:打開sticky特殊權限。
“u+s,g+s”打開SUID和SGID特殊權限。
假若想一次更改某個目錄下的所有文件權限,包括子目錄中的文件權限也要更改,請使用參數-R表示運行遞歸處理,有無遞歸處理的差別在于:
chmod 777 cassia TEST:僅把cassia TEST目錄的權限改為“rwxrwxrwx”。
Chmod –R 777 cassia TEST:將整個cassia TEST目錄與世隔絕當中的文件和子目錄之權限統統改成“rwxrwxrwx”。
Chmod指令
Chmod指令可用來把文件或目錄移轉給其他的用戶或群組,執行的指令格式為:
[*@* *]# chmod “指定該文件的擁有者”. “指定該文件所屬的群組” “文件”
只要變更擁有者,請執行[*@* *]# chmod “指定該文件的擁有者” “文件”;僅需變換所屬群組,則執行[*@* *]# chmod “指定該文件所屬的群組
總結
以上是生活随笔為你收集整理的Linux怎么把目录设置群组,linux设置目录和文件使用权限的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: strlen函数strcpy函数strc
- 下一篇: java如何实现信号量_使用二进制信号量