用戶組和權限管理
本節主要是:su、passwd、chage、chown、chgrp、chmod、umask等命令及文件的三種普通權限和三種特殊權限
切換用戶或以其他用戶身份執行命令:su
su [options…] [-] [user[args…]]
切換用戶的方式:
su UserName:非登錄式切換,及不會讀取目標用戶的配置文件
su -UserName:登錄式切換,會讀取目標用戶的配置文件,完全切換
Note:root su 至其他用戶無需密碼,非root用戶切換時需要密碼。
換個身份執行命令:
su [-] UserName -c ‘COMMAND’
選項:-l –login:
su -l UserName相當于 su – UserName
給用戶添加密碼:passwd
管理員可以修改任何用戶的密碼,普通用戶只能修改自己的密碼
Passwd [options] UserName:修改指定用戶的密碼,僅root用戶權限
-l:鎖定指定用戶
-u:解鎖指定用戶
-n:指定最短使用期限
-x:指定最長使用期限
-w:提前多少天開始警告
-i:非活動期限
-e:強制用戶下次登錄修改密碼
–stdin:從標準輸入接收用戶密碼
echo “PASSWORD” | passwd –stdin USERNAME
Note:Linux 系統之上有兩個特殊的文件:
/dev/null:能夠接收任何內容,并將其丟棄
/dev/zero:能夠連續不斷的輸出0信息
修改用戶密碼屬性:chage
chage [options] LOGIN
-d LAST_DAY:修改用戶最近一次修改密碼的時間
-E EXPIRE_DATE:從1970年到賬號不能訪問的時間
-I INACTIVE:修改用戶的非活動期限
-m, –mindays MIN_DAYS:修改密碼最短時間
-M, –maxdays MAX_DAYS:修改密碼最長時間
-W, –warndays WARN_DAYS:提醒密碼過期時間
-l:顯示密碼策略
創建組:groupadd
groupadd [option]… group_name
-g GID: 指明GID 號;[GID_MIN, GID_MAX]
-r: 創建系統組
刪除用戶:userdel
Userdel [options]LOGIN
-r:刪除用戶家目錄
組屬性修改:groupmod
groupmod [options] GROUP
-n:新名字
-g:新的GID
組刪除:groupdel
groupdel GROUP
組密碼:作用是為用戶切換基本組
gpasswd [option] group
-a user:將user添加至指定組中
-d user:將user從指定組中刪除
-A userlist:設置有組管理權限的用戶列表
臨時切換基本組:newgrp
修改文件的屬主:chown和屬組:chgrp
修改文件的屬主:chown
chown [option]… [OWNER][:[GROUP]] FILE…
OWNER:只修改屬主
OWNER:GROUP:修改屬主和屬組
:GROUP:只修改屬組
命令中的冒號可用. 替換;
-R: 遞歸
修改文件的屬組:chgrp
chgrp [option]… group file…
chgrp [option]… –reference=RFILE FILE…
-R 遞歸
文件權限
三類對象
u 屬主
g 屬組
o 其他
三種權限
r w x
對文件:
r:查看文件內容
w:修改文件內容
x:把文件提請內核啟動為一個進程
對目錄:
r:查看此目錄文件
w:在此目錄可創建、刪除文件
x:查看目錄下文件列表,也可進入該目錄
X:只給目錄x權限,不給文件x權限
修改文件權限:chmod
v chmod [option]… OCTAL-MODE FILE…
v chmod [option]… MODE[,mode]… FILE…
-R: 遞歸修改權限
修改權限:
直接設定權限 u= g= o= ug= a= u= g=
調整一些權限u+ u- g+ g- o+ o- a+ a-
v chmod [option]… –reference=RFILE FILE…
參考RFILE 文件的權限,將FILE 的修改為同RFILE
文件或目錄創建時的遮罩碼:umask
遮掩碼是指在創建一個文件或目錄時的默認權限為:
FILE: 666-umask
DIR: 777-umask
umask 命令
umask:查看umask值
umask #:設定 umask值
umask -S:模式方式顯示
umask -p:輸出可被調用
Linux 文件系統上的特殊權限: SUID, SGID, Sticky
三種常用權限:r, w, x user, group, other
安全上下文:
前提:進程有屬主和屬組;文件有屬主和屬組
(1) 任何一個可執行程序文件能不能啟動為進程,取決發起者對程序文件是否擁有執行權限
(2) 啟動為進程之后,其進程的屬主為發起者;進程的屬組為發起者所屬的組
(3) 進程訪問文件時的權限,取決于進程的發起者:
(a) 進程的發起者,同文件的屬主,則應用文件屬主權限
(b) 進程的發起者,屬于文件的屬組,則應用文件屬組權限
(c) 應用文件“其他位”權限
SUID:Set UID
前提:此類文件為有可執行權限的命令
(1)任何一個可執行文件能不能啟動為進程:取決于發起者對程序文件是否擁有執行權限
(2)啟動為進程之后,其進程的屬主為原程序文件的屬主
權限設定:
chmod u+s FILE…
chmod u-s FILE…
注:SUID 只能作用在二進制的程序上
SGID:Set GID
可執行文件上:
任何一個可執行程序文件能不能啟動為進程:取決發起者對程序文件是否擁有執行權限
啟動為進程之后,其進程的屬主為原程序文件的屬組
權限設定:
chmod g+s FILE…
chmod g-s FILE…
目錄中時:
一般,用戶創建文件時,其屬組為此用戶所屬的主組
v 一旦某目錄被設定了SGID,則對此目錄有寫權限的用戶在此目錄中創建的文件所屬的組為此目錄的屬組
權限設定:
chmod g+s DIR…
chmod g-s DIR…
注:sgid 作用在二進制的程序上:用戶運行該程序時,自動繼承該程序所屬組的權限
chmod g+s file
sgid 作用在目錄上時,該目錄內新建的文件或目錄的所屬組自動繼承該目錄的所屬組
chgrp groupname dir; chmod g+s dir
Sticky:粘滯位
對于一個多人可寫的目錄,設置了sticky,則每個用戶僅能刪除自己的文件
權限設定:
chmod o+t DIR…
chmod o-t DIR…
注:sticky 只能作用在目錄上
設定文件特定屬性
? chattr +i 不能刪除,改名,更改
? chattr +a 只能增加
? lsattr 顯示特定屬性
ACL
實現靈活的權限管理除了文件的所有者,所屬組和其它人,可以對更多的用戶設置權限。
其生效順序:所有者,自定義用戶,自定義組,其他人
ACL文件上的group 權限是mask 值, 而非傳統的組權限。默認ACL權限給了x ,文件也不會繼承x 權限。
mask值只影響除所有者和other 的之外的人和組的最大權限。它需要與用戶的權限進行邏輯與運算后,才能變成有限的權限
附:
/etc/passwd
username:x:uid:gid:comment:home:shell
姓名:密碼:uid:gid:注釋:家目錄:shell
/etc/shadow
username:password:password age:min:max:warn:inactive:usernameage:xxx
姓名:密碼:上次改密時間:最?。鹤畲螅哼^期前警報:過期后:賬號有效期:xxx
/etc/group
groupname:x:gid:groupmember
組名::gid:組員
/etc/gshadow
groupname:password:groupadmin:groupmember.
組名:加密口令:組管理員:組員
原創文章,作者:Dadi,如若轉載,請注明出處:http://www.www58058.com/29456