1. 程式人生 > >用戶和組管理命令

用戶和組管理命令

max ucc 過期 file 部分 authent 活動 過去的 改密

一、用戶管理命令
1.useradd
useradd 用戶名
useradd -u xxx 用戶名 指定被創建用戶的uid為多少

-g gid 指明用戶所屬基本組
-c 用戶的註釋信息
-M 創建非系統用戶,不建家目錄
-s 指定用戶的默認shell
-e 用戶過期時間
-G 為用戶指明附加組,組須事先存在

創建用戶時默認值設定存放於/etc/default/useradd
[root@centos7 ~]#cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home #把用戶的家目錄建在/home中
INACTIVE=-1 #是否啟用帳號過期停權,-1表示不啟用
EXP IRE= #帳號終止日期,不設置表示不啟用
SHELL=/bin/bash #新用戶默認所用的shell類型
SKEL=/etc/skel #配置新用戶家目錄的默認存放路徑。當我們用useradd添加用戶時,用戶家目錄下的文件,都是從這裏配置的目錄中復制過去的。
CREATE_MAIL_SPOOL=yes #創建mail文件

案例1:創建用戶gentpp,附加組為bin和root,默認shell為/bin/csh,註釋信息為”Gentoo Distribution”。

[root@centos7 ~]#useradd gentpp -G bin,root -s /bin/csh -c “Gentoo Distribution”
[root@centos7 ~]#cat /etc/passwd|tail -n1  #查看/etc/passwd最後一行
[root@centos7 ~]#id gentpp
uid=1007(gentpp) gid=1008(gentpp) groups=1008(gentpp),0(root),1(bin)

/etc/login.defs

文件是用來定義創建用戶時所需要的一些用戶的配置信息。如創建用戶時,是否需要家目錄,UID和GID的範圍,用戶及密碼的有效期限等等。

2.usermod
-u UID: 新UID
-g GID: 新主組
-G 新附加組,原來的附加組將會被覆蓋;若保留原有,則要同時使用-a選項
- s 新的默認SHELL
-c 新的註釋信息
-d HOME: 新家目錄不會自動創建;若要創建新家目錄並移動原家數據,同時使用-m選項
-l login_name: 新的名字
-L lock指定用戶,在/etc/shadow 密碼欄的增加!
-U unlock指定用戶,將/etc/shadow 密碼欄取消!centos7不可以解鎖

案例:修改gentpp的默認shell和描述信息

[root@centos7 ~]#cat /etc/passwd | tail -n1
gentpp:x:1007:1008:Gentoo Distribution:/home/gentpp:/bin/csh
[root@centos7 ~]#usermod -s /bin/sh gentpp
[root@centos7 ~]#cat /etc/passwd | tail -n1
gentpp:x:1007:1008:new world:/home/gentpp:/bin/sh

3.userdel

-r 刪除用戶時,連同其家目錄,mail一同刪除

getent passwd ==cat /etc/passwd #查看用戶信息,後面可直接跟用戶名

 [root@centos7 ~]#getent passwd fan
 fan:x:1000:1000:ma:/home/ma:/bin/bash

4.ID
顯示當前用戶自身的信息
id 用戶名 顯示指定用戶的信息
id -u 用戶名 顯示指定用戶的uid
id -g 用戶名 顯示指定用戶的主組的gid
id -un 用戶名 顯示指定用戶的名字
id -gn 用戶名 顯示指定用的的主組的組名

案例:

[root@centos7 ~]#id gentpp
uid=1007(gentpp) gid=1008(gentpp) groups=1008(gentpp),0(root),1(bin)
[root@centos7 ~]#id -u gentpp
1007
[root@centos7 ~]#id -g gentpp
1008
[root@centos7 ~]#id -G gentpp
1008 0 1
[root@centos7 ~]#id -nG gentpp
gentpp root bin

5.su 切換用戶或以其他用戶身份執行命令
su 非登錄式切換,不會讀取目標用戶的部分配置文件,不改變當前工作目錄
su – 登錄式切換,會讀取目標用戶的配置文件,切換至家目錄,完全切換
root使用su切換至其他用戶無須密碼,其他用戶之間切換或者切換到root需要密碼

6.passwd 修改指定用戶的密碼,僅root用戶權限
-l:鎖定指定用戶
-u:解鎖指定用戶
-e:強制用戶下次登錄修改密碼
-n mindays: 指定最短使用期限
-x maxdays:最大使用期限
-w warndays:提前多少天開始警告
-i inactivedays:非活動期限
–stdin:從標準輸入接收用戶密碼

案例:修改fan的密碼

[root@centos7 ~]#echo fanhj |passwd –stdin fan
Changing password for user fan.
passwd: all authentication tokens updated successfully.

註意:一次只能修改一個用戶密碼,不能批量修改

二、組帳號管理命令

1.groupadd
-g 創建指定gid的組
-r 創建系統組 CentOS 6: ID<500
CentOS 7: ID<1000

2.groupmod
-n newgrpname oldgrpname 修改組名
-g newgid groupname 修改gid

3.groupdel
groupdel 組名 刪除組

4.gpasswd
-a user 將user添加至指定組中
-d user 從指定組中移除用戶user

5.groupmems[options] [action]
options
-g 更改為指定組
actions
-a 指定用戶加入組
-d 從組中刪除用戶
-p 從組中清除所有成員
-l 顯示組成員列表

root@centos7 ~]#groupmems -g admins -a f
[root@centos7 ~]#groupmems -g admins -a h #將ma和zhu用戶添加到admins中
[root@centos7 ~]#groupmems -g admins -l #查看admins中的用戶列表
fan  h
[root@centos7 ~]#groupmems -g admins -d f #將ma從admins中刪除
[root@centos7 ~]#groupmems -g admins -l
h
[root@centos7 ~]#groupmems -g admins -p #清空admins中的所有組成員
[root@centos7 ~]#groupmems -g admins –l

6.groups 查看用戶所屬組列表

[root@centos7 ~]#groups fan
fan : fan
root@centos7 ~]#groups h
h : h

用戶和組管理命令