Linux常用命令-用户管理命令

用户管理命令

添加用户命令:useradd

添加新用户

语法

useradd [选项] 用户名

选项
  • -u UID: 手工指定用户的UID号
  • -d 家目录: 手工指定用户的家目录
  • -c 用户说明: 手工指定用户的说明
  • -g 组名: 手工指定用户的初始组
  • -G 组名: 手工指定用户的附加组
  • -s shell: 手工指定用户的登录shell,默认为/bin/bash
用户默认值文件
  • /etc/default/useradd
GROUP=100               # 用户默认组
HOME=/home              # 用户家目录    
INACTIVE=-1             # 密码过期宽限天数(字段7)
EXPIRE=                 # 密码失效时间(字段8)
SHELL=/bin/bash         # 默认shell
SKEL=/etc/skel          # 模板目录
CREATE_MAIL_SPOOL=yes   # 是否建立邮箱

  • /etc/login.defs
PASS_MAX_DAYS	99999           # 密码有效期(字段5)
PASS_MIN_DAYS	0               # 密码修改时间间隔(字段4)
PASS_MIN_LEN	5               # 密码最小5位(PAM)
PASS_WARN_AGE	7               # 密码到期警告(字段6)
UID_MIN                  1000   # 最大最小范围
UID_MAX                 60000
ENCRYPT_METHOD SHA512           # 加密模式

范例

添加用户user1:useradd user1

设置用户密码命令:passwd

设置用户密码

语法

passwd [选项] [用户名(空代表当前用户)]

选项
  • -S :查询用户密码的密码状态。仅root可用
  • -l : 暂时锁定用户。 仅root用户可用
  • -u : 解锁用户。仅root用户可用
  • –stdin: 可以通过管道符输出的数据作为用户的密码

范例

# 修改user1密码:
passwd user1

# 查看密码状态
(base) [root@localhost etc]# passwd -S user1
user1 LK 2021-02-14 0 99999 7 -1 (Password locked.)

# 锁定与解锁用户
passwd -l user1  # 在密码串前面加了'!!'
passwd -u user1


# 管道输入作为用户密码(shell中使用)
echo '123456'| passwd --stdin user1

查看登录用户信息命令:w/who/whoami

查看登录用户信息

语法

who

范例

# 详细信息
(base) [root@localhost etc]# w
 23:32:13 up 120 days, 19:45,  1 user,  load average: 0.00, 0.02, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    222.129.57.246   15:15    5.00s  0.13s  0.13s -bash


(base) [root@localhost etc]# who
root     pts/0        2021-02-15 14:47 (222.129.56.191)
# 格式:登录用户名 登录终端(tty本地终端,pts远程终端) 登录时间 IP地址 

# 用户名
(base) [root@localhost etc]# whoami
root

修改用户信息命令:usermod

修改用户信息

语法

usermod [选项] 用户名

选项
  • -u UID: 修改用户的UID号
  • -c 用户说明: 修改用户的说明信息
  • -G 组名: 修改用户的附加组
  • -L: 临时锁定用户
  • -U: 解锁用户锁定

范例

# 修改用户的说明
usermod -c "test user" lamp


#把lamp用户加入root组
usermod -G root lamp

修改用户密码状态命令:chage

修改用户密码状态

语法

chage [选项] 用户名

选项
  • -l: 列出用户详细密码状态
  • -d 日期: 修改密码最后一次更改日期(shadow字段3)
  • -m 天数: 两次密码修改间隔(字段4)
  • -M 天数: 密码有效期(字段5)
  • -W 天数: 密码过期前警告天数(字段6)
  • -I 天数: 密码过后宽限天数(字段7)
  • -E 日期: 账号失效时间(字段8)

范例

# 这个命令其实是把密码修改日期归0了(shadow第3字段)
# 这样用户一登陆就要修改密码
chage -d 0 lamp

删除用户命令:userdel

删除用户,知道用于影响文件和目录的前提下,可以手工删除。

语法

userdel [-r] 用户名

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

范例

# 删除用户及其相关路径
userdel -r user1

查看用户ID命令 id

(base) [root@localhost etc]# id root
uid=0(root) gid=0(root) groups=0(root)

切换用户身份命令:su

语法

su [选项] 用户名

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

范例

# 切换成root用户
[lamp@localhost ~]$ su – root

# 不切换root,但是执行useradd 命令添加user3用户
[lamp@localhost ~]$ su - root -c "useradd user3"

扩展 uptime命令

  • uptime:查看当前系统运行时间以及负载情况
# uptime
 23:45:24 up 120 days, 19:59,  1 user,  load average: 0.13, 0.04, 0.05
 
 load average: 过去一分钟,五分钟,十五分钟的负载情况

用户配置文件

用户信息文件/etc/passwd

在这里插入图片描述

存放用户信息,7个字段

  1. 字段1:用户名称
  2. 字段2:密码标志
  3. 字段3:UID(用户ID)
    • 0:超级用户,如果想把用户设置为超级用户,改此用户的UID为0即可。
    • 1-999:系统用户
    • 1000-65535:普通用户
  4. 字段4:GID(用户初始组ID)
    • 初始组:只能有一个,创建用户时,自动创建同名初始组
    • 附加组:可以有多个,根据需求添加
  5. 字段5:用户说明
  6. 字段6: 家目录
    • 普通用户:/home/用户名/
    • 超级用户:/root/
  7. 字段7:登录之后的shell
    • /bin/bash
    • /sbin/nologin
    • /usr/bin/passwd

影子文件/etc/shadow

在这里插入图片描述

存放用户密码,9个字段

  1. 字段1:用户名
  2. 字段2:加密密码
    • 加密算法为SHA512散列加密算法
    • 如果密码位是“!!”或“*”,代表没有密码,不能登录
  3. 字段3:密码最后一次修改日期
    • 使用1970-1-1作为标准时间,每过一天时间戳+1
  4. 字段4:两个密码的修改间隔时间(与字段3相比)
  5. 字段5:密码有效期(和字段3相比) 99999代表永久有效
  6. 字段6:密码修改到期前的警告天数(和字段5相比)
  7. 字段7:密码过期后的宽限天数(和字段5相比)
    • 0/空:代表密码过期后立即失效
    • -1:代表密码永远不会失效
  8. 字段8:账号失效时间
    • 时间戳表示
  9. 字段9:保留字段

知识点:时间戳换算方法(字段8)

  • 时间戳换算为日期
date -d "1970-01-01 16066 days"
  • 日期换算时间戳
echo $(($(date --date="2014/01/06" +%s)/86400+1))

组信息文件/etc/group

存放组相关信息,四个字段

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DKZ2BIGE-1615653107094)(C5957F2F151D4E20B7AE3464E1E765B3)]

  1. 字段1: 组名
  2. 字段2:组密码标志
  3. 字段3:GID
  4. 字段4:组中附加用户

组密码文件/etc/gshadow(一般不用)

存放组的密码信息,四个字段
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DzdEO1C1-1615653107098)(8C6F10807EE045B2886D557FD02E68E1)]

  1. 字段1:组名
  2. 字段2:组密码
  3. 字段3:组管理员用户名
  4. 字段4:组中附加用户

扩展:四个文件操作权限

密码文件默认不可编辑,只能UID为0的用户可以操作。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5OslwVcV-1615653107100)(26A7E61D7C354D619BB8352056674F4A)]

用户管理相关文件

  1. 用户家目录
    • 普通用户:/home/用户名 ,权限为700
    • 超级用户:/root ,权限550。用户改为超级用户之后,家目录不变。
  2. 用户邮箱:/var/spool/mail/用户名
  3. 用户模板目录:/etc/skel
    • 作用:创建用户时,会拷贝模板目录下面的所有文件到用户家目录。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值