linux可以改變文件的權(quán)限。在linux中,可以利用chmod命令來(lái)修改文件權(quán)限,語(yǔ)法“chmod [-cfvR] [–help] [–version] mode file…”;chmod會(huì)根據(jù)mode值來(lái)更改每個(gè)給定文件的文件模式位,mode值可以是要進(jìn)行更改的符號(hào)模式表示,也可以是表示新模式位的位模式的八進(jìn)制數(shù)。
本教程操作環(huán)境:linux7.3系統(tǒng)、Dell G3電腦。
文件權(quán)限對(duì)于一個(gè)系統(tǒng)是很重要的,且每個(gè)文件都設(shè)定了針對(duì)不同用戶的訪問(wèn)權(quán)限,那么,是否可以手動(dòng)修改文件的訪問(wèn)權(quán)限呢?
在linux中,可以利用chmod命令來(lái)修改文件權(quán)限。下面帶大家了解一下chmod命令。
一、chmod命令簡(jiǎn)介
Linux chmod(英文全拼:change mode)命令是控制用戶對(duì)文件的權(quán)限的命令。
chmod根據(jù)mode更改每個(gè)給定文件的文件模式位,mode可以是要進(jìn)行更改的符號(hào)模式表示,也可以是表示新模式位的位模式的八進(jìn)制數(shù)。
符號(hào)模式的格式為[ugoa…][±=][perms…][…]
,其中perms為集合rwxXst中的零個(gè)或多個(gè)字母,或集合ugo中的單個(gè)字母。可以給出多個(gè)符號(hào)模式,用逗號(hào)分隔。
字母ugoa的組合控制哪些用戶對(duì)文件的訪問(wèn)將被更改:擁有該文件的用戶(u)、文件組中的其他用戶(g)、不在文件組中的其他用戶(o)或所有用戶(A)。
如果這些都沒(méi)有給出,效果就好像給出了a,但umask中設(shè)置的位不受影響。chmod從不更改符號(hào)鏈接的權(quán)限;chmod系統(tǒng)調(diào)用無(wú)法更改其權(quán)限。
二、權(quán)限介紹
??Linux/Unix 的文件調(diào)用權(quán)限分為三級(jí) : 文件所有者(Owner)、用戶組(Group)、其它用戶(Other Users)。
??只有文件所有者和超級(jí)用戶可以修改文件或目錄的權(quán)限??梢允褂媒^對(duì)模式(八進(jìn)制數(shù)字模式),符號(hào)模式指定文件的權(quán)限。
權(quán)限符號(hào) | 名字 | 說(shuō)明 |
---|---|---|
r | 讀 | 設(shè)置為可讀權(quán)限 |
w | 寫(xiě) | 設(shè)置為可寫(xiě)權(quán)限 |
x | 執(zhí)行權(quán)限 | 設(shè)置為可執(zhí)行權(quán)限 |
X | 特殊執(zhí)行權(quán)限 | 只有當(dāng)文件為目錄文件,或者其他類(lèi)型的用戶有可執(zhí)行權(quán)限時(shí),才將文件權(quán)限設(shè)置可執(zhí)行 |
s | setuid/gid | 當(dāng)文件被執(zhí)行時(shí),根據(jù)who參數(shù)指定的用戶類(lèi)型設(shè)置文件的setuid或者setgid權(quán)限 |
t | 粘貼位 | 設(shè)置粘貼位,只有超級(jí)用戶可以設(shè)置該位,只有文件所有者u可以使用該位 |
三、使用示例
1、獲取命令幫助信息
[root@s141 ~]# chmod --help
2、查看命令版本
[root@s141 ~]# chmod --version chmod (GNU coreutils) 8.22 Copyright ? 2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by David MacKenzie and Jim Meyering.
3、給所有用戶增加文件執(zhí)行權(quán)限
4、取消其他用戶的執(zhí)行權(quán)限
5、使用八進(jìn)制數(shù)值整體設(shè)置權(quán)限
[root@s141 ~]# chmod 751 1.txt
6、遞歸設(shè)置目錄及文件權(quán)限
[root@s141 ~]# chmod -R 760 /home/test
7、顯示權(quán)限修改的詳細(xì)信息
[root@s141 ~]# chmod -Rv 760 /home/test mode of ‘/home/test’ retained as 0760 (rwxrw----) mode of ‘/home/test/.bash_logout’ retained as 0760 (rwxrw----) mode of ‘/home/test/.bash_profile’ retained as 0760 (rwxrw----) mode of ‘/home/test/.bashrc’ retained as 0760 (rwxrw----) mode of ‘/home/test/1’ retained as 0760 (rwxrw----) mode of ‘/home/test/2’ retained as 0760 (rwxrw----)
8、只有權(quán)限發(fā)生改變時(shí)顯示
9、使用符號(hào)設(shè)置權(quán)限
[root@s141 ~]# chmod o=r,u=rwx,g=rx 1.txt
10、給目錄設(shè)置t權(quán)限
四、使用語(yǔ)法及參數(shù)說(shuō)明
1、使用語(yǔ)法
chmod [-cfvR] [--help] [--version] mode file...
用法一:chmod 權(quán)限 文件
用法二:chmod 參數(shù) 權(quán)限 文件
2、參數(shù)說(shuō)明
參數(shù) | 參數(shù)說(shuō)明 |
---|---|
-c | 若該文件權(quán)限確實(shí)已經(jīng)更改,才顯示其更改動(dòng)作 |
-f | 若該文件權(quán)限無(wú)法被更改也不要顯示錯(cuò)誤訊息 |
-v | 顯示權(quán)限變更的詳細(xì)資料 |
-R | 對(duì)目前目錄下的所有文件與子目錄進(jìn)行相同的權(quán)限變更(即以遞歸的方式逐個(gè)變更) |
–help | 顯示輔助說(shuō)明 |
–version | 顯示版本 |
3、操作符說(shuō)明
Operator | 說(shuō)明 |
---|---|
+ | 為指定的用戶類(lèi)型增加權(quán)限 |
– | 去除指定用戶類(lèi)型的權(quán)限 |
= | 設(shè)置指定用戶權(quán)限的設(shè)置,即將用戶類(lèi)型的所有權(quán)限重新設(shè)置 |
4、用戶符號(hào)
who | 用戶類(lèi)型 | 說(shuō)明 |
---|---|---|
u | user | 文件所有者 |
g | group | 文件所有者所在組 |
o | others | 所有其他用戶 |
a | all | 所用用戶, 相當(dāng)于 ugo |