linux给用户加密码的方法及代码是什么
Admin 2022-08-16 群英技术资讯 1020 次浏览
关于“linux给用户加密码的方法及代码是什么”的知识有一些人不是很理解,对此小编给大家总结了相关内容,具有一定的参考借鉴价值,而且易于学习与理解,希望能对大家有所帮助,有这个方面学习需要的朋友就继续往下看吧。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::: #密码前面的 "!!" 删除了
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
CentOS6.4部署DNS服务器的记录
阿里云CentOS7.3搭建Apache+MySQL+PHP环境
linux中查看ip的命令:1、ip命令,可以同时显示IPv4和IPv6地址,语法为“ip addr show”;2、hostname命令,可以查看主机名的IP地址,语法为“hostname -I”;3、ifconfig命令,可以查询和配置网络接口卡,语法为“ifconfig -a”;4、curl命令,是一款强大的http命令行工具,语法为“curl ifconfig.me”。
在linux中,platform是一个虚拟总线,与真实的“spi/sdio/usb/pcie”等总线对应;platform能够把硬件和软件分离出来,platform所描述的资源有一个共同点是在CPU的总线上直接取址,平台设备会分到一个名称以及一系列诸如地址和中断请求号之类的资源。
“linux mint”是一种基于“Ubuntu/Debian”的linux操作系统;该系统由“Linux Mint Team”团队发行,采用了最新的linux内核,支持XWayland,像GNU软件和Gnome桌面,该系统致力于使桌面系统对个人用户每天的工作更易用,更高效。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008