在Linux中利用用戶來實現多任務操做,不一樣的用戶能夠同時使用系統,而且對系統進行操做;Linux是一個等級森嚴的系統,不一樣的用戶對系統上文件操做的權限不一樣,爲了方便管理,對用戶進行分組,屬於不一樣組的用戶對文件的操做的權限也不一樣。Linux系統利用不一樣的ID來標識惟一的用戶,一樣利用不一樣的ID來標識不一樣的組。shell
管理員:0 普通用戶 系統用戶:爲了可以讓後臺進程或者服務類型進程以非管理員的身份運行,一般要爲此建立多個普通用戶,這類用戶從不用登錄系統。1-499(CentOS6), 1-999(CentOS7) 登錄用戶:500-60000(CentOS6), 1000-60000(CentOS7)
管理員組:0 普通用戶組 系統組:1-499(CentOS6), 1-999(CentOS7) 登錄組:500-60000(CentOS6), 1000-60000(CentOS7) 組類別2 用戶的基本組 用戶的附加組 組類別3 私有組:組名同用戶名,且只包含一個用戶 公共組:組內包含了多個用戶
Linux系統經過名稱解析將用戶名組名解析成對應的惟一標識,以此來驗證用戶的身份以及該用戶屬於哪一個組。加密
和用戶相關的文件:code
name:passwd:UID:GID:GESOS:directory:shell name: 用戶名 passwd: 能夠是加密的密碼,也能夠是佔位符x UID: GID: 用戶所屬的主組的ID號 GESOS: 註釋信息 directory: 用戶的家目錄 shell: 用戶的默認shell,登陸時默認shell程序
用戶名:加密的密碼:最近一次修改密碼的時間:最短使用期限:最長使用期限:警告期段:過時期限:保留字段
group_name:password:GID:user_list user_list: 該組的用戶成員,以此組爲附加組的用戶列表
組密碼的做用:當一個用戶切換其基本組的時候,若是該組不屬於用戶的附加組,此時,若是該組設定了組密碼,那麼該用戶知道該組的密碼時就能夠臨時將該組切換成其基本組;若是這個組沒有設定組密碼,那麼該用戶不能切換至該組。遞歸
以前說過Linux是一個等級森嚴的系統,一個文件或者目錄對於不一樣的用戶有不一樣的權限,這個權限主要有r,w,x(可讀、可寫、可執行),對於文件和目錄這三個權限的做用是不一樣的:進程
文件: r: 可獲取文件的數據; w: 可修改文件的數據; x: 可將文件運行爲進程; 目錄: r: 可以使用ls命令獲取其下的全部文件列表(不包括詳細信息) w: 可修改此目錄下的文件列表;即建立或刪除文件; x: 可cd到此目錄中,且可以使用ls -l來獲取全部文件的詳細屬性信息; 一個文件或者目錄的權限主要是對於該文件或目錄的屬主、屬組以及其餘用戶來講,利用ls -l能夠查看一個文件對於屬主、屬組和其餘用戶的權限
那麼Liunx系統怎麼讓一個文件的權限起做用呢?字符串
做爲用戶來操做一個文件,該用戶必須發起一個進程,而這個進程是以該用戶的身份運行的,因此係統會查看進程的屬主(發起進程的用戶)與文件的屬主是否相同,若是相同,則應用屬主權限;不然,則檢查進程的屬主是否屬於文件的的屬組,若是是,則應用屬組權限;不然,就只能應用其餘用戶的權限。此過程爲進程對文件訪問權限應用模型。rpc
(1) useradd命令:建立用戶it
useradd [option] 登錄名 -u UID: 指定UID; -g GROUP: 指定基本組ID,此組事先要存在; -G GROUP1[,GROUP2…]: 指明用戶所屬的附加組,多個組之間用逗號分隔; -c COMMENT: 指定用戶的註釋信息; -d HOME_DIR: 以指定的路徑爲用戶的家目錄;經過複製/etc/skel此目錄並重命名實現;指定的家目錄路徑若是實現存在,則不會爲用戶複製環境配置文件; -s SHELL: 指定用戶的shell,全部可用的shell存儲在/etc/shells文件中; -r: 建立系統用戶; 注意:建立用戶時的諸多默認選項設定的配置文件爲/etc/login.defs
(2) usermod命令:修改用戶屬性io
usermod [option] username -u UIG: 修改用戶的UID; -g GROUP: 修改用戶所屬的基本組; -G GROUP1[,GROUP2…]: 修改用戶所屬的附加組;原來的附加組會被覆蓋; -a: 與-G一同使用,用於爲用戶追加新的附加組; -c COMMENT: 修改註釋信息; -d HOME_DIR: 修改用戶的家目錄;用戶原有的文件不會被轉移至新的位置; -m: 與-d一同使用,用於將原有的家目錄移動爲新的家目錄; -l NEW_LOGIN: 修改用戶名; -s SHELL: 修改用戶默認shell; -L: 鎖定指定用戶密碼;即在用戶原來的密碼字符串以前添加一個」!」; -U: 解鎖指定用戶密碼;
(3) userdel命令:刪除指定用戶mariadb
userdel [option] username -r: 刪除用戶時一併刪除其家目錄;默認不刪除用戶的家目錄;
(4) passwd命令:用戶密碼管理命令
passwd: 修改用戶本身的密碼 passwd USERNAME: 修改指定用戶的密碼,但僅root有此權限; -l, -u: 鎖定和解鎖用戶; -d: 清除指定用戶的密碼; -e DATE: 過時期限,日期; -i DAYS: 非活動期限;天數 -n DAYS: 密碼的最短使用期限; -x DAYS: 密碼的最長使用期限; -w DAYS: 密碼警告期限; --stdin: echo 「PASSWORD」 | passwd –stdin USERNAME
groupadd, groupdel, groupmod, gpasswd
(1) groupadd命令: 添加組
groupadd [option] group_name -g GID: 指定GID;默認是上一個組的GID+1 -r: 建立系統組
(2) groupmod命令:修改組的屬性
groupmod [option] GROUP -g GID: 修改GID -n new_groupname: 修改組名
(3) groupdel命令:刪除組
groupdel [option] GROUP
(4) gpasswd命令
gpasswd [option] group 不帶選項爲組添加密碼 -u USERNAME: 向組中添加用戶; -d USERNAME: 從組中移除用戶;
(1) newgrp GROUP: 將GROUP臨時切換爲用戶的基本組
newgrp [-] [group] -: 會模擬用戶從新登陸以實現從新初始化其工做環境
(2) chage命令:修改用戶密碼的過時信息
chage [option] username
(3) chsh命令:修改指定用戶的默認shell;
(4) id命令:顯示用戶真是有效的ID信息
id [option]… [username] -u: 僅顯示有效的UID; -g: 僅顯示用戶所屬基本組ID; -G: 顯示用戶所屬的全部組ID; -n: 顯示名稱而非ID;
(5) su命令:switch user
登陸式切換:會經過讀取用戶的配置文件來從新初始化 su – USERNAME su -l USERNAME 非登陸式切換:不會讀取目標用戶的配置文件進行初始化 su USERNAME 注意:管理員可無密碼切換至其餘任何用戶; su -c ‘COMMAND’: 僅以指定用戶的身份運行此處指定的命令; su – dabric -c ‘whoami’
(6) finger命令:顯示指定用戶的信息;
(7) chfn命令:修改用戶的信息;
(8) pwck命令:檢查指定用戶用戶密碼文件是否異常;
(9) grpck命令:檢查指定用戶組密碼文件是否異常;
chmod命令(用戶僅能修改屬主爲本身的文件)
chmod [OPTION]… MODE[,MODE]… FILE… chmod [OPTION]… OCTAL-MODE FILE… chmod [OPTION]… --reference=RFILE FILE…
(1) chmod [OPTION]… MODE[,MODE]… FILE…
MODE表示法: 賦權表示法:直接操做一類用戶的全部權限位 u= g= o= a= 受權表示法:直接操做一類用戶的一個權限位r,w,x u+,u- g+,g- o+,o- a+,a-
(2) chmod [OPTION]… OCTAL-MODE FILE…
八進制表示法:
(3) chmod [OPTION]… --reference=RFILE FILE…
引用參考文件的權限來修改當前文件的權限 選項: -R, --recursive: 遞歸修改(在受權表示法中經常使用)
(1) chown命令:
chown [OPTION]… [OWNER][:[.][GROUP]] FILE… chown [OPTION]… --reference=RFILE FILE… 選項: -R, --recursive: 遞歸修改
(2) chgrp命令:
chgrp [OPTION]… GROUP FILE… chgrp [OPTION]… --reference=RFILE FILE…
文件:666-umask 目錄:777-umask 注意:之因此文件用666去減,表示文件默認不能擁有執行權限,如過減得的結果中有執行權限,則須要將其加1; umask命令: umask: 查看當前umask umask MASK: 設置umask 注意:命令的設定僅對當前shell進程有效;
install命令: install – copy files and set attributes 單源複製: install [OPTION]… [-T] SOURCE DEST 多源複製: install [OPTION]… SOURCE… DIRECTORY install [OPTION]… -t DIRECTORY SOURCE… 建立目錄: install [OPTION]… -d DIRECTORY… 經常使用選項: -m, --mode=MODE: 設定目標文件的權限,默認爲755 -o, --ownwer=OWNER: 設定目標文件的屬主 -g, --group=GROUP: 設定目標文件的屬組
mktemp命令:建立臨時文件或者臨時目錄 mktemp [OPTION]… [TEMPLATE] -d: 建立臨時目錄 mktemp /tmp/mytmp.XXXX 引用該文件名,將其執行的結果保存在變量中使用 注意:mktemp會將建立的臨時文件名直接返回,所以,可直接經過命令引用保存至變量中;
完成如下任務