一 ? ?用戶與用戶組
Linux下所有的東西都是文件、不管是具體文件還是目錄。那么當多人同機操作的時候、考慮到每個人的隱式權和個人喜好,文件擁有者就相當重要了,比如A有一個存放情書的文件夾,那A估計不會喜歡誰都能看這些情書,那么A就可以用密碼箱鎖起來,別人就不能隨意翻動了。A就是這個密碼箱(可看成文件夾)的擁有者。
? ?用戶(user)和用戶組(group)概念
我們知道,Linux是一個多用戶多任務的分時操作系統,如果要使用系統資源,就必須向系統管理員申請一個賬戶,然后通過這個賬戶進入系統。這個賬戶和用戶是一個概念,通過建立不同屬性的用戶,一方面,可以合理的利用和控制系統資源,另一方面也可以幫助用戶組織文件,提供對用戶文件的安全性保護。每個用戶都用一個唯一的用戶名和用戶口令,在登錄系統時,只有正確輸入了用戶名和密碼,才能進入系統和自己的主目錄。用戶組是具有相同特征用戶的邏輯集合,有時我們需要讓多個用戶具有相同的權限,比如查看、修改某一個文件的權限,一種方法是分別對多個用戶進行文件訪問授權,如果有10個用戶的話,就需要授權10次,顯然這種方法不太合理;另一種方法是建立一個組,讓這個組具有查看、修改此文件的權限,然后將所有需要訪問此文件的用戶放入這個組中,那么所有用戶就具有了和組一樣的權限。這就是用戶組,將用戶分組是Linux 系統中對用戶進行管理及控制訪問權限的一種手段,通過定義用戶組,在很大程度上簡化了管理工作。
用戶和用戶組的對應關系是:一對一、多對一、一對多或多對多;
一對一:某個用戶可以是某個組的唯一成員;
多對一:多個用戶可以是某個唯一的組的成員,不歸屬其它用戶組;比如beinan和linuxsir兩個用戶只歸屬于beinan用戶組;
一對多:某個用戶可以是多個用戶組的成員;比如beinan可以是root組成員,也可以是linuxsir用戶組成員,還可以是adm用戶組成員;
多對多:多個用戶對應多個用戶組,并且幾個用戶可以是歸屬相同的組;其實多對多的關系是前面三條的擴展;理解了上面的三條,這條也能理解;
二 ??用戶和用戶組相關的配置文件、命令或目錄
用戶和用戶組相關的配置文件
/etc/passwd:用戶及其屬性信息(名稱、UID、主組ID等)
/etc/group:組及其屬性信息
/etc/shadow:用戶密碼及其相關屬性
/etc/gshadow:組密碼及其相關屬性
/etc/skel目錄一般是存放用戶啟動文件的目錄
/etc/login.defs:?創建用戶時的一些規劃
管配置文件理用戶和用戶組的相關工具或命令
管理用戶的工具或命令
useradd??? 注:添加用戶
-u UID
-o 配合-u 選項,不檢查UID的唯一性
-g GID:指明用戶所屬基本組,可為組名,也可以GID
-c “COMMENT”:用戶的注釋信息
-d HOME_DIR:以指定的路徑(不存在)為家目錄
-s SHELL: 指明用戶的默認shell程序
可用列表在/etc/shells文件中
-G GROUP1[,GROUP2,…]:為用戶指明附加組,組須事先存在
-N 不創建私用組做主組,使用users組做主組
-r: 創建系統用戶CentOS 6: ID<500,CentOS 7: ID<1000
-m 創建家目錄,用于系統用戶
-M 不創建家目錄,用于非系統用戶
passwd???? 注:為用戶設置密碼
-l:鎖定指定用戶
-u:解鎖指定用戶
-e:強制用戶下次登錄修改密碼
-n mindays: 指定最短使用期限
-x maxdays:最大使用期限
-w warndays:提前多少天開始警告
-iinactivedays:非活動期限
–stdin:從標準輸入接收用戶密碼
echo “PASSWORD” | passwd–stdinUSERNAME
usermod? 注:修改用戶命令,可以通過usermod 來修改登錄名、用戶的家目錄等等;
-u UID: 新UID
-g GID: 新主組
-G GROUP1[,GROUP2,…[,GROUPN]]]:新附加組,原來的附加組將會被覆蓋;若保留原有,則要同時使用-a選項
-s SHELL:新的默認SHELL
-c ‘COMMENT’:新的注釋信息
-d HOME: 新家目錄不會自動創建;若要創建新家目錄并移動原家數據,同時使用-m選項
-l login_name: 新的名字;
-L: lock指定用戶,在/etc/shadow 密碼欄的增加!
-U: unlock指定用戶,將/etc/shadow 密碼欄的! 拿掉
-e YYYY-MM-DD: 指明用戶賬號過期日期
-f INACTIVE: 設定非活動期限
userdel ?? 注:刪除用戶
-r: 刪除用戶家目錄
pwcov?????? 注:同步用戶從/etc/passwd 到/etc/shadow
pwck???????? 注:pwck是校驗用戶配置文件/etc/passwd 和/etc/shadow 文件內容是否合法或完整;
pwunconv? 注:是pwcov 的立逆向操作,是從/etc/shadow和 /etc/passwd 創建/etc/passwd ,然后會刪除 /etc/shadow 文件;
finger??????? 注:查看用戶信息工具
id????????????? 注:查看用戶的UID、GID及所歸屬的用戶組
-u: 顯示UID
-g: 顯示GID
-G: 顯示用戶所屬的組的ID
-n: 顯示名稱,需配合ugG使用
chsh ? ?注:指定shell
chfn????????? 注:更改用戶信息工具
chage[OPTION]… LOGIN
-d LAST_DAY
-E –expiredateEXPIRE_DATE
-I –inactive INACTIVE
-m –mindaysMIN_DAYS
-M –maxdaysMAX_DAYS
-W –warndaysWARN_DAYS
–l 顯示密碼策略
?示例:
chage-d 0 tom 下一次登錄強制重設密碼
chage-m 0 –M 42 –W 14 –I 7 tom
chage-E 2016-09-10 tom
su???????????? 注:用戶切換工具
cat /etc/passwd = getent passwd 查看用戶信息
authconfig–passalgo=sha256 –update 更改加密算法
openssl rand -base64 30 隨機生成30位口令
suUserName:非登錄式切換,即不會讀取目標用戶的配置文件,不改變當前工作目錄
su-UserName:登錄式切換,會讀取目標用戶的配置文件,切換至家目錄,完全切換
?root su至其他用戶無須密碼;非root用戶切換時需要密碼
管理用戶組的工具或命令
groupadd? 注:添加用戶組;
-g GID: 指明GID號;[GID_MIN, GID_MAX]
-r: 創建系統組
CentOS 6: ID<500
CentOS 7: ID<1000
groupdel???????? 注:刪除用戶組;
groupmod??????? 注:修改用戶組信息
-n group_name: 新名字
-g GID: 新的GID
gpasswd ? 注?:組密碼
gpasswd[OPTION] GROUP
-a user 將user添加至指定組中
-d user 從指定組中移除用戶user
-A user1,user2,… 設置有管理權限的用戶列表
gpasswd[OPTION] GROUP
-a user 將user添加至指定組中
-d user 從指定組中移除用戶user
-A user1,user2,… 設置有管理權限的用戶列表
newgrp命令:臨時切換主組
如果用戶本不屬于此組,則需要組密碼
groupmems
-g, –group groupname更改為指定組(只有root)
Actions:
-a, –add username 指定用戶加入組
-d, –delete username 從組中刪除用戶
-p, –purge 從組中清除所有成員
-l, –list 顯示組成員列表
groups???? 注:顯示用戶所屬的用戶組
grpconv?? 注:通過/etc/group和/etc/gshadow 的文件內容來同步或創建/etc/gshadow ,如果/etc/gshadow 不存在則創建;
grpunconv?? 注:通過/etc/group 和/etc/gshadow 文件內容來同步或創建/etc/group ,然后刪除gshadow文件;
chown ? 注:修改文件的屬主
-R: 遞歸
chgrp ? ?? 注:修改文件的屬組
-R: 遞歸
批量創建用戶
newusers user.txt
cat pass.txt |chpasswd
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/88515