0


【Linux】用户管理命令

文章目录

用户配置文件

用户信息文件

路径: /etc/passwd

首先获得该配置文件的帮助信息:

[root@localhost ~]# man 5 passwd

进入配置文件:

[root@localhost ~]# vim /etc/passwd

在这里插入图片描述

第一字段:
用户名称

第二字段:
密码标志,但密码存在 /etc/shadow 中,这是因为passwdshadow的权限不同,只有root用户才能查看shadow文件。

在这里插入图片描述

第三字段:
UID(用户ID)

  • 0: 超级用户
  • 1-999: 系统用户
  • 1000-65535 普通用户

第四字段:
GID(用户初始组ID)

  • 初始组:每个用户只有一个初始组,一般就是和这个用户名相同的组名作为这个用户的初始组。
  • 附加组:指用户可以加入多个其他的用户组,并拥有这些组的权限,附加组可以有多个。

第五字段:
用户说明(备注)

第六字段:
家目录

  • 普通用户:**/home/用户名/**
  • 超级用户:**/root/**

第七字段:
登陆之后的Shell

  • ShellLinux的命令解释器。
  • /etc/passwd 当中,除了标准Shell/bin/bash 之外,还可以写如 /sbin/nologin

影子文件

路径:/etc/shadow

进入配置文件:

[root@localhost /]# vim /etc/shadow

在这里插入图片描述

第一字段:
用户名

第二字段:
加密密码

  • SHA512散列加密算法。
  • 如果密码位是 “!!”“*” 代表没有密码,不能登陆。

第三字段:
密码最后修改日期。

  • 1970年1月1日到修改密码日期的总天数。

第四字段:
两次密码的修改间隔时间。

第五字段:
密码有效期(以第三字段为起点)。

第六字段:
密码修改到期前的警告天数(以第五字段为起点)。

第七字段:
密码过期后的宽限天数。

  • 0代表密码过期后立即失效。
  • -1表示密码永远不会失效。

第八字段:
账号失效时间。

  • 用时间戳表示。

第9字段:
保留

组信息文件和组密码文件

组信息文件/etc/group

在这里插入图片描述

第一字段:
组名

第二字段:
组密码标志

第三字段:
GID

第四字段:
组中附加用户

组密码文件/etc/gshadow

在这里插入图片描述

不太重要,这里就不说了。

用户管理相关文件

用户的家目录

普通用户:/home/用户名/,所有者和所属组都是此用户,权限是700。

超级用户: /root/,所有者和所属组都是root用户,权限是550。

用户的邮箱

路径:/var/spool/mail/

用户模板目录

路径:/etc/skel/

新建一个用户,会将**/etc/skel/**中的文件拷贝在该用户的的目录下,可以理解为新建用户时默认产生的文件,例如帮助文档,操作指南等。

用户管理命令

用户添加命令

命令格式

useradd[选项] 用户名
选项:
    -u UID:#人为指定用户UID号
    -d 家目录:          #手工指定用户的家目录
    -c 用户说明:     #手工指定用户的说明
    -g 组名:           #手工指定用户的初始组
    -G 组名:           #指定用户的附加组
    -s Shell:        #手工指定用户的登陆shell。默认是/bin/bash

例如建立一个名叫ceshi的用户:

useradd -u 250 -G root,bin -c "test" -d /zhou -s /bin/bash ceshi

用户默认值文件

  • 路径 /etc/default/useradd
GROUP=100#用户默认组HOME=/home        #用户家目录INACTIVE=-1        #密码过期宽限天数(shadow的第7个字段)EXPIRE=#密码失效时间(shadow的第8个字段)SHELL=/bin/bash    #默认shellSKEL=/etc/skel    #模板目录CREATE_MAIL_SPOOL=yes    #是否建立邮箱

但这个文件中只定义了shadow文件的第七和第八个字段,其余字段的定义在下面这个文件中。

  • 路径 /etc/login.defs
PASS_MAX_DAYS            #密码有效期(shadow的第5个字段)
PASS_MIN_DAYS            #密码修改间隔(shadow的第4个字段)
PASS_MIN_LEN            #密码的最小位数(现在是PAM生效)
PASS_WARN_AGE            #密码到期警告(shadow的第6个字段)
UID_MIN                    #最小和最大UID范围
UID_MAX
ENCRYPT_METHOD SHA512    #密码加密算法是SHA512

修改用户密码

命令格式

passwd[选项] 用户名
选项:
    -S        #查询用户密码的密码状态,仅root可用
    -l        #暂时锁定用户(仅root可用)
    -u        #解锁用户(仅root可用)
    --stdin    #可以通过管道符输出的数据作为用户的密码

这里重点说一下最后一个选项的使用:

echo"456"|passwd --stdin 用户名

这句命令的意思是默认将456这个字符串作为该用户的密码,这种方法在创建多个用户时比较有效。

修改用户信息

usermod[选项] 用户名
选项:
    -u UID#修改用户的UID号
    -c "用户说明"#修改用户的说明信息
    -G 组名            #修改用户的附加组
    -L                    #临时锁定用户(Lock)
    -U                    #解锁用户锁定(Unlock)

修改用户密码状态

其实用vim直接修改shadow文件更好。

chage [选项] 用户名
选项:
    -l            #列出用户的详细密码状态
    -d 日期:      #修改密码最后一次更改日期(shadow第3字段),天数设为0就可以使用户登陆就要修改密码
    -m 天数:      #两次密码修改间隔(第4字段)
    -M 天数:      #密码有效期(第5字段)
    -W 天数:      #密码过期前警告天数(第6字段)
    -I 天数:      #密码过后宽限天数(第7字段)
    -E 日期:      #账号失效时间(第8字段)

删除用户

userdel -r 用户名
选项:
    -r    #连同用户的家目录一起删除

用户ID

id 用户名

切换用户身份

su[选项] 用户名
选项:
    -:            #连带用户的环境变量一起切换
    -c "命令":      #仅执行一次命令,而不切换用户身份

示例:

su - root
su - root -c "useradd zhou"

用户组管理命令

添加用户组

groupadd[选项] 组名
选项:
    -g GID:            #指定组ID

修改用户组

groupmod[选项] 组名
选项:
    -g GID:            #修改组ID
    -n 新组名:          #修改组名

例如将user1改为user2(但不建议修改组名):

groupmod -n user1 user2

删除用户组

groupdel 组名

如果该组没有初始用户才可进行删除,要想删除,要优先删除初始用户。

将用户添加进组或从组中删除

gpasswd [选项] 组名
选项:
    -a 用户名:        #把用户加入组
    -d 用户名:        #把用户从组中删除
标签: linux vim 服务器

本文转载自: https://blog.csdn.net/watermelon_c/article/details/122928705
版权归原作者 大拨鼠 所有, 如有侵权,请联系我们删除。

“【Linux】用户管理命令”的评论:

还没有评论