chmod 是一條在Unix系統(tǒng)中用于控制用戶對文件的權(quán)限的命令
chmod是一條在Unix系統(tǒng)中用于控制用戶對文件的權(quán)限的命令(changemode單詞前綴的組合)和函數(shù)邮丰。只有文件所有者和超級用戶可以修改文件或目錄的權(quán)限享扔⌒猎铮可以使用絕對模式,符號模式指定文件的權(quán)限支鸡。
用法
chmod使用語法
$ chmod [options]mode[,mode]file1[file2...]
使用ls命令的查看文件或目錄的屬性
$ ls -lfile
八進(jìn)制語法
chmod命令可以使用八進(jìn)制數(shù)來指定權(quán)限料仗。文件或目錄的權(quán)限位是由9個權(quán)限位來控制鸭巴,每三位為一組,它們分別是文件所有者(user)的讀巡通、寫尘执、執(zhí)行,用戶組(group)的讀宴凉、寫誊锭、執(zhí)行以及(other)其它用戶的讀、寫弥锄、執(zhí)行丧靡。歷史上蟆沫,文件權(quán)限被放在一個比特掩碼中,掩碼中指定的比特位設(shè)為1温治,用來說明一個類具有相應(yīng)的優(yōu)先級饭庞。
chmod的八進(jìn)制語法的數(shù)字說明;
r 4
w 2
x 1
- 0
所有者的權(quán)限用數(shù)字表達(dá):屬主的那三個權(quán)限位的數(shù)字加起來的總和熬荆。如rwx 舟山,也就是4+2+1 ,應(yīng)該是7卤恳。
用戶組的權(quán)限用數(shù)字表達(dá):屬組的那個權(quán)限位數(shù)字的相加的總和累盗。如rw- ,也就是4+2+0 纬黎,應(yīng)該是6幅骄。
其它用戶的權(quán)限數(shù)字表達(dá):其它用戶權(quán)限位的數(shù)字相加的總和。如r-x 本今,也就是4+0+1 拆座,應(yīng)該是5。
例如修改文件myfile的權(quán)限
$ chmod 664 myfile
$ ls -l myfile
-rw-rw-r--? 1? 57 Jul? 3 10:13? myfile
符號模式
使用符號模式可以設(shè)置多個項(xiàng)目:who(用戶類型)冠息,operator(操作符)和permission(權(quán)限),每個項(xiàng)目的設(shè)置可以用逗號隔開挪凑。 命令chmod將修改who指定的用戶類型對文件的訪問權(quán)限,用戶類型由一個或者多個字母在who的位置來說明,如who的符號模式表所示:
who用戶類型說明
uuser文件所有者
ggroup文件所有者所在組
oothers所有其他用戶
aall所用用戶, 相當(dāng)于ugo
operator的符號模式表:
Operator說明
+為指定的用戶類型增加權(quán)限
-去除指定用戶類型的權(quán)限
=設(shè)置指定用戶權(quán)限的設(shè)置逛艰,即將用戶類型的所有權(quán)限重新設(shè)置
permission的符號模式表:
模式名字說明
r讀設(shè)置為可讀權(quán)限
w寫設(shè)置為可寫權(quán)限
x執(zhí)行權(quán)限設(shè)置為可執(zhí)行權(quán)限
X特殊執(zhí)行權(quán)限只有當(dāng)文件為目錄文件躏碳,或者其他類型的用戶有可執(zhí)行權(quán)限時,才將文件權(quán)限設(shè)置可執(zhí)行
ssetuid/gid當(dāng)文件被執(zhí)行時散怖,根據(jù)who參數(shù)指定的用戶類型設(shè)置文件的setuid或者setgid權(quán)限
t粘貼位設(shè)置粘貼位菇绵,只有超級用戶可以設(shè)置該位,只有文件所有者u可以使用該位
符號模式實(shí)例
對目錄的所有者u和關(guān)聯(lián)組g增加讀r和寫w權(quán)限:
$chmod ug+rw mydir$ ls -ld mydirdrw-rw----? 2 unixguy? uguys? 96 Dec 8 12:53 mydir
對文件的所有用戶ugo刪除寫w權(quán)限:
$chmod a-w myfile$ ls -l myfile-r-xr-xr-x? 2 unixguy? uguys 96 Dec 8 12:53 myfile
對mydir的所有者u和關(guān)聯(lián)組g設(shè)置成讀r和可執(zhí)行x權(quán)限:
$chmod ug=rx mydir$ ls -ld mydirdr-xr-x---2 unixguy? uguys 96 Dec 8 12:53 mydir
命令使用實(shí)例
命令說明
chmod a+rfile增加讀權(quán)限對file的所有用戶
chmod a-xfile刪除執(zhí)行權(quán)限對file的所有用戶
chmod a+rwfile增加讀寫權(quán)限對file的所有用戶
chmod +rwxfile增加讀寫執(zhí)行權(quán)限對file的所有用戶
chmod u=rw,go=file設(shè)置讀寫權(quán)限對file的所有者镇眷,清空所有權(quán)限對file的用戶組和其他用戶
chmod -R u+r,go-rdocs對目錄docs和其子目錄層次結(jié)構(gòu)中的所有文件增加所有用戶的讀權(quán)限咬最,而對用戶組和其他用戶刪除讀權(quán)限
chmod 664file設(shè)置讀寫權(quán)限對file的所有者和用戶組, 為其其他用戶設(shè)置讀權(quán)限
chmod 0755file相當(dāng)于u=rwx (4+2+1),go=rx (4+1 & 4+1)。0沒有特殊模式欠动。
chmod 4755file4設(shè)置了設(shè)置用戶ID位永乌,剩下的相當(dāng)于 u=rwx (4+2+1),go=rx (4+1 & 4+1)。
find path/ -type d -exec chmod a-x {} \;刪除可執(zhí)行權(quán)限對path/以及其所有的目錄(不包括文件)的所有用戶具伍,使用‘-type f'匹配文件
find path/ -type d -exec chmod a+x {} \;允許所有用戶瀏覽或通過目錄path/