• 技术文章 >运维 >linux运维

    linux中给用户加密码的命令是什么

    青灯夜游青灯夜游2022-07-01 19:09:40原创467

    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 命令还提供了一些选项,用于实现不同功能:

    【例 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视频教程

    以上就是linux中给用户加密码的命令是什么的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    广告:Linux视频教程零基础入门到精通

    专题推荐:linux
    上一篇:linux中的工作目录是什么 下一篇:linux中进程与程序的区别是什么
    20期PHP线上班

    相关文章推荐

    精选22门好课,价值3725元,开通VIP免费学习!• linux怎么查询oracle错误日志• linux内核和linux系统的区别是什么• linux安装git的命令是什么• linux vim命令不见了怎么办• linux中什么是组密码• linux怎么查看apache是否运行
    1/1

    PHP中文网