Linux的用戶、組和權限管理linux
1、linux用戶和組的概念shell
Linux是一個多用戶多任務的操做系統,多用戶是指多個用戶能夠在同一時間使用計算機系統。ide
用戶:ui
1.什麼是用戶:用戶是可以獲取系統資源的權限的集合加密
2.用戶分爲三類:spa
管理員:具備使用系統全部權限的用戶操作系統
普通用戶:即通常用戶,其使用系統的權限受限orm
系統用戶:主要服務於應用,維護系統運行的用戶,通常不提供密碼登陸系統。blog
3.用戶的相關信息存放位置遞歸
用戶解析庫:/etc/passwd
name:password:UID:GID:GECOS:directory:shell
用戶的認證信息庫:/etc/shadow
4.用戶管理:
(1) useradd命令:建立新用戶
useradd [選項] 登陸名
-c,--comment COMMENT:註釋信息,通常爲Full Name;
-d,--home /PATH/TO/HOME_DIR:家目錄路徑,目標路徑不能事先存在,不然會有警告,不會建立skel相關的文件給用戶。指定用來取代默認的/home/username的主目錄;
-g,--gid GROUP :指定用戶的基本組組名或GID;
-G:用戶所屬的附加組列表,彼此間用逗號隔開,中間沒有空格;
-m,--create-home:強制建立家目錄;
-M:不建立用戶主目錄,即更改系統在/etc/login.defs中的設置(CREATE_HOME)爲yes;
-r,--system:建立一個系統用戶;
-s,--shell SHELL: 用戶的登陸shell名,默認爲留空,讓系統根據/etc/default/useradd中的SHELL變量選擇默認的登陸shell。
-u,--uid UID :用戶ID的數字值。
-e:用戶帳號的過時期限,過時後會被鎖定,日期格式YYYY-MM-DD
-f:密碼過時後,帳戶被 完全禁用以前的天數。0表示當即禁用,-1表示禁用這個功能。
useradd -D:顯建立用戶時的默認設置;
useradd -D 選項:設置某默認選項;
爲用戶提供默認配置的配置文件:
/etc/login.defs , /etc/default/useradd
(2) usermod:修改帳戶信息
-c,--comment COMMENT:註釋信息,通常爲Full Name;
-d:修改家目錄爲新的位置,但通常應該同時使用-m選項以保證原家目錄中的文件會被移動到新 的目錄中;
-g:修改用戶的GID或私有組名稱;
-G:修改用戶的附加組,修改時會覆蓋原來的附加組,一同使用-a選項,表示爲用戶添加新的附 加組;
-l:修改當前用戶的用戶名
-u:修改用戶的UID
-s:修改用戶的登陸shell
-L:鎖定用戶的密碼,會在用戶加密的密碼以前放置一個「!「
-U:解鎖用戶的密碼,這將移除加密的密碼以前的」!「
(3)userdel命令:刪除用戶帳號
-r,--remove:用戶主目錄中的文件將隨用戶主目錄和用戶郵箱一塊兒刪除;
(4)passwd命令:密碼管理命令
passwd:修改本身的密碼;
passwd username :修改其餘用戶的密碼,僅root由此權限。
-l:鎖定密碼
-u:解鎖密碼
-d:清除密碼
--stdin:從標準輸入接收密碼:echo 「PASSWORD」 | passwd --stdin USERNAME
(5)其餘經常使用命令:
id命令:查看用戶相關的id信息;
-u:僅查看uid
-g:僅查看gid
-G:查看所屬的全部組的ID
-n:顯示名稱,而非ID
su命令:switch user 切換用戶
su USERNAME :不讀取目標用戶的配置文件(非登陸式切換,半切換)
su -l USERNAME su - USERNAME :讀取目標用戶的配置文件(登陸式切換,徹底切換)
su -c command :僅以指定的用戶的身份運行此處指定的命令,而不執行真正的身份切換操做
組:
1.什麼是組:用戶組是具備相同特徵用戶的邏輯集合,是權限的容器。
2.組分類
管理員組:
普通用戶組:能夠加入多個用戶
系統組:通常加入一些系統用戶
私有組(也稱基本組):當建立用戶時,若是沒有爲其指明所屬組,則就爲其定義一個私有的用 戶組,其名稱與用戶名同名.
注:私有組能夠變成普通用戶組,當把其餘用戶加入到該組中,則其就變成了普通組。
3.組信息存放位置:
組解析庫文件:/etc/group
GRPNAME:x:GID:user1, user2, ...
組名:密碼點位符:GID:以此組爲附加組的用戶列表,以逗號分隔
組的認證信息庫:/etc/gshadow
4.組管理
groupadd命令:添加組
groupadd [選項] group
-g GID:指明GID;
-r, --system:系統組;
groupmod命令:修改組信息
groupmod [選項] GROUP
-g :GID
-n NEW_NAME:修改組名;
groupdel命令:刪除組
groupdel [選項] GROUP
gpasswd :爲組添加密碼
2、文件系統文件權限分類
1.
權限: r: readable,可讀
w: writable, 可寫
x:excutable, 可執行
2.例: drwxr-xr-x d表示是目錄文件。
三類用戶:
屬主:owner, u : rwx,表示目錄文件的擁有者有讀、寫和執行權限。
屬組:group, g : r-x,表示屬於此組的用戶對此目錄文件有讀和執行權限。
其它:other, o : r-x,表示其餘用戶對此目錄文件有讀和執行權限。
3.對文件來講:
r:可獲取文件的數據;
w:可修改文件的數據;
x:可將此文件運行爲進程
4.對目錄來講:
r:可以使用ls命令獲取其下的全部文件列表;但不能夠使用「ls -l」去獲取詳細信息,也不能夠 cd至此目錄中;
w:可修改此目錄下的文件列表, 便可以在此目錄下建立或刪除文件;
x:能夠使用"ls -l「命令來獲取其下的文件的詳細屬性信息,也可cd至此目錄中;
5.權限組合機制:
以owner爲例:
--- 000 0
--x 001 1
-w- 010 2
-wx 011 3
r-- 100 4
r-x 101 5
rw- 110 6
rwx 111 7
3、權限的管理
1.用戶類型(標識符):u:屬主 g:屬組 o:其它 a: 全部
2.chmod [OPTION]... MODE[,MODE]... FILE...
賦權表示法:直接操做一類用戶的全部權限位rwx;
u=
g=
o=
a=
兩類用戶權限相同:ug=, go=
不一樣類的用戶權限不一樣:u=,g=,o=
受權表示法:操做一類用戶一位或多位權限;
u+, u-
g+, g-
o+, o-
a+, a-
兩類用戶權限收授機制相同:ug+, ug-, ...
不一樣類的用戶權限不一樣:u+,g+,o+
3.chmod [OPTION]...
--reference=RFILE FILE… 參照某個文件的權限來進行受權操做
-R,--recursive:遞歸修改
NOTE:普通用戶僅能修改屬主爲本身的那些文件的權限;root能夠更改全部用戶
4.chown命令: 更改文件目錄的全部者,也能夠更改所屬組
5.chgrp命令: 更改文件目錄的所屬組
6.umask:顯示或設定文件模式掩碼
文件默認權限:666-umask
目錄默認權限:777-umask
注意:之因此文件用666去減,表示文件默認不能有執行權限;若是減得的結果中,u,g或o有執行權限時,則須要加1;
顯示當前用戶的umask:umask
設定:umask MASK
注意:此設定僅對當前shell進程有效;