3. 遮罩碼
4. linux安全上下文與特殊許可權
5. 檔案系統訪問控制列表facl
6. sudo
7. 管理命令
檔案的許可權主要針對三類物件進行定義:
加粗樣式每個檔案針對每個訪問者都定義了三種許可權:
許可權的二進位制與十進位制轉換:
//修改三類使用者的許可權:
//語法:chmod mode file,...
-r //遞迴修改許可權
//修改某類使用者或某些類使用者許可權:
//u,g,o,a(使用者類別)
//chmod 使用者類別=mode file,.....
//chmod 使用者類別=mode,使用者類別=mode file,.....
//修改某類的使用者某位或某些位許可權:
//u,g,o,a(使用者類別)
//chmod 使用者類別+|-mode file,.....
//chmod 使用者類別+|-mode,使用者類別+|-mode file,.....
//chmod +|-mode file,.....
chown命令只有管理員可以使用。
//chown username file,...
-r //修改目錄及其內部檔案的屬主
//chown username:groupname file,...
//chown username.groupname file,...
//語法:chgrp [option]... group file...
-r //遞迴修改
為什麼檔案建立以後預設許可權是644?
為什麼目錄建立以後預設許可權是755?
這是由遮罩碼umask來控制的。
從名字就能看出來,遮罩碼umask是用來隱藏一些許可權的。舉例:如果你不想讓人家認出你,你會怎麼辦?
檔案最終的許可權為:
前提:程序有屬主和屬組;檔案有屬主和屬組
任何乙個可執行程式檔案能不能啟動為程序,取決於發起者對程式檔案是否擁有可執行許可權;
啟動為程序後,其程序的屬主為發起者,屬組為發起者所屬的組
linux預設許可權是根據linux安全上下文的方式來控制的,而特殊許可權的存在打破了linux安全上下文的規則。
suid(4) //執行程式時,這個程式啟動的程序的屬主是程式檔案自身的屬主,而不是啟動者為屬主
chmod u+s file
chmod u-s file
//如果file本身原來就有執行許可權,則suid顯示為s,否則顯示為s
sgid(2) //執行程式時,這個程式啟動的程序的屬組是程式檔案自身的屬組,而不是啟動者所屬的基本組
//預設情況下,使用者建立檔案時,其屬組為此使用者所屬的基本組;
//一旦某目錄被設定了sgid,則對此目錄有寫許可權的使用者在此目錄中建立的檔案或目錄,其所屬的組 \
//為此設定了sgid的目錄的屬組
chmod g+s dir
chmod g-s dir
//如果file本身原來就有執行許可權,則sgid顯示為s,否則顯示為s
sticky(1) //在乙個公共目錄,每個人都能建立檔案,刪除自己的檔案,但是不能刪除別人建立的檔案
chmod o+t dir
chmod o-t dir
//如果dir本身原來就有執行許可權,則sticky顯示為t,否則顯示為t
4755 //有suid,檔案許可權為755
2755 //有sgid,檔案許可權為755
1755 //有sticky,檔案許可權為755
7755 //有suid、sgid、sticky,檔案許可權為755
//這裡前面的4、2、1分別表示suid、sgid、sticky
facl(filesystem access control list),利用檔案擴充套件儲存額外的訪問控制許可權。
//語法:setfacl [-bkndrlp] file ...
-m //設定
u:uid:perm
g:gid:perm
//setfacl -m u:test:rw file
//setfacl -m g:test:rw file
//如果要為某個目錄設定預設的訪問控制列表,只需要設定時在u或g前面加上d即可。 如:\
//setfacl -m d:u:test:rw file,此時在此目錄中建立的檔案均繼承此訪問控制列表所設定的許可權
-x //取消
u:uid
g:gid
//setfacl -x u:test file
//setfacl -x g:test file
-b //remove all
//語法:getfacl [-aceesrlptpndvh] file ...
//getfacl file
//檔案許可權應用次序:
//預設情況下:
owner --> group --> other
//有設定facl的情況下:
owner --> facl,user --> group --> facl,group --> other
sudo可以實現某個使用者能夠以另外哪乙個使用者的身份通過哪些主機執行什麼命令
sudo的配置檔案:/etc/sudoers
使用visudo命令進行sudo的配置,每一行就是乙個sudo條目,條目格式如下:
別名分類:
主機別名:
其它主機別名
命令別名:
//sudo命令語法:sudo [options] command
-v //顯示版本編號
-h //會顯示版本編號及指令的使用方式說明
-l //列出當前使用者可以使用的所有sudo類命令
-v //因為sudo在第一次執行時或是在n分鐘內沒有執行(n預設為5)會問密碼,這個引數 \
//是重新做一次確認,如果超過n分鐘,也會問密碼
-k //讓認證資訊失效,如果不指定-k,預設認證資訊在5分鐘後失效
-b //將要執行的指令放在後台執行
-u username //以指定的使用者名稱執行命令,預設為root
w //顯示當前登入到系統的使用者有哪些,以及其正在做什麼
//表示停頓#秒後再執行後面的命令
sleep number[suffix]...
suffix:
s:秒,預設
m:分h:小時
d:天last //顯示/var/log/wtmp檔案,顯示使用者登入歷史及系統重啟歷史
-n # //顯示最近#次的相關資訊
lastb //顯示/var/log/btmp檔案,顯示使用者錯誤的登入嘗試
-n # //顯示最近#次的相關資訊
lastlog //顯示每個使用者最近一次成功登入資訊
-u username //顯示特定使用者最近的登入資訊
basename //顯示路徑基名
Linux許可權管理
預設許可權 特殊許可權 suid 以檔案的所屬使用者身份執行而非執行檔案的使用者 sgid 以檔案所屬組身份執行 sticky 許可權 對檔案的影響 對目錄的影響 suid 以檔案的所屬使用者身份執行而非執行檔案的使用者 無 sgid 以檔案所屬組身份執行 在該目錄中建立的任意新檔案的所屬組與該目錄...
Linux許可權管理
linux許可權管理 1 檔案訪問許可權 1 檔案訪問者的分類 a 檔案和檔案目錄的所有者 u user b 檔案和檔案目錄的所有者所在的組的使用者 g group c 其它使用者 o others 2 檔案訪問許可權的種類 a 基本許可權 i.讀 r 4 read 對檔案而言,具有讀取檔案內容的許...
linux 許可權管理
linux許可權管理 1 檔案訪問許可權 1 檔案訪問者的分類 a 檔案和檔案目錄的所有者 u user b 檔案和檔案目錄的所有者所在的組的使用者 g group c 其它使用者 o others 2 檔案訪問許可權的種類 a 基本許可權 i.讀 r 4 read 對檔案而言,具有讀取檔案內容的許...