使用chmod命令可以改變權(quán)限。下面這個(gè)例子顯示了如何使用chmod命令來改變r(jià)eadme.txt文件的權(quán)限。
假設(shè)下面是readme.txt文件的初始權(quán)限設(shè)置:
-rw-rw-r-- 1 winda winda 39 8月 11 12:04 readme.txt
如果是這個(gè)文件的所有者或者登錄為根用戶身份,則可以改變所有者、組群和其他人的權(quán)限。初始時(shí),從上面的分析可以看出,這個(gè)readme.txt文件的所有者和組群可以讀取和寫入文件(rw-),組群之外的任何人只能讀取文件(r--)。
文件權(quán)限是一種安全措施。無論何時(shí)允許其他人讀取、寫入或執(zhí)行文件,都在增加文件被篡改或刪除的危險(xiǎn)。作為一種基本原則,應(yīng)該只給那些真正需要這些文件的人以讀寫權(quán)限。
在下面的例子中,想給每個(gè)人以寫入readme.txt文件的權(quán)限,因此他們可以讀取文件,在其中加注,并保存文件。這意味著必須改變文件權(quán)限中的“其他人”部分。
此時(shí)需要在shell或終端提示下輸入:
chmod o+w readme.txt
o+w命令參數(shù)告訴系統(tǒng)想給其他人寫入文件readme.txt的權(quán)限。要查看結(jié)果,再次列出文件的細(xì)節(jié)。此時(shí),這個(gè)文件的用戶訪問權(quán)限就如下所示了(在第3列中多了一個(gè)w):
-rw-rw-rw- 1 winda winda 39 3月 11 12:04 readme.txt
現(xiàn)在,每個(gè)人都可以讀取和寫入這個(gè)文件了。
要從readme.txt中刪除組群和其他人的讀寫權(quán)限,使用chmod命令來取消讀取和寫入這兩個(gè)的權(quán)限。
命令如下:
chmod go -rw readme.txt
通過輸入go-rw參數(shù)告訴系統(tǒng)刪除文件readme.txt中組群和其他人的讀取和寫入權(quán)限。再次通過 ls -1命令列出的結(jié)果如下:
-rw------- 1 winda winda 39 3月 11 12:04 readme.txt
綜上所述,當(dāng)想用chmod命令來改變權(quán)限時(shí),文件的用戶身份主要有如下幾類:
u:擁有文件的用戶(所有者);
g:所有者所在的組群;
o:其他人(不是所有者或所有者的組群);
a:每個(gè)人或全部(u、g、和o)。
用戶所具有的文件訪問權(quán)限類型如下:
r:讀取權(quán);
w:寫入權(quán);
x:執(zhí)行權(quán)。
文件權(quán)限配置行為有如下幾類:
+:添加權(quán)限;
-:刪除權(quán)限;
=:使它成為惟一權(quán)限。
從文件readme.txt中刪除所有權(quán)限(包括每個(gè)人的權(quán)限)的命令如下:
chmod a -rwx readme.txt
現(xiàn)在,來看看是否還能夠使用cat readme.txt命令來讀取這個(gè)文件,它所返回的輸出應(yīng)如下所示:
cat: readme.txt: Permission denied
刪除所有的權(quán)限,包括自己的,會(huì)成功地鎖住這個(gè)文件。但是由于這個(gè)文件屬于用戶,可以隨時(shí)使用以下命令把它的權(quán)限改回來。命令如下:
chmod u+rw readme.txt
使用命令cat readme.txt來試試作為文件所有者是否還能夠讀取該文件。
這里是幾個(gè)可以用在chmod命令設(shè)置上的常用例子:
g+w:為組群添加寫入權(quán);
o-rwx:刪除其他人的所有權(quán)限;
u+x:允許文件所有者執(zhí)行這個(gè)文件;
a+rw:允許每個(gè)人讀取并寫入文件;
ug+r:允許所有者和組群讀取文件;
g=rx:只允許組群讀取和執(zhí)行(不能寫入)。
最后,介紹一下恢復(fù)組群的權(quán)限的方法。命令如下:
chmod ug+x tigger
現(xiàn)在,如果用ls -dl命令檢查一下,會(huì)發(fā)現(xiàn)只有其他人(others)被拒絕了到目錄tigger的訪問權(quán)。