5.4Linux系統下使用者許可權管理
許可權管理:
ls -l
rwxrwxrwx:
左三位:定義user(owner)的許可權
中三位:定義group的許可權
右三位:定義other的許可權
程序安全上下文:
程序對檔案的訪問許可權應用模型:
程序的屬主與檔案的屬主是否相同;如果相同,則應用屬主許可權;
否則,則檢查程序的屬主是否屬於檔案的屬主;如果是,則應用於屬組許可權;
否則,只能應用其它的許可權;
許可權:
r:readable,讀,
w:writable,寫
x:excutable,執行
檔案:
r:可獲取檔案的資料
w:可修改檔案的資料
x:可將此檔案發起執行為程序
目錄:
r:可使用ls命令獲取其下的所有檔案列表
w:可修改此目錄下的檔案列表;即建立或刪除檔案也包括子目錄
x:可cd至此目錄中,且可使用 ls -l來獲取 所有檔案的詳細屬性資訊
mode:rwxrwxrwx
ownership:user,group
許可權組合機制:二進位制
--- 000 0
--x 001 1
-w- 010 2
-wx 011 3
-r 100 4
r-x 101 5
rw- 110 6
rwx 111 7
許可權管理命令:
chmod命令:
chmod [OPTION]... MODE[,MODE]... FILE...
chmod [OPTION]... OCTAL-MODE FILE...
chmod [OPTION]... --reference=RFILE FILE...
三類使用者:
u:屬主
g:屬組
o:其它
a:所有
(1)chmod [OPTION]... MODE[,MODE]... FILE...
MODE表示法:
賦權表示法:直接操作一類使用者的所有許可權位
u=,g=,o=;(ugo=;可以合併)
授權表示法:直接操作一類使用者的一個許可權位也可以是多位r,w,x
u+,u-
g+,g-
o+,o-
a+,a-
chmod +w file
注意w許可權只給屬主其它rx是給所有都給的許可權
(2)chmod [OPTION]... OCTAL-MODE FILE...
777
000
八進位制許可權位
(3)chmod [OPTION]... --reference=RFILE FILE...
選項:
-R:遞迴修改許可權(用之於修改目錄許可權,同時遞迴把目錄下的子目錄或者檔案的許可權也修改了)
注意:使用者僅能修改屬主為自己的那些檔案的許可權
從屬關係管理命令:chown,chgrp
chown命令:
chown [OPTION]... [OWNER][:[GROUP]] FILE...
chown [OPTION]... --reference=RFILE FILE...
選項:
-R:遞迴修改
--reference=/path/file:以某個檔案或目錄修改另一個目錄的所屬組或所屬主
注意:僅管理員可修改檔案的屬主和屬組
umask:檔案的許可權反向掩碼,遮罩碼
檔案:
666-umask
目錄:
777-umask
注意:之所以檔案用666去減,表示檔案預設不能擁有執行許可權;如果減得的結果中有執行許可權,則需要將其加1
umask:023
666-023=644
777-023=754
umask命令:
umask:檢視當前umask
umask MASK:設定umask
注意:此類設定僅對當前shell程序有效
練習:完成以下任務
1.新建系統組mariadb,新建系統使用者mariadb,屬於mariadb組,要求其沒有家目錄,且shell為/sbin/nologin;嘗試roo切換至使用者,檢視其命令提示符
2.新建GID為5000的組mageedu,新建使用者gentoo,要求其家目錄為/users/gentoo,密碼同用戶名
3.新建使用者fedora,其家目錄為/users/fedora,密碼同用戶名
4.新建使用者www,其家目錄為/users/www;刪除www使用者,但保留其家目錄
5.為使用者gentoo和fedora新增附加組mageedu
6.複製目錄/var/log至/tmp目錄,修改/tmp/log及其內部的所有檔案的屬組為mageedu,並讓屬組對目錄本身擁有寫許可權
install命令:
install - copy files and set attributes
單源複製:
nstall [OPTION]... [-T] SOURCE DEST
多源複製
install [OPTION]... SOURCE... DIRECTORY
install [OPTION]... -t DIRECTORY SOURCE...
建立目錄:
install [OPTION]... -d DIRECTORY...
常用選項:
-m:設定目標檔案許可權,預設為755
-o:設定目標檔案屬主
-g:設定目標檔案屬組
-d:用來建立目錄
mktemp命令:建立臨時檔案或目錄
mktemp [OPTION]... [TEMPLATE]
常用選項:
-d:建立臨時目錄
注意:mktemp會將建立的臨時檔名直接返回,因此,可直接通過命令引用儲存起來
部落格作業:使用者及許可權管理