用戶分類
- 管理員 UID為0
- 系統(tǒng)用戶 UID 為1~999
- 普通用戶 UID從1000
id
id命令用戶顯示用戶的詳細信息
id 用戶名
useradd
useradd用于創(chuàng)建新用戶
useradd[參數(shù)] 用戶名
- -d 指定用戶的家目錄
- -e 賬戶的到期時間
- -u 指定該用戶的默認UID
- -g 指定一個初始的用戶基本組
- -G 指定一個或多個擴展用戶組
- -N 不創(chuàng)建與用戶同名的基本用戶組
- -s 指定該用戶的默認Shell解釋器
[root@linuxprobe ~]# useradd linuxcool
[root@linuxprobe ~]# id linuxcool
uid=1007(linuxcool) gid=1007(linuxcool) groups=1007(linuxcool
groupadd
groupadd用于創(chuàng)建新的用戶組
groupadd[參數(shù)] 群組名
usermod
usermod用于修改用戶的屬性
usermod[參數(shù)] 用戶名
- -c 填寫用戶賬戶的備注信息
- -d -m 可重新指定用戶的家目錄并自動把舊的數(shù)據(jù)轉移過去
- -e 設置賬戶的到期時間
- -g 變更所屬用戶組
- -G 變更擴展用戶組
- -L 鎖定用戶禁止其登錄系統(tǒng)
- -U 解鎖用戶延赌,允許其登錄系統(tǒng)
- -s 變更默認終端
- -u 修改用戶的UID
passwd
passwd用于修改用戶密碼耘拇、過期時間
passwd[參數(shù)] 用戶名
- 普通用戶只能使用passwd命令修改自己的系統(tǒng)密碼
- root管理員則有權限修改其他所有人的密碼,并且root管理員在Linux系統(tǒng)中修改自己或他人的密碼時不需要驗證舊密碼
- -l 鎖定用戶 禁止其登錄
- -u 解除鎖定
- --stdin 通過標準輸入修改用戶密碼
- -d 使該用戶可用空密碼登錄系統(tǒng)
- -e 強制用戶在下次登錄時修改密碼
- -S 顯示用戶的密碼是否被鎖定,以及密碼所采用的加密算法名稱
userdel
userdel命令用于刪除已有的用戶賬戶
userdel[參數(shù)]用戶名
- -f 強制刪除用戶
- -r 同時刪除用戶及用戶家目錄
文件權限與歸屬
Linux系統(tǒng)中,每個文件都有歸屬的所有者和所屬組,并且規(guī)定了文件的所有者马僻、所屬組以及其他人對文件所擁有的可讀(r)、可寫(w)注服、可執(zhí)行(x)等權限
文件的可讀韭邓、可寫、可執(zhí)行權限r溶弟、w女淑、x可分別用數(shù)字4、2辜御、1
來表示鸭你,文件所有者、文件所屬組及其他用戶
- 7:可讀擒权、可寫袱巨、可執(zhí)行(4+2+1)
- 6:可讀、可寫
- 4:可讀
排在權限前面的減號-是文件類型碳抄,減號表示普通文件愉老。常見的文件類型為 - 普通文件
- d 目錄文件
- l 鏈接文件
- p 管道文件
- b 塊設備文件
- c 字符設備文件
文件的特殊權限
SUID
SUID是一種對二進制程序進行設置的特殊權限,能夠讓二進制程序的執(zhí)行者臨時擁有所有者的權限(僅對擁有執(zhí)行權限的二進制程序有效)
在查看passwd命令屬性時發(fā)現(xiàn)所有者的權限由rwx變成了rws剖效,其中x變成了s就意味著該文件被賦予了SUID權限嫉入。如果原本的權限是rw-,如果原先權限位上沒有x執(zhí)行權限璧尸,那么被賦予特殊權限后將變成大寫的S
SGID
SGID特殊權限有兩種應用場景:
- 當對二進制程序進行設置時咒林,能夠讓執(zhí)行者臨時獲取文件所屬組的權限。當對目錄進行設置時爷光,讓目錄內新創(chuàng)建的文件自動繼承該目錄原有用戶組的名稱
chmod
chmod命令用于設置文件的一般權限和特殊權限
chmod[參數(shù)] 文件名
chown
chown命令用于設置文件的所有者和所有組
chown 所有者:所有組 文件名
- -R 表示針對目錄的遞歸操作
SBIT
SBIT特殊權限可確保用戶只能刪除自己的文件垫竞,不能刪除其他用戶的文件
當模流被設置為SBIT特殊權限位紅藕,文件的其他用戶權限部分的x執(zhí)行權限就會被替換成t和T(原本有x執(zhí)行權限則會寫成t瞎颗,原本沒有x執(zhí)行權限則會寫成T)
SUID件甥、SGID捌议、SBIT權限設置參數(shù)
- u+s 設置SUID權限
- u-s 取消SUID權限
- g+s 設置SGID權限
- g-s 取消SGID權限
- o+t 設置SBIT權限
- o-t 取消SBIT權限
文件的隱藏屬性
Linux系統(tǒng)中的文件除了一般的特殊權限之外,還有一種隱藏權限引有。即被隱藏起來的權限默認情況下不能直接被用戶發(fā)覺
隱藏的權限用常規(guī)的ls
是無法被查看的瓣颅,查看隱藏權限的專用設置命令是chattr
,專用查看命令是lsattr
chattr
chattr用于設置文件的隱藏權限
chattr[參數(shù)]文件名稱
如果想要把某個隱藏哦功能添加到文件上,則需要在命令后面追加"+參數(shù)"譬正,如果想要把某個隱藏功能移出文件宫补,則需要追加"-參數(shù)"
- i 無法對文件進行修改,若對目錄設置了該參數(shù)曾我,則僅能修改其中的子文件內容而不能新建或刪除文件
- a 僅允許補充(追加)內容粉怕,無法覆蓋/刪除內容
- S 文件內容在變更后立即同步到硬盤
- s 徹底從硬盤中刪除,不可恢復
- A 不再修改這個文件或目錄的最后訪問時間
- b 不再修改文件或目錄的存取時間
- D 檢查壓縮文件中的錯誤
- d 使用dump命令備份時忽略本文件
- c 默認將文件或目錄進行壓縮
- u 當刪除該文件后依然保留其在硬盤中的數(shù)據(jù)抒巢,便于恢復
- t 讓文件系統(tǒng)支持尾部合并
- x 可以直接訪問壓縮文件中的內容
案例
- 先創(chuàng)建一個普通文件贫贝,然后嘗試刪除這個文件
[root@linuxprobe ~]# echo "it's test" > linuxprobe
[root@linuxprobe ~]# rm linuxprobe
rm: remove regular file 'linuxprobe'? y
[root@linuxprobe ~]# ls
發(fā)現(xiàn)可以直接刪除
- 再創(chuàng)建一個文件,并為其設置"不允許刪除與覆蓋+a參數(shù)"
[root@linuxprobe ~]# echo "it's test" > linuxprobe
[root@linuxprobe ~]# chattr +a linuxprobe
[root@linuxprobe ~]# rm linuxprobe
rm: remove regular file 'linuxprobe'? y
rm: cannot remove 'linuxprobe': Operation not permitted
lsattr
lsattr命令用于查看文件的隱藏權限蛉谜。
lsattr[參數(shù)]文件名稱
[root@linuxprobe ~]# lsattr linuxprobe
-----a------------ linuxprobe
文件訪問控制列表ACL
如果希望對某個指定的用戶進行單獨的權限控制稚晚,就需要用到文件的訪問控制列表ACL,針對指定的用戶或用戶組設置文件或目錄的操作權限型诚,更加精準地派發(fā)權限
- 如果針對某個目錄設置ACL客燕,則目錄中的文件會繼承其ACL權限
- 如果針對文件設置ACL,則文件不再繼承其所在目錄的ACL權限
setfacl
setfacl用于管理文件的ACL權限規(guī)則
setfacl[參數(shù)]文件名稱
- -R 遞歸子目錄
- -m 修改權限
- -b 刪除全部權限
- -x 刪除某個權限
getfacl
getfacl用于查看文件的ACL權限
getfacl [參數(shù)] 文件名
坑:相關東西以后再補
su命令與sudo服務
su使得當前用戶在不退出登錄的情況下狰贯,順暢地切換到其他用戶
- 完全切換到新用戶也搓,把環(huán)境變量信息也變?yōu)樾掠脩舻南鄳畔?br> sudo用于給普通用戶提供額外的權限 sudo[參數(shù)] 用戶名
sudo
sudo命令用于給普通用戶提供額外的權限
sudo[參數(shù)]用戶名