linux中给用户加密码的命令是哪个

86次阅读
没有评论

共计 3322 个字符,预计需要花费 9 分钟才能阅读完成。

这篇文章主要介绍“linux 中给用户加密码的命令是哪个”,在日常操作中,相信很多人在 linux 中给用户加密码的命令是哪个问题上存在疑惑,丸趣 TV 小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux 中给用户加密码的命令是哪个”的疑惑有所帮助!接下来,请跟着丸趣 TV 小编一起来学习吧!

linux 中给用户加密码的命令是“passwd”。passwd 命令是用来更改用户密码的,语法为“passwd [选项] 用户名”;当只省略“选项”参数时可以设置指定用户的密码,当省略“选项”和“用户名”数时可以设置当前用户的密码。passwd 命令还可配合“-n 天数”选项参数,设置用户修改密码后,多长时间不能再次修改密码;配合“-x 天数”选项参数,设置用户的密码有效期。

本教程操作环境:linux7.3 系统、Dell G3 电脑。

使用 useradd 命令创建新用户时,并没有设定用户密码,因此还无法用来登陆系统。那么怎么给用户加密码呢?

在 linux 中,可以使用 passwd 命令给用户设置密码。

passwd 命令的基本格式如下:

passwd [选项]  用户名 

如果只省略“选项”参数时可以设置指定用户的密码

如果省略“选项”和“用户名”数时可以设置当前用户的密码

例如,我们使用 root 账户修改 lamp 普通用户的密码,可以使用如下命令:

[root@localhost ~]#passwd lamp
Changing password for user lamp.
New password:  == 直接输入新的口令,但屏幕不会有任何反应
BAD PASSWORD: it is WAY too short  == 口令太简单或过短的错误!这里只是警告信息,输入的密码依旧能用
Retype new password:  == 再次验证输入的密码,再输入一次即可
passwd: all authentication tokens updated successfully.  == 提示修改密码成功 

例如,我们登陆 lamp 用户,并使用 passwd 命令修改 lamp 的登陆密码,执行过程如下:

[root@localhost ~]#passwd
#passwd 直接回车代表修改当前用户的密码
Changing password for user vbird2.
Changing password for vbird2
(current) UNIX password:  == 这里输入『原有的旧口令』New password:  == 这里输入新口令
BAD PASSWORD: it is WAY too short  == 口令检验不通过,请再想个新口令
New password:  == 这里再想个来输入吧
Retype new password:  == 通过口令验证!所以重复这个口令的输入
passwd: all authentication tokens updated successfully.  == 成功修改用户密码 

注意,普通用户只能使用 passwd 命令修改自己的密码,而不能修改其他用户的密码。

可以看到,与使用 root 账户修改普通用户的密码不同,普通用户修改自己的密码需要先输入自己的旧密码,只有旧密码输入正确才能输入新密码。不仅如此,此种修改方式对密码的复杂度有严格的要求,新密码太短、太简单,都会被系统检测出来并禁止用户使用。

passwd 命令还提供了一些选项,用于实现不同功能:

-S:查询用户密码的状态,也就是 /etc/shadow 文件中此用户密码的内容。仅 root 用户可用;

-l:暂时锁定用户,该选项会在 /etc/shadow 文件中指定用户的加密密码串前添加 !,使密码失效。仅 root 用户可用;

-u:解锁用户,和 -l 选项相对应,也是只能 root 用户使用;

–stdin:可以将通过管道符输出的数据作为用户的密码。主要在批量添加用户时使用;

-n 天数:设置该用户修改密码后,多长时间不能再次修改密码,也就是修改 /etc/shadow 文件中各行密码的第 4 个字段;

-x 天数:设置该用户的密码有效期,对应 /etc/shadow 文件中各行密码的第 5 个字段;

-w 天数:设置用户密码过期前的警告天数,对于 /etc/shadow 文件中各行密码的第 6 个字段;

-i 日期:设置用户密码失效日期,对应 /etc/shadow 文件中各行密码的第 7 个字段。

【例 1】

# 查看用户密码的状态

[root@localhost ~]# passwd -S lamp
lamp PS 2013-01-06 0 99999 7 -1 (Password set, SHA512 crypt.)
#上面这行代码的意思依次是:用户名   密码   设定时间 (2013*01-06)  密码修改间隔时间 (0)  密码有效期 (99999)  警告时间 (7)  密码不失效 (-1),密码已使用 

-S 选项会显示出密码状态,这里的密码修改间隔时间、密码有效期、警告时间、密码宽限时间其实分别是 /etc/shadow 文件的第四、五、六、七个字段的内容。当然,passwd 命令是可以通过命令选项修改这几个字段的值的,例如:

# 修改  lamp 的密码,使其具有  60  天变更、10  天密码失效
[root@localhost ~]# passwd -x 60 -i 10 lamp
[root@localhost ~]# passwd -S lamp
lamp PS 2013-01-06 0 60 7 10 (Password set, SHA512 crypt.)

但我个人认为,还是直接修改 /etc/shadow 文件简单一些。

这里显示 SHA512 为密码加密方式,CentOS 6.3 加密方式已经从 MD5 加密更新到 SHA512 加密,我们不用了解具体的加密算法,只要知道这种加密算法更加可靠和先进就足够了。

【例 2】

# 锁定  lamp  用户
[root@localhost ~]# passwd -I lamp
Locking password for user lamp.
passwd:Successg
#用 -S 选项査看状态,很清楚地提示密码已被锁定
[root@localhost ~]# passwd -S lamp
lamp LK 2013-01-06 0 99999 7 -1 (Password locked.)
[root@localhost ~]# grep  lamp  /etc/shadow
lamp:!! $6$ZTq7o/9o $lj07iZ0bzW.D1zBa9CsY43d04onskUCzjwiFMNt8PX4GXJoHX9zA1S C9.i Yzh9LZA4fEM2lg92hM9w/p6NS50.:15711:0:99999:7:::
#可以看到,锁定其实就是在加密密码之前加入了 !!,让密码失效而已 

暂时锁定 lamp 用户后,此用户就不能登录系统了。那么,怎么解锁呢?也一样简单,使用如下命令即可:

# 解锁  lamp  用户
[root@localhost ~]# passwd -u lamp
Unlocking password for user lamp.
passwd:Success
[root@localhost ~]# passwd -S lamp
lamp PS 2013-01-06 0 99999 7 -1 (Password set, SHA512 crypt.)
#可以看到,锁定状态消失
[root@localhost ~]# grep  lamp  /etc/shadow
lamp: $6$ZTq7cV9o $lj07iZ0bzW.D1zBa9CsY43d04onskUCzjwiFMNt8PX4GXJoHX9zA1S C9.iYz h9LZA4fEM2lg92hM9w/p6NS50.:15711:0:99999:7:::
#密码前面的   !!   删除了 

到此,关于“linux 中给用户加密码的命令是哪个”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注丸趣 TV 网站,丸趣 TV 小编会继续努力为大家带来更多实用的文章!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-29发表,共计3322字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)