公號(hào):軟測(cè)小生(ruancexiaosheng)
首先來(lái)查看一下當(dāng)前目錄下的文件內(nèi)容吧
ls -l 查看當(dāng)前目錄下的文件列表
ls -l xxx.xxx (xxx.xxx是文件名) 查看指定的文件</pre>
我們可以看到文件的權(quán)限,-rw-rw-r-- 蓖墅,一共有10位數(shù)梳庆。
其中: 最前面那個(gè) - 代表的是類(lèi)型(詳細(xì)如下面貼圖所示)
中間那三個(gè) rw- 代表的是所有者(user)
然后那三個(gè) rw- 代表的是組群(group)
最后那三個(gè) r-- 代表的是其他人(other)
然后我再解釋一下后面那9位數(shù):
**r **表示文件可以被讀(read)
**w **表示文件可以被寫(xiě)(write)
**x **表示文件可以被執(zhí)行(如果它是程序的話(huà))
**- **表示相應(yīng)的權(quán)限還沒(méi)有被授予
文件和文件夾操作權(quán)限:
權(quán)限 | 簡(jiǎn)寫(xiě) | 對(duì)普通文件的作用 | 對(duì)文件夾的作用 |
---|---|---|---|
讀取 | r | 查看文件內(nèi)容 | 列出文件夾中的文件(ls) |
寫(xiě)入 | w | 修改文件內(nèi)容 | 在文件夾中刪除、添加或重命名文件(夾) |
執(zhí)行 | x | 文件可以作為程序執(zhí)行 | cd 到文件夾 |
圖解:
需要注意的一點(diǎn)是,一個(gè)目錄同時(shí)具有讀權(quán)限和執(zhí)行權(quán)限才可以打開(kāi)并查看內(nèi)部文件孟害,而一個(gè)目錄要有寫(xiě)權(quán)限才允許在其中創(chuàng)建其它文件,這是因?yàn)槟夸浳募?shí)際保存著該目錄里面的文件的列表等信息。
補(bǔ)充:
特殊權(quán)限SUID虑乖、SGID、Sticky
在 linux 系統(tǒng)中還有三種與用戶(hù)身份無(wú)關(guān)的三個(gè)文件權(quán)限屬性晾虑。即SUID疹味、SGID和Sticky。 SUID(Set User ID, 4):
該屬性只對(duì)有執(zhí)行權(quán)限的文件有效帜篇,對(duì)目錄無(wú)效糙捺。執(zhí)行具有SUID權(quán)限的程序時(shí),引發(fā)的進(jìn)程的所有者是程序文件的所有者笙隙,而不是啟動(dòng)程序的用戶(hù)(除非二者是同一個(gè)人)洪灯。比如,如果一個(gè)程序的所有者是root且具有SUID屬性竟痰,一個(gè)普通用戶(hù)執(zhí)行此程序時(shí)签钩,如同root執(zhí)行此程序一樣。(請(qǐng)注意該屬性對(duì)Shell腳本程序無(wú)效)該屬性為一些特殊程序(如lpr)的啟動(dòng)帶來(lái)了方便凯亮。但有時(shí)也帶來(lái)了安全隱患:比如一個(gè)具有SUID屬性的程序如果在執(zhí)行時(shí)運(yùn)行了一個(gè)shell边臼,那么用戶(hù)可以籍此得到系統(tǒng)的最高權(quán)限。SUID可用s表示假消,如:
$ ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root 47032 Feb 16 2014 /usr/bin/passwd
SGID(Set Group ID, 4):
對(duì)于可執(zhí)行文件柠并,SGID與SUID類(lèi)似,引發(fā)的進(jìn)程的所有組是程序文件所屬的組。對(duì)于目錄臼予,SGID屬性會(huì)使目錄中新建文件的所屬組與該目錄相同鸣戴。SGID也可以用s表示,如:
$ ls -l /var
drwxrwsr-x 2 root staff 4096 Apr 10 2014 local
drwxrwxr-x 15 root syslog 4096 Apr 4 19:57 log
Sticky, 1:
僅對(duì)目錄有效粘拾。帶sticky屬性的目錄下的文件或目錄可以被其擁有者刪除或改名窄锅。常利用sticky屬性創(chuàng)建這樣的目錄:組用戶(hù)可以在此目錄中創(chuàng)建新文件、修改文件內(nèi)容缰雇,但只有文件所有者才能對(duì)自己的文件進(jìn)行刪除或改名入偷。如系統(tǒng)中的/tmp文件夾。在屬性字符串中械哟,通常用t表示疏之。
$ ls -l /
drwxrwxrwt 8 root root 4096 Apr 4 23:57 tmp
修改文件和文件夾對(duì)應(yīng)用戶(hù)的操作權(quán)限
如果你有一個(gè)自己的文件不想被其他用戶(hù)讀、寫(xiě)暇咆、執(zhí)行锋爪,那么就需要對(duì)文件的權(quán)限做修改,這里有兩種方式:
方式一:二進(jìn)制數(shù)字表示
每個(gè)文件的三組權(quán)限:
u 代表所有者(user)
g 代表所有者所在的組群(group)
o 代表其他人爸业,但不是u和g (other)
a 代表全部的人其骄,也就是包括u,g和o
根據(jù)上圖扯旷,其中:rwx也可以用數(shù)字來(lái)代替
r ------------4
w -----------2
x ------------1
- ------------0
當(dāng)大家都明白了上面的東西之后拯爽,那么我們常見(jiàn)的以下的一些權(quán)限就很容易都明白了:
-rw------- (600) 只有所有者才有讀和寫(xiě)的權(quán)限
-rw-r--r-- (644) 只有所有者才有讀和寫(xiě)的權(quán)限,組群和其他人只有讀的權(quán)限
-rwx------ (700) 只有所有者才有讀薄霜,寫(xiě)某抓,執(zhí)行的權(quán)限
-rwxr-xr-x (755) 只有所有者才有讀,寫(xiě)惰瓜,執(zhí)行的權(quán)限,組群和其他人只有讀和執(zhí)行的權(quán)限
-rwx--x--x (711) 只有所有者才有讀汉矿,寫(xiě)崎坊,執(zhí)行的權(quán)限,組群和其他人只有執(zhí)行的權(quán)限
-rw-rw-rw- (666) 每個(gè)人都有讀寫(xiě)的權(quán)限
-rwxrwxrwx (777) 每個(gè)人都有讀寫(xiě)和執(zhí)行的權(quán)限
上實(shí)際操作
查看了test的權(quán)限洲拇,是所有者擁有讀奈揍、寫(xiě)、執(zhí)行的權(quán)限:
然后向文件里添加了些內(nèi)容赋续,更改了下權(quán)限(700:-rwx------)男翰,并嘗試在shiyanlou(所有者)下讀取文件,可以讀取纽乱。
更換到其他用戶(hù)Peter,如下圖再?lài)L試讀取蛾绎,顯示是權(quán)限不夠,無(wú)法讀取。
方式二:加減賦值操作
u 代表所有者(user)
g 代表所有者所在的組群(group)
o 代表其他人租冠,但不是u和g (other)
a 代表全部的人鹏倘,也就是包括u,g和o
- 和 - 分別表示增加和去掉相應(yīng)的權(quán)限顽爹。+號(hào)一般不顯示(初學(xué)練手時(shí)我還是會(huì)加上)
在終端輸入:
chmod o+w xxx.xxx
chmod o w xxx.xxx 表示給其他人授予寫(xiě)xxx.xxx這個(gè)文件的權(quán)限
chmod go-rw xxx.xxx 表示刪除xxx.xxx中組群和其他人的讀和寫(xiě)的權(quán)限
chmod ug-r xxx.xxx
修改文件或文件夾的擁有者/所屬的組
使用命令chown改變目錄或文件的所有權(quán)(所有者/組)
文件與目錄不僅可以改變權(quán)限纤泵,其所有權(quán)及所屬用戶(hù)組也能修改,和設(shè)置權(quán)限類(lèi)似镜粤,用戶(hù)可以通過(guò)圖形界面來(lái)設(shè)置捏题,或執(zhí)行chown命令來(lái)修改。
我們先執(zhí)行l(wèi)s -l看看目錄情況:
可以看到test文件的所屬用戶(hù)組為root肉渴,所有者為root涉馅。 執(zhí)行下面命令,把上圖中test文件的所有權(quán)轉(zhuǎn)移到用戶(hù)peter:
# chown peter test
要改變所屬組黄虱,將test文件從root組中轉(zhuǎn)移到組Peter中稚矿,可使用下面命令:
# chown :peter test
將所屬的用戶(hù)和組一起更改
將文件夾或文件test的擁有者修改成shiyanlou,所屬的組修改成shiyanlou捻浦,如下圖: