管理用戶和文件權限
先來認識一下系統存放賬號的文件 /etc/passwd
第一字段:用戶賬號名稱
第二字段:經過加密的用戶賬號密碼
第三字段:用戶的UID號
第四字段:用戶的GID號
第五字段:用戶的全名
第六字段:用戶的宿主目錄
第七字段:用戶的登錄Shell信息
看一下密碼保存文件 /etc/shadow
第一字段:用戶賬號名
第二字段:用戶密碼(MD5加密)
第三字段:上次更改密碼的時間,自1970年1月1日起
第四字段:密碼最短有效期,自本次更改密碼後,幾天以後才能在更改密碼
第五字段:密碼的有效天數,多少天后必須更改密碼,99999表示不限制
第六字段:密碼到期前幾天通知
第七字段:密碼過期後多少天內禁用此賬戶
第八字段:賬號失效時間,自1970年1月1日算起,爲空表示不限制
第九字段:保留字段,目前沒有特定用途
密碼字段裏有*或!!號時,表示賬號不能登錄到系統
用戶賬號管理:
useradd添加用戶賬戶
-u 指定用戶的UID,要求未被其他用戶使用
-d 指定用戶的宿主目錄
-e 指定用戶的賬號失效時間可以用YYYY-MM-DD時間格式
-g 指定用戶的基本組名
-G 指定用戶的附加組名
-M 不建立使用者目錄
-s 指定用戶的登錄shell
用戶系統模板爲 /etc/login.defs
創建一個user1用戶,UID 爲800,不建立家目錄,有效時間爲10天,附加組爲wheel
passwd爲用戶賬號設置密碼
-d 清空用戶密碼,僅使用用戶名即可登錄
-l 鎖定用戶賬號
-S 查看用戶賬號狀態(是否被鎖定)
-u 解鎖用戶賬戶
usermod修改用戶賬號屬性
-u 修改用戶UID
-d 修改用戶宿主目錄
-e 修改用戶賬號失效時間可用YYYY-MM-DD 時間格式
-g 修改用戶基本組名
-G 修改用戶附加組名
-M 不爲用戶建立並初始化家目錄
-s 指定用戶登錄後使用的shell
-l 更改用戶賬號登錄名稱
-L 鎖定用戶
-U 解鎖用戶
userdel刪除用戶賬號
-r 連同家目錄一起刪除
用戶賬號的初始配置:
用useradd添加一個用戶賬號時,系統會在該用戶的宿主目錄下建立一些初始文件配置,這些文件來自系統模板目錄”/etc/skel/”基本上都是隱藏文件,較常用的是”./bash/_logout ./bash_profile ./bashrc “
./bash_profile每次用戶登錄時被執行
./bash_logout每次用戶推出系統時被執行
./bashrc每次用戶加載/bin/bash/時被執行(也包括系統登錄)
我們加了一條別名
測試下:
很成功!!!
組賬號管理:
id 查看當前用戶對應的組
查看root組中有那些用戶:
查看那些組中有root這個賬號
groupadd添加組賬號
gpasswd添加刪除成員
-a 添加一個用戶到組中
-d 從組中刪除一個用戶
-M 一次添加多個用戶(原有的用戶將被覆蓋)
groupdel刪除組賬號
用戶和組賬號查詢:
groups 查詢某個用戶賬號所在的組
finger 查詢用戶賬號的詳細的信息
finger,who, w, users 查詢當前登錄到主機的用戶信息
文件目錄的權限管理
上圖中,第一個“-”或“d”表示該文件或目錄的類型(d目錄 b塊設備 c字符設備文件 - 普通文件 I 鏈接文件)往後三個位一個單元,分別是宿主權限,宿組權限,其他用戶權限(r 可讀 w 可寫 x 可執行)
chmod設置文件或目錄的權限(r w x 對應 4 2 1)
a+x所有用戶加執行權限
u+x宿主用戶加執行權限
g+x宿組用戶加執行權限
o+x其他用戶加執行權限
777 所有用戶有可讀,可寫,可執行權限
上面兩條改權限的命令,其結果是一樣的
chown更改文件目錄的宿主或屬組
-R 遞歸改變所有子目錄所屬
SET位權限chmodu+s或chmodg+s用於設置SUID 和SGID ,以後任何用戶在執行被設置了SET爲的文件或目錄時,就有了宿主或屬組的相應權限
SUID 對應數字爲 4
SGID 對你數字爲2
6755 表示同時設置了SUID和SGID
刪除時用u-s , g-s 即可
上圖中,我們看到了passwd這個命令被設置成了SUID,我們對一個目錄設置了SGID,那麼以後其他用戶在此目錄中所創建的一切東西,宿組都會變成luojunyong
粘滯位權限:
主要爲目錄設置特別的權限,當目錄加了t位後,相應的x會變成t,那麼在這個目錄中,允許你有的權限操作(讀寫),但只能對自己所創建的文件進行操作,對別人創建的文件不能更改
上圖中,其他用戶只能對自己的文件進行操作,對於別人的只能刪除,寫入
chmod +t -t 用於設置粘滯爲權限,也可用數字1 0 來表示增加或移除粘滯爲權限
上圖結合了SET權限,讓我們來理解權限的數字的表示形式
UMASK 權限默認的掩碼值
root 默認爲 0022
普通用戶默認爲 0002
默認文件的權限等於666減去掩碼值
默認目錄的權限等於777減去掩碼值
所以root用戶創建的文件權限默認爲 644
所以root用戶創建的目錄權限默認爲 755
所以普通用戶創建的文件默認權限爲 664
所以普通用戶創建的目錄默認權限爲 775
從上圖可以看出UMASK的作用,正如我們上面的默認權限
能這樣更改UMASK值不過不建議這樣做