Linux命令:useradd、passwd

useradd、passwd


useradd

每个系统的用户都有一个ID,用户的ID成为 UID,UID 是区分用户的唯一标志。

  • Linux 中的三类用户:
    • root用户(UID 为 0)
    • 系统用户(UID 为 1~999)系统用户不能登陆,登录的 shell 为 /sbin/nologin
    • 普通用户(UID 为 1000~60000)

  • useradd 命令的底层操作
    • 读取 /etc/login.defs 和 /etc/default/useradd
    • 向以下文件中添加用户数据
      • /etc/passwd
      • /etc/group
      • /etc/shadow
      • /etc/gshadow
    • 创建用户主目录
    • 复制 /etc/skel 目录中的所有文件到主目录
  • ⚠︎ 可以手工完成这些操作以创建新用户

用法:

useradd [option] username

选项:

选项参数 功能
-g 指的用户所属的群组
-G 指定用户所属的附加群组
-u 指定用户 ID
-f 指定账号在密码过期后多少天关闭账号
-e 指定账号有效期限
-M 创建用户时不会创建用户的主目录
-d 指定用户登陆时的起始目录
-s 指定用户登陆时所用的 shell
-c 备注文字,该内容保存在 passwd 文件中

当使用 root 来创建一个新用户的时候,如果这个新用户没有创建登录的密码,那么该用户是无法正常登陆的。


passwd

passwd [option] username
选项 功能
-d 删除账号的密码
-l 锁定已经命名的账号名称,只有 root 才可以使用
-n, --minimum=DAYS 最小密码使用时间(天)
-S 检查指定使用者的密码认证种类
-u 解开账号锁定状态
-x,--maximum=DAYS 最大密码使用时间(天)

实操:使用 useradd 创建一个名为 kuku 的用户,该用户创建时不设置密码,同时使用 -u、-e、-f 参数,使得在密码过期7天后账号账户关闭,在8天后账户取消,再创建一个 lalo 该用户设置了密码,其他不做配置。查看相关配置文件的配置情况。

在创建用户的时候后,用户的相关信息保存在 /etc/passwd/etc/shadow/etc/group/etc/gshadow,这里主要关注于前两个文件。

/etc/passwd 字段安排

用户名:密码:UID:GID:用户描述:用户主目录:用户登陆的Shell

/etc/shadow 字段安排

账号名称:密码:上次更改密码的日期:密码可存在的最小日期:密码存在的最大日期:密码警告期限:账号失效:账户取消时间:保留字段,此字段保留以备将来使用

相关连接:[Linux用户配置文件](Linux系统账户配置文件 passwd 与 shadow - chsucstar - 博客园 (cnblogs.com) "Linux用户配置文件")


[root@localhost ~]# useradd lalo
[root@localhost ~]# passwd lalo
Changing password for user lalo.
New password: # 密码为 lalo@123
BAD PASSWORD: The password contains the user name in some form
Retype new password: # 密码为 lalo@123
passwd: all authentication tokens updated successfully

[root@localhost ~]# useradd kuku -u 1800 -e 7 -f 8
[root@localhost ~]# cat /etc/passwd
lalo:x:1601:1601::/home/lalo:/bin/bash
kuku:x:1800:1800:kuku:/home/kuku:/bin/bash
[root@localhost ~]# cat /etc/shadow
lalo:$6$oUXsxWOi$obRANJNZHSy59/5ls/izQQPob7H9K3AZiMwEF07QEHaZCWK2OPVYkhhh9V7l4ZDrL9lM./ZvsAO2PD5TlMBpQ0:19860:0:99999:7:::
kuku:!!:19860:0:99999:7:8:7:
posted @ 2024-05-17 10:19  takenika  阅读(205)  评论(0)    收藏  举报