首页 > 系统相关 >Linux命令:passwd 修改用户密码

Linux命令:passwd 修改用户密码

时间:2024-01-25 10:57:33浏览次数:40  
标签:user1 passwd sudo 用户 密码 Linux --

passwd 命令详细使用

passwd修改用户账户的密码。普通用户只能修改自己的密码,超级管理员可以修改其他用户账户的密码。passwd 也会修改『账户』或者密码的有效期限。

1. 超级管理员修改其他用户密码

$ sudo passwd user1

输入两次密码,两次需要相同。密码不能少于8个字符。


2. 普通用户修改自己密码

$ passwd

先输入旧密码,再输入两次新密码。


3. 显示用户密码状态信息 【-S / --status, -a / --all】

$ passwd -S #列出当前用户信息
$ sudo passwd --status user1 #列出user1的信息
$ sudo passwd -S -a #列出所有用户信息
$ sudo passwd --status --all #列出所有用户信息

user1 P 01/25/2024 0 99999 7 -1
包含7个字段。第一个字段是登录名,第二个字段表示『锁定密码』(L)、没有密码(NP)、密码可用(P),第三个字段表示最后一次修改密码的日期,第四个字段是最小年龄,第五个字段是最大年龄,第六个字段是警告期,第七个字段是禁用期。


4. 删除用户密码 【-d / --delete】

$ sudo passwd -d user1
$ sudo passwd --delete user2

用户密码状态变为 NP ,登录不再需要密码。


5. 设置用户密码过期 【-e / --expire】

$ sudo passwd -e user1
$ sudo passwd --expire user2

设置用户密码过期后,用户下次登录后必须先设置新密码。“您必须立即更改密码(管理员强制)。


6. 设置用户密码被设置过期后多久禁用 【-i / --inactive】

$ sudo passwd -i 1 user1
$ sudo passwd --inactive 3 user2

设置用户账户被设置为过期后,再过多少天就不能登录了。这个命令会影响 -S 命令输出的账户密码状态信息的第七个字段。 sudo passwd -S user1 显示 “user1 P 01/25/2024 0 99999 7 1 ”。


7. 锁定用户密码 【-l / --lock】

$ sudo passwd -l user1
$ sudo passwd --lock user2

锁定用户的账号密码(背后是更改了密码,在密码前加了一个“!”)。注意这个命令不会禁用用户的账户,用户仍然可以使用另外的认证 token (比如一个 SSH key)来登录。要禁用账户,应使用 $ sudo usermod --expiredate 1 命令(这会设置用户的『账户』过期日期为1970年1月2号)。


8. 解锁用户密码 【-u / --unlock】

$ sudo passwd -u user1
$ sudo passwd --unlock user2

解锁用户密码(背后是将密码改回 -l 之前)


9. 设置用户密码修改间隔的最小天数 【-n / --mindays】

$ sudo passwd -n 1 user1
$ sudo passwd --mindays 3 user2

距离上次修改密码后的这个天数内,不允许用户修改密码。此命令会更改 -S 命令输出的密码状态信息的七个字段中的第四个字段。


10. 设置用户密码保持有效的最大天数 【-x / --maxdays】

$ sudo passwd -x 10 user1
$ sudo passwd --maxdays 10000 user2

当距离上次修改密码之后这么多天后,用户被要求更改密码。此命令会更改 -S 命令输出的密码状态信息的七个字段中的第五个字段。


11. 设置用户密码到期之前警告的天数 【-w / --warndays】

$ sudo passwd -w 15 user1
$ sudo passwd --warndays 20 user2

设置用户密码过期之前多少天提出警告。此命令会更改 -S 命令输出的密码状态信息的七个字段中的第六个字段。如果到了这个期限内,登录时会提示:“警告:您的密码将在 10 天后过期。”

(完)Created by Flamer王

标签:user1,passwd,sudo,用户,密码,Linux,--
From: https://www.cnblogs.com/flamer/p/17986268

相关文章

  • 转载——Linux/Macos环境下使用 steamcommunity 302 教程
    原博:https://www.dogfight360.com/blog/2319/steamcommunity302后端使用caddy,在生成所有配置文件后可直接迁移到Linux/Macos环境下使用1.首先要在Windows环境/Wine下运行steamcommunity302并在设置里打勾需要开启的功能,然后正常启动服务 2.前往caddy/release页下载......
  • MySQL如何快速禁用账户登入 & 如何复制/复用账户密码【转】
    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。GreatSQL是MySQL的国产分支版本,使用上与MySQL一致。作者:叶金荣文章来源:GreatSQL社区原创如何快速临时禁止某账户登入角色ROLES管理需要先激活关于授权的其他几点补充如何复制/复用账户密码1.快......
  • Linux 下安装 Jenkins 和使用 配置
    安装:要在Linux上安装Jenkins并进行配置,您可以按照以下步骤进行操作:步骤1:安装JavaJenkins依赖于Java环境,因此首先需要在您的Linux系统上安装Java。可以使用以下命令检查是否已安装Java:java-version如果您看到Java的版本信息,则已经安装了Java。否则,您可以按照以下步骤安装Java:sudo......
  • 【原创】linux为什么不是实时操作系统
    一、什么是实时操作系统(RTOS)?可参见本博客之前的文章:什么是实时实时的分类常见的RTOSlatency和jitter总结一下,实时其实说的是系统响应事件需要的时间的确定性,时间必须确定,打死都不能超过这个时间。二、linux为什么不是实时操作系统?为了确保系统的实时性,即事件响应产生结果......
  • Linux命令:useradd添加用户
    useradd命令的详细使用1.创建一个默认配置的用户$useradduser1创建一个用户,登陆名为user1,『uid』,『group』,『gid』,『shell』,『home_dir』都采用默认值。可以通过$useradd-D来查看配置默认值。uid:用户账户的uid,默认值取决于/etc/login.defs文件中定义的U......
  • Linux网络编程基础API
    目录socket地址API创建socket命名socket监听socket接收连接发起连接关闭连接数据读写带外标记地址信息函数socket选项网络信息APIsocket地址API主机字节序和网络字节序在Linux系统中,主机字节序(HostByteOrder)和网络字节序(NetworkByteOrder)是两个重要的概念。主机字节序......
  • NOI Linux 系统使用的笔记
    我为什么现在才会用啊。不知道是谁去年THUSC时不会用,导致用代码没法编译运行。终端的指令首先,几个常用的编译指令,在终端(Terminal)里使用。编译指令ls(list),会列出当前所在文件夹的所有子文件夹。cdname,访问子文件夹特别的,返回到上级目录夹用以下指令:cd..编辑器接下......
  • petalinux 报错总结
    Failedtomenuconfigprojectcomponent....解决办法此处是由于Terminal(终端)的界面太窄导致的,把Terminal(终端)界面拉宽即可;重新执行命令【petalinux-config--get-hw-description=*.xsa“path”】后,可以看到配置界面弹出来了,且没有了刚刚的错误。do_rootfs:Thepostinstall......
  • 【linux学习】使用_nmon_工具对系统进行监控
    【linux学习】使用_nmon_工具对系统进行监控原创:厦门微思网络 【微思2002年成立,专业IT认证培训21年!】 我们主要课程:思科、华为、红帽、ORACLE、VMware、CISP、PMP等认证培训及考证。......
  • Linux基础46 ansible概述, 结构, 安装与配置文件, 主机清单配置
    Ansible学习一、Ansible概述1.什么是ansible?Ansible是一个自动化统一配置管理工具,自动化主要体现在Ansible集成了丰富模块以及功能组件,可以通过一个命令完成一系列的操作,进而能减少重复性的工作和维护成本,可以提高工作效率。2.自动化工具1.puppet学习难,安装ruby环境难,没......