从零开始学习Linux(二十一):用户管理命令

本章节我们详细介绍一下用户管理命令以及用户管理相关的文件。

1、添加用户命令 useradd

命令格式:useradd [选项] 用户名;
选项说明:

  • -u UID(指定用户的编号);
  • -d 家目录(指定用户的家目录);
  • -c 用户说明(指定用户的说明);
  • -g 组名(指定用户的初始组);
  • -G 组名(指定用户的附加组);
  • -s shell(指定用户的登陆shell,默认是/bin/bash);

参数选项是和 /etc/passwd 文件相对应。

新增用户后:
(1) 在/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow 文件中添加相应的配置信息;
(2)在/home下创建用户的家目录;
(3)创建用户的邮件;

创建用户zhoujielun,执行命令:

useradd zhoujielun

修改内容如下图所示:

我们在创建用户的时候,没有配置任何的参数选项,同样创建成功。这是因为useradd命令有默认配置信息,添加用户默认值文件 /etc/default/useradd 中。

查看 /etc/default/useradd文件,内容如下:

[root@VM-0-8-centos etc]# cat /etc/default/useradd
# useradd defaults file
GROUP=100          
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

GROUP=100 用户默认组
HOME=/home 用户家目录
INACTIVE=-1 密码过期宽限天数(shadow文件第七个字段)
EXPIRE= 密码失效时间(shadow文件第八个字段)
SHELL=/bin/bash 默认shell
SKEL=/etc/skel 模板目录
CREATE_MALL_SPOOL=yes 是否建立邮箱

普通用户的家目录:/home/用户名/
超级用户的家目录:/root/

将普通用户修改为超级用户后,家目录不会改变。

用户的邮箱存放在 /var/spool/mail/用户名/ 目录下面。
用户模板目录 /etc/skel。在创建新用户的时候,会按照用户模板目录下面创建文件。

举例:我们在 /etc/skel 目录中创建一个文件Information,输入内容“Hello World!!!”,如下图所示:

创建用户xusong,进入xusong的家目录,查看文件列表,发现里面也创建了Information文件。如下图所示:

2、修改用户密码 passwd

命令格式:passwd [选项] 用户名;
选项说明:

  • -S 查询用户密码的密码状态(仅root用户可以使用);
  • -l 锁定用户(仅root用户可以使用);
  • -u 解锁用户(仅root用户可以使用);
  • --stdin 可以通过管道符(|)输出的数据作为用户的密码;

使用zhoujielun账号登录服务器,查看用户密码状态。提示只有root可以那样做,如下图所示:

使用root用户执行命令,锁定zhoujielun用户,

passwd -l zhoujielun

使用zhoujielun用户再次登录Linux服务器,提示“拒绝访问”,如下图所示:

执行命令 passwd -u zhoujielun,解除锁定后,登录正常。

执行命令为xusong用户修改密码,密码为123。

echo "123" | passwd --stdin xusong

此种方式通常用于使用shell脚本批量为用户修改密码。

3、修改用户信息 usermod

命令格式:usermod [选项] 用户名;
选项说明:

  • -u 修改用户的UID号;
  • -c 修改用户的说明信息;
  • -G 修改用户的附加组;
  • -L 锁定用户;
  • -U 解锁用户;

按照如下顺序执行命令:

[root@VM-0-8-centos ~]# grep xusong /etc/shadow
[root@VM-0-8-centos ~]# usermod -L xusong
[root@VM-0-8-centos ~]# grep xusong /etc/shadow
[root@VM-0-8-centos ~]# usermod -U xusong
[root@VM-0-8-centos ~]# grep xusong /etc/shadow

如上图所示,锁定用户就是在用户的密码上增加!,解除锁定就是将!给删除。

4、修改用户密码状态 chage

命令格式:chage [选项] 用户名;
选项说明:

  • -l 列出用户的详细密码状态;
  • -d [日期] 修改密码最后一次更新时间(shadow文件第三个字段);
  • -m [天数] 修改两次密码间隔(shadow文件第四个字段)
  • -M [天数] 修改密码有效期(shadow文件第五个字段)
  • -W [天数] 修改密码过期前警告天数(shadow文件第六个字段)
  • -I [天数] 修改密码过期后宽限天数(shadow文件第七个字段)
  • -E [日期] 修改账号失效时间(shadow文件第八个字段)

修改用户zhoujielun密码最后更新时间为0,执行命令:

chage -d 0 zhoujielun

登录后,需要马上修改密码。

此命令经常用于登录系统后修改初始密码!!!

5、删除用户 userdel

命令格式:userdel [-r] 用户名;
选项说明:

  • -r:删除用户的同时删除用户家目录

执行命令 userdel -r xusong后,用户对应的家目录也被删除了,如下图所示:

5、 查看用户ID,UID,GID

命令格式:id 用户名 ;

6、用户切换命令 su

命令格式:su [选项] 用户名;
选项说明:

  • - 选项只使用“-”代表连带用户的环境变量一起切换;
  • -c 仅执行一次命令,而不切换用户身份;

非root权限是不允许创建用户的,在zhoujielun用户中不切换到root用户只一次执行命令创建用户wangsulong,执行命令:

su - root -c "useradd wangsulong"

你可能感兴趣的:(从零开始学习Linux(二十一):用户管理命令)