7、權限管理

1、基本權限

一、權限介紹

在Linux系統中,文件具備三種身份,即屬主、屬組和其餘,每種身份對應可讀(r)、可寫(w)、可執行(x)三種權限。
用戶訪問文件時,首先判斷用戶是否爲文件的屬主,如果屬主則安照屬主權限訪問,若不是屬主,判斷用戶是否文件屬組的組成員,如果組成員,則安照組權限訪問,不然安照其餘人權限訪問文件。mysql

權限 文件 目錄
r權限 具備讀取文件內容權限,只能使用查看類命令cat、head、tail、less、more 具備瀏覽目錄和子目錄權限,僅僅能瀏覽目錄內的文件名,無其它操做權限
w權限 具備新增、修改文件內容權限,不能刪除文件,需參考上級目錄是否具備w權限 具備增長、刪除或修改目錄內文件名權限,不能進入目錄、不能複製目錄、不能刪除目錄、不能移動目錄
x權限 具備執行文件權限 具備訪問目錄內容權限,只能進入目錄,不能瀏覽、複製、移動、刪除
rw權限 能夠查看和編輯文件內容 能看,能寫,但沒法進入目錄
rx權限 容許查看和執行文件,當不能修改文件 容許瀏覽目錄文件及子目錄,容許在目錄內新建文件
rwx權限 能讀,能寫、能執行,當不能刪除,需參考上級目錄是否有w權限 能看,能寫,能進入目錄,能刪除內容,能寫入內容

對於文件來講,寫的權限和執行的權限,都須要有讀權限配合,若是想對文件進行操做,必須對文件賦予讀的權限;sql

對於目錄來講,寫的權限和讀的權限,都須要有執行權限配合,若是想對目錄進行操做,必須對目錄賦予執行的權限bash

一個普通文件默認權限: 644 保證屬主用戶對文件能夠編輯 保證其餘用戶能夠讀取文件內容
一個目錄文件默認權限: 755 保證屬主用戶對目錄進行編輯 保證其餘用戶能夠讀取目錄中的信息,能夠進入到目錄中less

二、權限設置

// 設置全部人權限ide

chmod a=[MODE] filename遞歸

// 設置用戶、組、其它人權限進程

chmod u=[MODE],g=[MODE],o=[MODE] filenameit

// 添加執行權限table

chmod u+x filenameclass

// 數字形式設置文件權限

chmod 644 filename

// 遞歸修改權限

chmod -R 755 dir/subdir

三、屬主屬組設置

chown [OPTION]... [OWNER][:[GROUP]] FILE...
如:
chown -R mysql:mysql /data/mysql

2、特殊權限

一、SUID權限

SUID權限讓普通用戶對可執行二進制文件,臨時擁有二進制文件的屬主權限,若是設置的二進制文件沒有執行權限,則SUID 權限爲S。SUID權限僅對二進制文件有效,對文件和目錄無效。
添加SUID權限
chmod 4755 /usr/bin/passwd 或chmod u+s /usr/bin/passwd

二、SGID權限

將目錄設置SGID權限後,在該目錄下建立目錄和文件,都與該目錄的屬組保持一致。
添加SGID權限
chmod 2755 dirname 或 chmod g+s dirname

三、SBIT權限

Sticky粘滯位僅對目錄有效,讓多個用戶具備讀寫權限,且只能刪除本身的文件。
添加SBIT權限
chmod 1755 /tmp 或 chmod o+t /tmp

四、權限屬性chattr

chattr用來修改文件系統的權限屬性
chattr [+-=] [選項] filename | dirname
a:讓文件或目錄僅可追加內容
i:不得更改文件或目錄

五、進程掩碼umask

umask設置文件和目錄的默認權限,系統默認umask=022,默認目錄權限777-022=755,默認文件權限666-022=644umask屬性在/etc/bashrc、/etc/profile、 ~/.bashrc、/.bash_profile

相關文章
相關標籤/搜索