用戶管理命令
用戶和組的主要配置文件
- /etc/passwd
- /etc/group
- /etc/shadow
- /etc/gshadow
chfn : 用來修改賬號的描述信息
格式 chfn [options] username
- -f<真實姓名>或–full-name<真實姓名>:設置真實姓名;
- -h<家中電話>或–home-phone<家中電話>:設置家中的電話號碼;
- -o<辦公地址>或–office<辦公地址>:設置辦公室的地址;
- -p<辦公電話>或–office-phone<辦公電話>:設置辦公室的電話號碼;
- -u或–help:在線幫助; -v或-version:顯示版本信息。
finger :用於查找並顯示用戶詳細描述信息
格式 finger [options] usernam
- -l:列出該用戶的帳號名稱,真實姓名,用戶專屬目錄,登入所用的Shell,登入時間,轉信地址,電子郵件狀態,還有計劃文件和方案文件內容;
- -m:排除查找用戶的真實姓名;
- -s:列出該用戶的帳號名稱,真實姓名,登入終端機,閒置時間,登入時間以及地址和電話;
- -p:列出該用戶的帳號名稱,真實姓名,用戶專屬目錄,登入所用的Shell,登入時間,轉信地址,電子郵件狀態,但不顯示該用戶的計劃文件和方案文件內容。
- 系統默認是沒有安裝的需要手動安裝
id :查看用戶的UID,GID ,組ID
- 直接查詢輸入id會查詢的是當前用戶信息
- id username 查詢的是username的用戶
chsh 更改用戶登錄shell
- chsh -s /bin/csh username
- 更改完信息要重新登錄才能生效
/etc/shadow 用戶口令密碼文件
- 文件格式 用戶名:加密後的密碼:最近一次修改密碼的時間:密碼最短有效期:密碼最長
- 更改密碼加密密鑰 authconfig –passalgo=sha256 –update
- 命令產生隨機口令 openssl rand -base64 30
chage 修改用戶密碼時間有效期
- 用法:chage username 交互式更改
- -l 顯示密碼策略
- -E 密碼過期時間 2016-10-10
設置口令的方法
- echo 密碼 | passwd –stdin username 這種方法可以看到設置的密碼不用輸入兩次
- passwd usernam 這種也可以
如何讓用戶登錄後改密碼只要把最後一次改密碼時間爲0就是登錄後改密碼
- 修改etc/shadow 文件把最後一次改密碼日期爲0
- passwd -e username
- chage -d日期 usernam
如何添加附屬組和更改主組和給組加密碼
- groups usname 查看用戶組
- getent group username 查看指定用戶組文件信息
- 如何添加附屬組命令 usermod -aG 組名 用戶名
- newgrp 切換主組 newgrp 組名
- gpasswd 組名 給組加密碼
- gpasswd -A 用戶名 組 把這個用戶當成這個組的管理員
- gpasswd -a username group 把用戶添加組
- gpasswd -d username group 刪除組
- usermod -G group username 也可以添加組 -a 是追加組,如果不加-a 默認會覆蓋當前附屬組
- groupmems -a username -g group 也可添加組
- groupmems -d username -g group 刪除組
- groupmens -l -g group 查看組列表成員
如何用命令操作組和用戶的配置文件
vipw、vigr
- vipw 是修改/etc/passwd 配置文件的在保存時會檢查格式和語法
- vipw -s 是修改shadow 文件
- vigr 是修改/etc/group 配置文件的保存時也會檢查語法和格式
- vigr -s 是修改gshadow 文件
pwck、grpck 用於檢查passwd、group 這兩個文件是否有語法格式等錯誤
創建用戶名
useradd [選項] 用戶名
- -u :指定u ID
- -g :指定主組
- -m :指定家目錄
- -M :指定不建立家目錄
- -G :指定附加組多個附加組可以用,號分隔
- -N :不創建主組(默認會自動加入user組)
- -r :創建系統用戶
- -d :指定家目錄
- -c :用戶描述信息
- -s :指定用戶登錄shell
創建用戶的默認配置文件
[root@centos7 ~]# cat /etc/default/useradd
useradd defaults file
GROUP=100 # 如果用-N不建立主組會默認加入這裏
HOME=/home # 默認創建家目錄的路徑
INACTIVE=-1 # 默認密碼過期寬限天數 -1這是沒有
EXPIRE= # 賬號有效期 空是99999
SHELL=/bin/bash # 默認創建用戶的shell
SKEL=/etc/skel #用戶家目錄裏的默認文件模板
CREATE_MAIL_SPOOL=yes # 用戶郵件文件
也可以用useradd -D 查看和修改
#### 組和用戶的相關文件
1. /etc/default/useradd 創建用戶默認配置文檔
2. /etc/skel/* 用戶家目錄的模板文件
3. /etc/login.defs 文件定義了與/etc/password和/etc/shadow配套的用戶限制設定。
#### 如何批量創建用戶
- 首先創建一個文本文檔,裏面要和/etc/passwd 裏面的格式一樣
xiaofeng:x:1203:1204::/home/xiaofeng:/bin/nologin
xiaowang:x:1204:1005::/home/xiaowang:/bin/bash
1234:x:1234:985::/app/123:/bin/bash
sarah:x:1239:1240::/home/sarah:/bin/nologin
[root@centos6 ~]# newusers pass.txt
- 我們用getent passwd 查看一下 是否創建成功
xiaofeng:x:1203:1204::/home/xiaofeng:/bin/nologin
xiaowang:x:1204:1005::/home/xiaowang:/bin/bash
1234:x:1234:985::/app/123:/bin/bash
sarah:x:1239:1240::/home/sarah:/bin/nologin
[root@centos6 ~]#
- 已經創建成功了,但是我們還需要爲這些用戶創建密碼一個一個創建很麻煩SO我們也有批量創建密碼的命令
- 用chpasswd 命令可以批量創建用戶密碼,和之前一樣也是創建一個文本文檔格式是這樣
xiaofeng:123456
xiaowang:123456
1234:123456
sarah:123456
[root@centos6 ~]# cat 123.txt |chpasswd
用戶修改屬性
usermod 修改用戶屬性
- 格式用法 usermod [option] login
- -u :指定新的UID
- -g :指定新的主組(這個組必須要提前存在)
- -G :指定附加組默認是覆蓋當前附加組,需要加-a 追加
- -s :指定shell
- -c :更改用戶描述信息
- -d :指定用戶新的家目錄
- -l :更改用戶的名字
- -L :鎖定用戶
- -U :解鎖用戶
- -e :yyyy-mm-dd 指明用戶賬號過期日期
- -f :設定非活動期限
如何刪除用戶 useradd
- useradd 用戶 這樣不刪除用戶家目錄
- -r 是刪除用戶家目錄(要謹慎)
passwd 修改指定用戶的密碼,僅root用戶使用
- passwd 修改自己的密碼
- -l 鎖定指定用戶
- -u 解鎖指定用戶
- -e 強制用戶下次登錄時必須更改密碼
- -n 指定密碼最短使用期限
- -x 最大使用期限
- -w 提前多少天開始警告
- -i 非活動期限
- –stdin :從標準輸入接受用戶密碼
- echo ‘password’ | passwd –stdin username
組管理
創建組 groupadd [option]… group_name
組修改屬性 groupmod [option]…group
組密碼 gpasswd [option] group
- a 將user 添加至指定組中
- d 從指定組中移除用戶
- A 設置組管理員用戶
更改和查看組成員groupmems [option] [組]
- -a 指定用戶加入組
- -d 從組刪除用戶
- -p 從組清除所有組成員
- -l 列出組成員列表
- -g 更改爲指定組(只有root能使用)
刪除組 groupdel