Linux文件和文件夾權限操作方法
Linux 文件權限
首先來查看一下當前目錄下的文件內容吧
ls -l 查看當前目錄下的文件列表
ls -l xxx.xxx (xxx.xxx是文件名) 查看指定的文件
我們可以看到文件的權限,-rw-rw-r-- ,一共有10位數(shù)。
其中: 最前面那個 - 代表的是類型(詳細如下面貼圖所示)
- 中間那三個 rw- 代表的是所有者(user)
- 然后那三個 rw- 代表的是組群(group)
- 最后那三個 r-- 代表的是其他人(other)
然后我再解釋一下后面那9位數(shù):
- r 表示文件可以被讀(read)
- w 表示文件可以被寫(write)
- x 表示文件可以被執(zhí)行(如果它是程序的話)
- 表示相應的權限還沒有被授予
文件和文件夾操作權限:
權限 | 簡寫 | 對普通文件的作用 | 對文件夾的作用 |
---|---|---|---|
讀取 | r | 查看文件內容 | 列出文件夾中的文件(ls) |
寫入 | w | 修改文件內容 | 在文件夾中刪除、添加或重命名文件(夾) |
執(zhí)行 | x | 文件可以作為程序執(zhí)行 | cd 到文件夾 |
需要注意的一點是,一個目錄同時具有讀權限和執(zhí)行權限才可以打開并查看內部文件,而一個目錄要有寫權限才允許在其中創(chuàng)建其它文件,這是因為目錄文件實際保存著該目錄里面的文件的列表等信息。
補充:
特殊權限SUID、SGID、Sticky
在 linux 系統(tǒng)中還有三種與用戶身份無關的三個文件權限屬性。即SUID、SGID和Sticky。
SUID(Set User ID, 4):
該屬性只對有執(zhí)行權限的文件有效,對目錄無效。執(zhí)行具有SUID權限的程序時,引發(fā)的進程的所有者是程序文件的所有者,而不是啟動程序的用戶(除非二者是同一個人)。比如,如果一個程序的所有者是root且具有SUID屬性,一個普通用戶執(zhí)行此程序時,如同root執(zhí)行此程序一樣。(請注意該屬性對Shell腳本程序無效)該屬性為一些特殊程序(如lpr)的啟動帶來了方便。但有時也帶來了安全隱患:比如一個具有SUID屬性的程序如果在執(zhí)行時運行了一個shell,那么用戶可以籍此得到系統(tǒng)的最高權限。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):
對于可執(zhí)行文件,SGID與SUID類似,引發(fā)的進程的所有組是程序文件所屬的組。對于目錄,SGID屬性會使目錄中新建文件的所屬組與該目錄相同。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:
僅對目錄有效。帶sticky屬性的目錄下的文件或目錄可以被其擁有者刪除或改名。常利用sticky屬性創(chuàng)建這樣的目錄:組用戶可以在此目錄中創(chuàng)建新文件、修改文件內容,但只有文件所有者才能對自己的文件進行刪除或改名。如系統(tǒng)中的/tmp文件夾。在屬性字符串中,通常用t表示。
$ ls -l / drwxrwxrwt 8 root root 4096 Apr 4 23:57 tmp
改文件和文件夾對應用戶的操作權限
如果你有一個自己的文件不想被其他用戶讀、寫、執(zhí)行,那么就需要對文件的權限做修改,這里有兩種方式:
方式一:二進制數(shù)字表示
每個文件的三組權限:
- u 代表所有者(user)
- g 代表所有者所在的組群(group)
- o 代表其他人,但不是u和g (other)
- a 代表全部的人,也就是包括u,g和o
- 根據(jù)上圖,其中:rwx也可以用數(shù)字來代替
- r ------------4
- w -----------2
- x ------------1
- - ------------0
當大家都明白了上面的東西之后,那么我們常見的以下的一些權限就很容易都明白了:
- -rw------- (600) 只有所有者才有讀和寫的權限
- -rw-r--r-- (644) 只有所有者才有讀和寫的權限,組群和其他人只有讀的權限
- -rwx------ (700) 只有所有者才有讀,寫,執(zhí)行的權限
- -rwxr-xr-x (755) 只有所有者才有讀,寫,執(zhí)行的權限,組群和其他人只有讀和執(zhí)行的權限
- -rwx--x--x (711) 只有所有者才有讀,寫,執(zhí)行的權限,組群和其他人只有執(zhí)行的權限
- -rw-rw-rw- (666) 每個人都有讀寫的權限
- -rwxrwxrwx (777) 每個人都有讀寫和執(zhí)行的權限
上實際操作
查看了test的權限,是所有者擁有讀、寫、執(zhí)行的權限:
然后向文件里添加了些內容,更改了下權限(700:-rwx------),并嘗試在shiyanlou(所有者)下讀取文件,可以讀取。
更換到其他用戶Peter,如下圖再嘗試讀取,顯示是權限不夠,無法讀取。
方式二:加減賦值操作
- u 代表所有者(user)
- g 代表所有者所在的組群(group)
- o 代表其他人,但不是u和g (other)
a 代表全部的人,也就是包括u,g和o
+ 和 - 分別表示增加和去掉相應的權限。+號一般不顯示(初學練手時我還是會加上)
在終端輸入:
chmod o+w xxx.xxx
chmod o w xxx.xxx 表示給其他人授予寫xxx.xxx這個文件的權限
chmod go-rw xxx.xxx 表示刪除xxx.xxx中組群和其他人的讀和寫的權限
chmod ug-r xxx.xxx
修改文件或文件夾的擁有者/所屬的組
使用命令chown改變目錄或文件的所有權(所有者/組)
注釋:這里說的斷斷續(xù)續(xù)的,將在學習下一個內容(用戶/組 增刪改查)之后補充
文件與目錄不僅可以改變權限,其所有權及所屬用戶組也能修改,和設置權限類似,用戶可以通過圖形界面來設置,或執(zhí)行chown命令來修改。
我們先執(zhí)行l(wèi)s -l看看目錄情況:
可以看到test文件的所屬用戶組為root,所有者為root。
執(zhí)行下面命令,把上圖中test文件的所有權轉移到用戶peter:
# chown peter test
要改變所屬組,將test文件從root組中轉移到組Peter中,可使用下面命令:
# chown :peter test
將所屬的用戶和組一起更改
將文件夾或文件test的擁有者修改成shiyanlou,所屬的組修改成shiyanlou,如下圖:
以上所述是小編給大家介紹的Linux文件和文件夾權限操作方法詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
相關文章
如何linux環(huán)境下配置環(huán)境變量過程圖解
這篇文章主要介紹了如何linux環(huán)境下配置環(huán)境變量過程圖解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-05-05Linux下幾種并發(fā)服務器的實現(xiàn)模式(詳解)
下面小編就為大家分享一篇Linux下幾種并發(fā)服務器的實現(xiàn)模式詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-12-12