常见用户管理命令
添加用户
useradd
useradd用来添加新的用户,语法是:
useradd [OPTION] NAME
常用选项如下:
Option | 用途 |
---|---|
-u | UID |
-o | 配合-u选项,不检查UID的唯一性 |
-c | 添加描述 |
-d | 指定用户家目录 |
-f | 设定密码多少天后过期,0则创建后马上过期 |
-g | 指定用户所属组 |
-G | 指定用户附加组 |
-M | 不创建家目录 |
-m | 创建家目录,用于系统用户 |
-r | 创建系统账户 |
-s | 指定用户shell类型 |
-p | 指定用户口令 |
newusers
newusers用于批量创建用户,后面跟用户文件,格式应该与/etc/passwd
相同
修改用户
usermod
usermod用来修改已有用户的信息,语法是:
usermod [OPTION] NAME
常用选项如下:
-c
、-d
、-g
、-s
、-u
、-p
选项的意义与useradd
中的参数一样
Options | 用途 |
---|---|
-f | 设定非活动期限 |
-e | YYYY-MM-DD用户过期日期 |
-l | 新的名字 |
-L | 锁定用户,在/etc/shadow密码栏增加"!" |
-U | 解锁 |
-G | 新附加组,原来的附加组会被覆盖,若要保留原来的附加组,则要同时使用-a选项 |
chsh
与usermod -s
命令相同,用来修改用户登录时使用的shell
类型
删除用户
userdel
userdel用来删除用户,语法是:
userdel [OPTION] NAME
常用选项:
Options | 用途 |
---|---|
-r | 同时删除家目录,不带此选项删除用户时不会删除用户家目录 |
-f | 强制删除用户,即使正在登陆使用中的用户也可删除 |
修改口令
passwd
passwd可以用来修改口令信息,语法是:
passwd [OPTION] USERNAME
常用选项如下:
Options | 用途 |
---|---|
-l | 锁定口令,这会禁用账号 |
-u | 解锁口令 |
-d | 删除口令 |
-f | 强制用户下次登陆必须修改口令 |
-e | 强制用户下次登录改密码 |
-n | 指定最短使用期限 |
-x | 指定最大使用期限 |
-w | 提前几天开始warning |
-i | 非活动期限 |
--stdin | 从标准输入接收密码 |
不加参数即修改当前登陆用户的口令
chpasswd
chpasswd可以用来批量修改用户密码信息,可以输入命令以交互式方式依次输入用户名和密码对,也可以使用管道接受其他输入,例如: echo "user:password" | chpasswd
chage
与passwd
命令的一部分动能类似,用来管理用户口令的时间相关的值
常见用户组管理命令
添加用户组
groupadd
可用来增加新用户组,语法是:groupadd [OPTION] GROUPNAME
,-g
指定用户组的GID号,加上-o
可忽略GID唯一性删除用户组
groupdel
可用来删除用户组,语法是:groupdel [OPTION] GROUPNAME
修改用户组信息
groupmod
可用来修改用户组信息,语法是:groupmod [OPTION] GROUPNAME
,-g
指定GID,同样可以用-o
忽略唯一性,-n
将用户组名字改成新的名字用户组口令修改
gpasswd
可以用来修改设置组口令,设置群组管理员代替root
进行群管理,包括添加、删除用户的功能,基本格式如下:gpasswd OPTIONS GROUPNAME
Options | 用途 |
---|---|
Null | 选项为空时,表示给群组设置密码,仅 root 用户可用。 |
-A user1,... | 设置 user1,... 等用户为群组的管理员,仅 root 用户可用。 |
-M user1,... | 将 user1,... 加入到此群组中,仅 root 用户可用。 |
-r | 移除群组的密码,仅 root 用户可用。 |
-R | 让群组的密码失效,仅 root 用户可用。 |
-a user | 将 user 用户加入到群组中,群组管理员使用 |
-d user | 将 user 用户从群组中移除, 群组管理员可用 |
- 更改查看组成员
groupmems
可以用来更改和查看组内成员,使用场景不多。
用户和用户组数据库文件查看
getent
用来察看系统的数据库中的相关记录, 例如 getent passwd
, getent gshadow
实例
创建用户gentoo
,附加组为bin
和root
,默认shell
为/bin/csh
,注释信息为 "Gentoo Distribution"
[root@436f5bf59c65 /]# useradd -s /bin/csh -c "Gentoo Distribution" -G bin,root gentoo
[root@436f5bf59c65 /]# echo $?
0
[root@436f5bf59c65 /]# getent passwd gentoo
gentoo:x:1000:1000:Gentoo Distribution:/home/gentoo:/bin/csh
[root@436f5bf59c65 /]# groups gentoo
gentoo : gentoo root bin