美文网首页
从零开始学习Linux(二十一):用户管理命令

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

作者: 通靈鹿小六 | 来源:发表于2020-12-13 07:50 被阅读0次

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

    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(二十一):用户管理命令

          本文链接:https://www.haomeiwen.com/subject/ftpegktx.html