用戶和組的概念
用戶組是具有相同特征用戶的邏輯組合,需要讓多個用戶具有相同的權限時,如查看、修改某一個文件的權限,一種方法是分別對多個用戶進行訪問授權,若有是個用戶就授權十次, 此方法效率不高;而另一種方法就是建立一個組,讓這個組具有查看、修改文件的權限,然后將所有需要訪問此文件的用戶統一放到一個組內,那么組內的所有用戶就擁有了和組一樣的權限,這就是組。用戶和組的關系屬于多對多的關系
- 用戶user
- 管理員:root,0
- 系統用戶:1-499(centos6),1-999(centos7)對守護進程?? 獲 取資源進行權限的分配
- 登陸用戶:500+,1000+(centos7) 交互式登陸
- 組group
- 管理員組:root,0
- 系統組:1-499,1-999
- 普通組:500+,1000+
Linux組的類別
用戶的主要組:用戶必須屬于一個且只有一個主組,組名同用戶名,且僅包含一個用戶,私有組
用戶的附加組:一個用戶可以屬于零個或多個輔助組。
用戶和組的配置文
/etc/passwd:用戶及其屬性信息(名稱,UID,主組ID等)
account:password:UID:GID:GECOS:directory:shell
- 登錄用名(wang)
- 密碼 (x)
- 用戶身份編號 (1000)
- 登錄默認所在組編號 (1000)
- 用戶全名或注釋
- 用戶主目錄 (/home/wang)
- 用戶默認使用shell (/bin/bash)
/etc/shadow:用戶密碼及其相關屬性
- 登錄用名
- 用戶密碼:一般用sha512加密
- 從1970年1月1日起到密碼最近一次被更改的時間 u
- 密碼再過幾天可以被變更(0表示隨時可被變更) u
- 密碼再過幾天必須被變更(99999表示永不過期) u
- 密碼過期前幾天系統提醒用戶(默認為一周) u
- 密碼過期幾天后帳號會被鎖定
- 從1970年1月1日算起,多少天后帳號失效
/etc/group:組及其屬性信息
- 群組名稱:就是群組名稱
- 群組密碼:通常不需要設定,密碼是被記錄在 /etc/gshadow uGID:就是群組的 ID
- 以當前組為附加組的用戶列表(分隔符為逗號)
- /etc/gshadow:組密碼及其相關屬性
- 群組名稱:就是群組名稱
- 群組密碼:
- 組管理員列表:組管理員的列表,更改組密碼和成員 u以當前組為附加組的用戶列表:(分隔符為逗號)
用戶和組管理命令
- 創建用戶useradd
-u:指定用戶id(可指定數臺電腦主機id一致)
-r:創建系統用戶
-s :shell指明用戶的默認shell程序,可用列表在/etc/shells
-d:HOME以指定的路徑(不存在)為家目錄
-c:”comment” 用戶的注釋信息
-g:GID指明用戶所屬基本組,可為組名,也可以GID
-G:GROUP1,[GROUP2,…]為用戶指明9644加組,組必須事先存在
-m:
useradd -s /sbin/nologin -r -d /data/mysql -m -u 1234
- 修改用戶屬性usermod
語法:usermod [option] login
-u:新UID
-s:新的默認shell
-d:新家目錄不會自動創建;若要創建新家目錄并移動原家數據,同時使用-m選項
-c:新的注釋信息
-G:新附加組,原來組會被覆蓋,若要保留原有,需要同時使用-a選項。
-l:新的名字,例:usermod -l qqqqqq mysql
- 刪除用戶userdel
語法:userdel [option]… login
-r:刪除用戶家目錄
- 創建組groupadd
語法:groupadd [option]… groupadd_name
-g GID: 指明GID號;[GID_MIN, GID_MAX]
-r: 創建系統組
entOS 6: ID<500
CentOS 7: ID<1000
- 修改組groupmod
語法:groupmod [option]… group
-n:新名字
-g:新組id
- 刪除組groupdel
語法:groupdel group
- 設置密碼
修改指定用戶的密碼:passwd [ OPTIONS] UserName
常用選項:
-d:刪除指定用戶密碼
-l:鎖定指定用戶
-u:解鎖指定用戶
-e:強制用戶下次登錄修改密碼
-f: 強制操作
-n mindays: 指定最短使用期限
-x maxdays:最大使用期限
-w warndays:提前多少天開始警告
-i inactivedays:非活動期限
–stdin:從標準輸入接收用戶密碼
echo “PASSWORD” | passwd –stdin USERNAME
- 修改組密碼
語法:gpasswd [OPTION] GROUP
-a user 將user添加至指定組中
-d user 從指定組中移除用戶user
-A user1,user2,… 設置有管理權限的用戶列表
- 更改和查看組成員
groupmems [options] [action]
options:
-g, –group groupname?? 更改為指定組 (只有root)
Actions:
-a, –add username???? 指定用戶加入組
-d, –delete username?? 從組中刪除用戶
-p, –purge?????????????? 從組中清除所有成員
-l, –list???????????????? 顯示組成員列表
groups [OPTION].[USERNAME]… 查看用戶所屬組列
- 新建用戶的相關文件和命令
- /etc/default/useradd
- /etc/skel/*
- /etc/login.defs
- newusers passwd格式文件,批量創建用戶
語法:newusers [options][file]
- chpasswd:批量修改用戶口令
工作原理:從系統的標準輸入讀入用戶的名稱和口令,并利用這些信息來更新系統上以存在的用戶的指令
例:使用passwd..txt里面的用戶名密碼批量修改相應用戶的密碼
1.首先建立passwd.txt文件,格式為[username:userpassword]
user:123456
user2:12345
2.將passwd.txt文件的內容傳輸到chpasswd指令來修改相應用戶的密碼
cppasswd < passwd.txt
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/95566