用户介绍完了我们就需要了解用户的创建变更和删除等操作指令了。
1.新增用户 useradd
useradd命令用于Linux中创建的新的系统用户。useradd可用来建立用户帐号。帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号。使用useradd指令所建立的帐号,实际上是保存在/etc/passwd文本文件中。
** 注意: adduser命令软链接指向useradd命令**
语法格式:useradd 选项 参数
选项:
-u 指定要创建用户的UID,不允许冲突
-g 指定要创建用户默认组
-G 指定要创建用户附加组,逗号隔开可添加多个附加组
-d 指定要创建用户家目录
-s 指定要创建用户的bash shell
-c 指定要创建用户注释信息
-M 给创建的用户不创建家目录
-r 创建系统账户,默认无家目录
例:
创建Q_rabbit用户,UID5001,基本组students,附加组Q 注释信息:2020 new student,登陆shell:/bin/bash
[root@localhost ~]# groupadd students
[root@localhost ~]# groupadd Q #创建用户所需要的基本组以及附加组信息,使用groupadd命令即可
[root@localhost ~]# useradd -u 5001 -g students -G Q -c "2020 new students" -s /bin/bash Q_rabbit
#使用useradd以及各类选项创建新用户Q_rabbit
创建mysql系统用户,不建立用户家目录,指定nologin使用户无法登录系统
[root@localhost ~]# useradd mysql -M -s /sbin/nologin
[root@localhost ~]# useradd -r -dba -s /sbin/nologin
2.修改用户 usermod
usermod命令用于修改用户的基本信息。usermod命令不允许你改变正在线上的使用者帐号名称。当usermod命令用来改变user id,必须确认这名user没在电脑上执行任何程序。你需手动更改使用者的crontab档。也需手动更改使用者的at工作档。采用NIS server须在server上更动相关的NIS设定。
语法格式:usermod 选项 参数
选项:
-u 指定要修改用户的UID
-g 指定要修改用户基本组
-G 指定要修改用户附加组,使用逗号隔开多个附加组, 覆盖原有的附加组
-d 指定要修改用户家目录
-s 指定要修改用户的bash shell
-c 指定要修改用户注释信息
-l 指定要修改用户的登陆名
-L 指定要锁定的用户
-U 指定要解锁的用户
例:
- 检查此前创建的用户Q_rabbit信息
[root@localhost ~]# grep "Q_rabbit" /etc/passwd
bgx:x:5001:503:2020 new student:/home/bgx:/bin/bash
- 修改Q_rabbit用户uid、gid,附加组
[root@localhost ~]# groupadd -g 5008 network_sa
[root@localhost ~]# groupadd -g 5009 devops #新建两个分组
[root@localhost ~]# usermod -u 6001 -g5008 -a -G 5009 Q_rabbit #使用usermod来给用户修改组和附加组
- 修改Q_rabbit用户的注释信息, 用户家目录, 登录shell, 登录名
[root@localhost ~]# usermod -c "2019 new student" -md /bgx -s /bin/sh -l Q_pig Q_rabbit
- 锁定用户
[root@localhost ~]# echo "123" |passwd --stdin Q_pig #帮Q_pig设置一个密码为123
[root@localhost ~]# usermod -L Q_pig #锁定后会无法登录系统
- 解锁用户
[root@localhost ~]# usermod -U Q_pig
3.删除用户 userdel
userdel命令用于删除给定的用户,以及与用户相关的文件。若不加选项,则仅删除用户帐号,而不删除相关文件。
语法格式:useredl 选项 参数
选项:
-f:强制删除用户,即使用户当前已登录;
-r:删除用户的同时,删除与用户相关的所有文件。
例:
删除Q_pig用户,但是不删除用户家目录和 mail spool
[root@localhost ~]# userdel Q_pig
-r参数可以连同用户家目录一起删除(慎用)
[root@localhost ~]# userdel -r Q_pig
扩展
还有很多命令可以查看用户的信息,以下简单列举一些。
- 使用finger命名查询用户信息以及登录信息,示例: finger UserName
- 使用chfn命令修改用户信息,示例: chfn UserName
- 使用chsh命令修改用户登录Bash Shell,示例: chsh UserName
- 使用who、whoami、w检查用户登陆情况