用户管理相关配置文件及命令-2

本文索引:

  • 更改用户属性:usermod命令
    • 常用参数
  • 用户密码管理:passwd命令
    • 常用用法
      • 锁定密码
      • 解锁密码
    • 关于密码的几个建议
  • 自动创建密码:mkpasswd命令
    • 使用方法

usermod命令

更改用户属性

# 初始测试状态
[root@localhost ~]# tail -n 1 /etc/passwd
test:x:1001:1001::/home/test:/bin/bash

[root@localhost ~]# tail -n 1 /etc/shadow
test:!!:17460:0:99999:7:::

[root@localhost ~]# tail -n 1 /etc/group
test:x:1001:

[root@localhost ~]# id test
uid=1001(test) gid=1001(test) 组=1001(test)
常用参数
  • -g 修改用户gid或组名(组需存在)
[root@localhost ~]# usermod -g 1024 test
usermod:“1024”组不存在
[root@localhost ~]# groupadd -g 1024 test1
[root@localhost ~]# usermod -g 1024 test
[root@localhost ~]# tail -n 1 /etc/passwd
test:x:1001:1024::/home/test:/bin/bash
  • -u 修改uid或用户名
[root@localhost ~]# usermod -u 1024 test
[root@localhost ~]# tail -n 1 /etc/passwd
test:x:1024:1024::/home/test:/bin/bash
  • -G 设置用户还属于的扩展组

对于-G参数需要注意的是后接的扩展组只有一个组时,再次使用相同方法想添加扩展组会不行的,它将覆盖原扩展组!同时创建多个扩展组的方法是将多个组用逗号连接一起设置!!

# Usage: usermod -G GROUP USER
# 设置test在test1组内
[root@localhost ~]# usermod -G test1 test
[root@localhost ~]# id test
uid=1001(test) gid=1001(test) 组=1001(test),1002(test1)


# 计划新增test在castiel组内,但是发现test已经不再test1组内了
[root@localhost ~]# usermod -G castiel test
[root@localhost ~]# id test
uid=1001(test) gid=1001(test) 组=1001(test),1000(castiel)


# 要实现同时创建2个扩展组,需要一次性设置!使用逗号连接多个组
# Usage: usermod -G [root@localhost ~]# usermod -G test1,castiel test
[root@localhost ~]# id test
uid=1001(test) gid=1001(test) 组=1001(test),1000(castiel),1002(test1)
  • -s 修改shell
[root@localhost ~]# usermod -s /bin/chsh test
[root@localhost ~]# tail -n 1 /etc/passwd
test:x:1024:1024::/home/test:/bin/chsh
  • -d 修改家目录
[root@localhost ~]# usermod -d /test test
[root@localhost ~]# tail -n 1 /etc/passwd
test:x:1024:1024::/test:/bin/chsh
  • -e 修改过期日期
# 默认账户不会过期
[root@localhost ~]# tail -n 1 /etc/shadow
test:!!:17460:0:99999:7:::

[root@localhost ~]# usermod -e 2017-10-25 test
[root@localhost ~]# tail -n 1 /etc/shadow
test:!!:17460:0:99999:7::17464:
  • -f 修改账户到期至其失效的天数
[root@localhost ~]# usermod -f 4 test
[root@localhost ~]# tail -n 1 /etc/shadow
test:!!:17460:0:99999:7:4:17464:
  • -L 锁定用户,不让其登录
[root@localhost ~]# tail -n 1 /etc/shadow
test:$6$.3FDAIkp$g422.ik85QSX5PiuYc8GeC6oRmKYLM5pFi3Xjg4IzO5XIzB05fjwNMMfQeejxnqIG8Gy2.K5o0H8v1AAr63Br/:17460:0:99999:7:4:17464:

[root@localhost ~]# usermod -L test
# 锁定test用户,其/etc/shadow内的密码字段开头加了一个!
[root@localhost ~]# tail -n 1 /etc/shadow
test:!$6$.3FDAIkp$g422.ik85QSX5PiuYc8GeC6oRmKYLM5pFi3Xjg4IzO5XIzB05fjwNMMfQeejxnqIG8Gy2.K5o0H8v1AAr63Br/:17460:0:99999:7:4:17464:
  • -U 解锁因-L锁定的用户
[root@localhost ~]# usermod -U test
# 密码字段开头的!被取消了,用户解锁
[root@localhost ~]# tail -n 1 /etc/shadow
test:$6$.3FDAIkp$g422.ik85QSX5PiuYc8GeC6oRmKYLM5pFi3Xjg4IzO5XIzB05fjwNMMfQeejxnqIG8Gy2.K5o0H8v1AAr63Br/:17460:0:99999:7:4:17464:

用户密码管理

用法:passwd USER(不加USER,修改当前用户的密码;/etc/passwd文件有set_uid位,使得普通用户也可以修改自己的密码)

[root@localhost ~]# passwd 
更改用户 root 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

[root@localhost ~]# passwd castiel
更改用户 castiel 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

[root@localhost ~]# tail -n 5 /etc/shadow
sshd:!!:17456::::::
chrony:!!:17456::::::
castiel:$6$zg/7atV8$PyzrskqXmN13qjrEyB1OMb.ktysgV9bAIH89MB12dL8ZrrsqTOOQJHzA.FJCEOsDyynUQRllfOgB4B..rU9yj/:17467:0:99999:7:::
test:!!:17467:0:99999:7:::
test1:!!:17467:0:99999:7:::

对于/etc/shadow文件的第二个密码字段

  • !! 没有密码,无法登录
  • * 密码被锁定,无法使用、登录
  • 一串字符串,表示用户有密码但 加密

凡是有!!或*,表明账户无法登录

常用用法

锁定密码: passwd -l USER

执行该命令后有密码的用户会在其/etc/shadow文件的密码字段(加密的字符串)前加上!!;

[root@localhost ~]# passwd -l test
锁定用户 test 的密码 。
passwd: 操作成功
[root@localhost ~]# tail -n 1 /etc/shadow
test:!!$6$.3FDAIkp$g422.ik85QSX5PiuYc8GeC6oRmKYLM5pFi3Xjg4IzO5XIzB05fjwNMMfQeejxnqIG8Gy2.K5o0H8v1AAr63Br/:17460:0:99999:7:4:17464:

解锁密码:passwd -u USER

[root@localhost ~]# passwd -u test
解锁用户 test 的密码。
passwd: 操作成功
[root@localhost ~]# tail -n 1 /etc/shadow
test:$6$.3FDAIkp$g422.ik85QSX5PiuYc8GeC6oRmKYLM5pFi3Xjg4IzO5XIzB05fjwNMMfQeejxnqIG8Gy2.K5o0H8v1AAr63Br/:17460:0:99999:7:4:17464:

--stdin,密码只需要输入一次:passwd --stdin USER

# --stdin 修改密码,输入一次密码,明文显示
[root@localhost ~]# passwd --stdin castiel
更改用户 castiel 的密码 。
123456
passwd:所有的身份验证令牌已经成功更新。

#适合在脚本中修改密码的方法
echo "password" | passwd --stdin USER
或
echo -e "password\npassword" | passwd USER
关于密码的几个建议
  • 长度大于10个字符
  • 包含大小写、数字和特殊字符
  • 不规则性(不要全字母或数字)
  • 不要包含自己的生日、姓名等易被获取的信息
  • 不要多个账户共用一个密码

mkpasswd命令

使用命令来创建密码

安装: yum install expect

使用方法
  • -l num 创建的密码长度
  • -d num 创建的密码中数字的个数
  • -s num 创建的密码中特殊字符的个数
  • -C num 创建的密码中大写数字的个数
  • -c num 创建的密码中小写数字的个数

不加参数,默认创建的密码长度为9位,包含大小写字母、数字和特殊字符!

[root@centos7 ~]# mkpasswd
nf72HG?ra
[root@centos7 ~]# mkpasswd -l 12 -c 3 -C 5 -s 2
W$]46NkcADfX

转载于:https://my.oschina.net/LuCastiel/blog/1554382

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值