在linux系統上,用戶管理是基于用戶名和密碼的方式進行資源的分配,了解和掌握用戶與組的管理是從事運維工作所必須具備的能力,也是將來從事運維行業的重要工作之一。這里我將介紹Linux系統中用戶與組的一些相關概念及管理用戶與組的常見命令等:
*安全3A
Linux通過三個機制來保證用戶的安全:
Authentication:認證
Authorization:授權
Accouting|Audition:審計
*用戶user
令牌:token
Linux用戶:Username
管理員:root,UID=0(擁有對系統的最高操作權限)
普通用戶:
系統用戶:1-499,1-999(centos7)
登錄用戶:500+,1000+(centos7)
*組 group:
Linux組:Groupname/GID
管理員組:root,GID=0
普通組:
系統組:1-499,1-999(centos7)
普通組:500+,1000+(centos7)
在創建用戶不指定組的情況下,默認創建一個與該用戶名相同的組作為該用戶的主組
*組的類別:
用戶的主要組:
用戶必須屬于一個且只有一個主組
組名同用戶名,且僅包含一個用戶,私有組
用戶的附加組:
一個用戶可以屬于零個或多個附加組
*安全上下文
進程所能夠訪問資源的權限取決于進程的運行者的身份
*用戶和組的配置文件
/etc/passwd:??????? 存放用戶及其屬性信息
/etc/shadow:?????? 存放用戶密碼及其相關信息
/etc/group:? 存放組及屬性信息
/etc/gshadow:???? 存放組密碼及其相關信息
/etc/default/useradd:新建賬戶模板信息
/etc/passwd
name:password:UID:GID:GECEO:directory:shell
1.用戶名
2.密碼:顯示為x
3.UID:用戶ID
4.GID:組ID
5.描述信息:GECOS,可添加用戶描述信息
6.家目錄:用戶家目錄
7.shell類型:用戶shell類型
/etc/shadow
1.用戶名
2.密碼加密:算法$6;!!表示賬戶鎖定
3.上次修改密碼時間:距離1970.1.1的天數
4.密碼最小修改時間:距離下次修改密碼至少需間隔的天數(0表示隨時可變更)
5.密碼最大修改時間:距離本次密碼修改時間最多可間隔的天數(99999表示永不過期)
6.密碼提醒時間:距離密碼即將到期提前警告的天數
7.密碼到期后寬限時間:密碼到期后賬戶還能使用的天數
8.賬戶有效期:該賬戶可使用的日期
9.保留區域:保留將來可能增加的區域
/etc/group
group_name:password:GID:user_list
1.組名
2.組密碼:普通用戶加入某個組時需要的密碼(不推薦設置密碼)
3.GID:組ID
4.組成員:“,”作為分隔符
/etc/gshadow
group_name:encrypted_password:administrators:members
1.組名
2.組密碼
3.組管理員(組長)
4.組成員:“,”作為分隔符
/etc/default/useradd
# useradd defaults file??????????? 創建用戶默認文件
GROUP=100???????????????????? 創建用戶無指定組時默認所屬的組users
HOME=/home????????????????????????? 創建用戶默認家目錄路徑
INACTIVE=-1??????????????????? 創建用戶時默認沒有寬限時間
EXPIRE=???????????????????????????? 創建用戶時默認有效期
SHELL=/bin/bash????????????????????? 創建用戶時默認shell類型
SKEL=/etc/skel????????????????????????? 創建用戶時家目錄模板
CREATE_MAIL_SPOOL=yes???????????? 創建用戶時默認創建郵箱
*文件操作
vipw???????? 等同于vi /etc/passwd
vigr ? ? ? ? ? 等同于vi /etc/group
pwck??????? 檢查passwd文件格式錯誤
grpck??????? 檢查group文件格式錯誤
*用戶與組的管理命令
用戶管理命令及常用選項:
useradd??????????? etc/default/useradd存放創建用戶時的默認信息
-u???? 指定uid(生產環境中多臺服務器保證程序是同一UID)
-o???? 不檢查UID的唯一性,需配合-u使用(不建議UID一樣)
-g???? 創建用戶時指定主組
-c? 創建用戶時添加描述
-d???? 創建用戶時指定家目錄路徑,二層目錄(生產環境中創建給服務用的賬戶可能會用到)
-s????? 創建用戶時指定shell類型/etc/shells
-r????? 創建系統用戶(默認不創建家目錄)
-m??? 強行創建家目錄,用于系統用戶,配合-r使用(生產環境中為服務生成系統用戶)-M???????? 強行不創建家目錄,用于普通用戶
-G???? 創建用戶時加入到多個輔助組里,多個輔助組用“,”分開
-N ? 創建一個用戶名和主組名不同的用戶,默認users作為主組
-p ? ?創建用戶添加密碼(不建議此種方式添加口令,口令會在shadow文件中明文)
usermod
-u???? 修改UID
-g???? 修改GID(組需存在)
-G???? 修改輔助組(會將原來的輔助組覆蓋),如果要保留原輔助組配合-a使用
-s????? 新的默認shell
-c???? 新的注釋信息
-d???? 新家目錄不會自動創建;若要創建新家目錄并移動原家數據,同時使用-m選項(-m -d有順序)
-l????? 新的用戶名
-L???? 用戶加鎖
-U??? 用戶解鎖(centos6以后禁止此方式解鎖)
userdel
-r????? 刪除用戶的所有文件,家目錄及郵箱(工作中不建議用,建議保留數據)
*組帳號維護命令及常用選項
groupadd
-g???? 指明GID號創建組
-r????? 創建系統組group(centos6:ID<500、centos7:ID<1000)
groupmod
-n???? 新的組名
-g???? 新的GID
groupdel 刪除組(前提沒有用戶以此組為主組)
groupmems???? 查看指定組的成員
-g???? 更改為指定組(只有root)
-a???? 指定用戶加入組
-d???? 從組中刪除用戶
-p???? 從組中清除所有成員
-l????? 顯示組成員列表(讀取的/etc/group文件中對應組的最后一個字段的全部內容)
gpasswd?????????? 給組添加口令
-a user???? 將user添加至指定組中
-d user???? 從指定組中移除用戶user
-A user1,user2…? 設置有管理權限的用戶列表(設置組管理員)
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/94787