• linux基础命令:passwd


    passwd 命令用于修改用户密码,过期时间,认证信息等。

    普通用户只能使用 passwd 命令修改自身的系统密码,而 root 管理员则有权限修改其他所有人的密码。更酷的是,root 管理员在 Linux 系统中

    修改自己或他人的密码时不需要验证旧密码,这一点特别方便。既然 root 管理员可以修改其他用户的密码,就表示完全拥有该用户的管理权限。

    参数 作用
    -l  锁定用户,禁止登陆。
    -u 解除锁定,允许登陆。
    --stdin   允许通过标准输入修改用户密码,如 echo "NewPassWord" | passwd --stdin Username
    -d   删除密码,允许用户空密码登陆
    -e   强制用户在下次登陆时修改密码
    -S 显示用户的密码是否被锁定,以及密码所采用的加密算法名称

    知识扩展

      与用户、组账户信息相关的文件

      存放用户信息:

    /etc/passwd
    /etc/shadow

      存放组信息:

    /etc/group
    /etc/gshadow

      用户信息文件分析(每项用:隔开)

    例如:jack:X:503:504:::/home/jack/:/bin/bash
    jack  //用户名
    X  //口令、密码
    503  //用户id(0代表root、普通新建用户从500开始)
    504  //所在组
    :  //描述
    /home/jack/  //用户主目录
    /bin/bash  //用户缺省Shell

      组信息文件分析

    例如:jack:$!$:???:13801:0:99999:7:*:*:
    jack  //组名
    $!$  //被加密的口令
    13801  //创建日期与今天相隔的天数
    0  //口令最短位数
    99999  //用户口令
    7  //到7天时提醒
    *  //禁用天数
    *  //过期天数

    实例

      如果是普通用户执行passwd只能修改自己的密码。如果新建用户后,要为新用户创建密码,则用passwd 用户名,注意要以root用户的权限来创建。

    [root@localhost ~]# passwd linuxde    //更改或创建linuxde用户的密码;
    Changing password for user linuxde.
    New UNIX password:          //请输入新密码;
    Retype new UNIX password:   //再输入一次;
    passwd: all authentication tokens updated successfully. //成功;

      普通用户如果想更改自己的密码,直接运行passwd即可,比如当前操作的用户是linuxde。

    [linuxde@localhost ~]$ passwd
    Changing password for user linuxde. //更改linuxde用户的密码;
    (current) UNIX password:   //请输入当前密码;
    New UNIX password:         //请输入新密码;
    Retype new UNIX password:  //确认新密码;
    passwd: all authentication tokens updated successfully. //更改成功;
      比如我们让某个用户不能修改密码,可以用-l选项来锁定:
    [root@localhost ~]# passwd -l linuxde    //锁定用户linuxde不能更改密码;
    Locking password for user linuxde.
    passwd: Success           //锁定成功;
    
    [linuxde@localhost ~]# su linuxde   //通过su切换到linuxde用户;
    [linuxde@localhost ~]$ passwd      //linuxde来更改密码;
    Changing password for user linuxde.
    Changing password for linuxde
    (current) UNIX password:          //输入linuxde的当前密码;
    passwd: Authentication token manipulation error     //失败,不能更改密码;

      清除密码:

    [root@localhost ~]# passwd -d linuxde  //清除linuxde用户密码;
    Removing password for user linuxde.
    passwd: Success                         //清除成功;
    
    [root@localhost ~]# passwd -S linuxde    //查询linuxde用户密码状态;
    Empty password.                         //空密码,也就是没有密码;
      查看有户状态:  passwd -s username

    用户状态标志:
    PS:表示用户密码已设置。
    NL:表示用户帐号是不可登录帐号。
    LK:表示用户已被锁定。
    NP:表示用户没有密码,登录时不需要密码认证。

    非交互式修改密码

    echo 123456 | passwd --stdin user002 
    echo "user003:123456" | chpasswd

  • 相关阅读:
    完全背包
    01背包
    游戏编程:为什么C++游戏开发比Java更好,其实是因为这两个点!
    VS code搭建 C 和 C++ 环境的完整图文教程!赶紧收藏,这波不亏!
    来自清华计算机系的招聘信息,第一个要求就劝退99%的人!网友:但福利待遇真好!
    C++ 必看书籍清单!从C++ Primer 到 源码剖析,精通真的很难!
    C语言简单编程速成!保姆级入门教程, 目标达成!
    9 名程序员被抓!这次是真的活该.....
    你知道各类开发语言的薪酬差距吗?高薪在于适合,而不在于广度!
    apache common包 CollectionUtils 使用 详解
  • 原文地址:https://www.cnblogs.com/wzy23/p/11380059.html
Copyright © 2020-2023  润新知