用户密码管理

6.2.3    用户密码管理 

命令之 passwd 

对于普通用户的密码管理权限,只能使用 passwd 更改用户自身的密码,对于管理员用户管理权限,可以使用 passwd USERNAME,可以更改所其他用户的密码。 

格式使用格式:passwd [选项] [选项参数] [用户名称] 

查看/etc/shadow 文件中的第一行内容,具体含义发图  6-5  所示。 

[root@xuegod63 ~]# head -1 /etc/shadow 

root:$6$C88LCVx5ZjfBU7xv$cKcdyNeTFmOYTs9NbRZDTA4hGcbMXc/5hQEWZKCtNyLqlBagrjct.pMfs39iEaF1UbEvcOzWZHMDf9Q5KojXM1::0:99999:7::: 

image.png

图  6-5 /etc/shadow 内容含义分解 

格式说明如表  6-2  所示。 

name

登录名称,这个必须是系统中的有效账户名

password

已加密密码,分为三个部分,第一部分是表示使用哪种哈希算法;第二部分是用于加密哈希的salt;第三部分是已加密的哈希

哈希算法:$1表示MD5 ; $6 表示SHA-512 ;  $5 SHA-256

查看帮助说明:

man 5 passwd

man 5 shadow

man 5 group

man 3 crypt

lastchange

最近一次更改密码的日期,以距离1970/1/1的天数表示

min-age

不能更改密码的最少天数,最近更改过后几天才可以更改;如果为0表示“最短期限要求”

maxage

密码过期时间,必须更改密码前的最多天数

warning

密码即将到期的警告期,以天数表示,0表示“不提供警告”

inactive

宽限天数,密码到期后

expire

账号过期时间,以距离1970/1/1的天数计算 (千年虫)

blank

预留字段

表  6-2    /etc/shadow 内容含义分解表 


1.   给用户添加密码。 

[root@panda home]# passwd oracle       #交互形式添加密码。 

Changing password for user oracle. 

New password:      #输入密码(输入密码时没有回显)。 

BAD PASSWORD: The password is shorter than 8 characters 

Retype new password:      #再次输入密码(输入密码时没有回显)。 

passwd: all authentication tokens updated successfully. 

[root@xuegod63 ~]# echo 123456 | passwd --stdin 用户名        #不交互形式添加密码。 

[root@xuegod63 ~]# echo 123456 | passwd --stdin harry 

互动:  两个用户的密码一样?  那么 shadow 中加密的 hash 值一样吗?     

答:  不一样。  因为 salt 不一样。 

2.   命令之 chage 用于修改用户密码属性。 

命令使用格式:chage [选项] [选项参数]  用户名称 

常用选项: 

  -m:密码可更改的最小天数。为 0 时代表任何时候都可以更改密码。 

  -M:密码保持有效的最大天数。 

  -W:用户密码到期前,提前收到警告信息的天数。 

  -E:帐号到期的日期。过了这天,此帐号将不可用。 

  -d:上一次更改的日期,为 0 表示强制在下次登录时更新密码。 

例:修改用户 mk 密码信息:让用户 mk 首次登录系统时必须更改其密码。 

# chage -d 0 mk 

# ssh [email protected] 

... 

Are you sure you want to continue connecting (yes/no)? yes    #输入 yes 

Warning: Permanently added '192.168.1.63' (ECDSA) to the list of known hOSts. 

[email protected]'s password: 123456    #输入密码。 

You must change your password now and login again!        #提示必须改密码。 

更改用户  mk  的密码  。 

为  mk  更改  STRESS  密码。 

(当前)UNIX  密码:        #输入当前密码。 

新的  密码:            #输入新密码。 

重新输入新的  密码:         #再次输入新密码。

passwd:所有的身份验证令牌已经成功更新。 

例:两个用户使用同一个 UID 号: 

# vim /etc/passwd        #把 mk 用户的  uid 改为 0。 

mk:x:0:0:mk:/home/mk:/bin/bash 

# su - mk     #切换 mk 用户登录系统。 

上一次登录:二  9 月  19 22:03:16 CST 2017:0  上 

# id mk      #查看 mk 用户信息 UID 号为 0,用户登录系统后的命令

提示符为#。 

uid=0(mk) gid=0(root)  组=0(root),10(wheel) 

注意:当某个用户 ID 号不其他用户的 ID 号相同时,系统会识别为同一个用户,因为系统识别用户时,是识别用户的 UID 号的,以上实验结果,系统把 mk 用户识别为 root 用户了。 

版权声明:
作者:WaterBear
链接:https://l-t.top/1237.html
来源:雷霆运维
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>