大家好,欢迎来到IT知识分享网。
Linux系统之passwd命令的基本使用
一、passwd命令介绍
1.1 passwd命令简介
passwd命令被用于更改用户密码。通过使用passwd命令,用户可以更改自己的密码,而管理员则可以更改其他用户的密码(需要管理员权限)。在默认情况下,只有root用户才拥有更改其他用户密码的权限。
1.2 passwd命令起源
passwd 命令起源于Unix/Linux系统,是一个用于修改用户密码的命令,它的设计目的是为了保证系统的安全,确保只有经过授权的用户才能改变自己的密码或其他用户密码。passwd 命令是Unix系统中默认安装的一款工具,随着Linux的发展,它也成为了Linux系统中不可或缺的命令之一。在Linux系统中,passwd 命令不仅可以用于修改用户密码,还可以用于管理用户的其他安全设置,如锁定用户账号、强制用户修改密码等。
二、passwd命令的使用帮助
2.1 passwd命令的help帮助信息
使用help查询passwd命令的帮助信息
[root@jeven ~]# passwd --help Usage: passwd [OPTION...] <accountName> -k, --keep-tokens keep non-expired authentication tokens -d, --delete delete the password for the named account (root only) -l, --lock lock the password for the named account (root only) -u, --unlock unlock the password for the named account (root only) -e, --expire expire the password for the named account (root only) -f, --force force operation -x, --maximum=DAYS maximum password lifetime (root only) -n, --minimum=DAYS minimum password lifetime (root only) -w, --warning=DAYS number of days warning users receives before password expiration (root only) -i, --inactive=DAYS number of days after password expiration when an account becomes disabled (root only) -S, --status report password status on the named account (root only) --stdin read new tokens from stdin (root only) Help options: -?, --help Show this help message --usage Display brief usage message
2.2 passwd命令的语法解释
passwd命令的语法解释
- 语法
passwd(选项)(参数)
- 选项
-d:删除密码,仅有系统管理者才能使用; -f:强制执行; -k:设置只有在密码过期失效后,方能更新; -l:锁住密码; -u:解开已上锁的帐号; -S:查询用户账号的密码状态,包括密码是否过期、是否被锁定等; -e:强制要求用户在下次登录时修改密码。
- 参数
用户名:需要设置密码的用户名。
三、查看passwd相关文件
3.1 查看用户相关文件
查看用户相关文件
- 用户相关文件所在位置
/etc/passwd /etc/shadow
[root@jeven ~]# cat /etc/passwd |head root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin [root@jeven ~]# cat /etc/shadow |head root:$6$HUNcB21gvHcKRS2p$xaKt.2kCyjDp7bUW5vbR0ZlxB0.DEOiqPPTofGHCVNOqVWqCE8jxcy0M5H4lSvhsACSMkfV0iY0Y7sLRIIFrg1::0:99999:7::: bin:*:17834:0:99999:7::: daemon:*:17834:0:99999:7::: adm:*:17834:0:99999:7::: lp:*:17834:0:99999:7::: sync:*:17834:0:99999:7::: shutdown:*:17834:0:99999:7::: halt:*:17834:0:99999:7::: mail:*:17834:0:99999:7::: operator:*:17834:0:99999:7:::
- passwd文件分析
例如:adm:x:3:4:adm:/var/adm:/sbin/nologin adm # 用户名 x # 口令、密码 3 # 用户id(0代表root、普通新建用户从500开始) 4 # 所在组id : # 描述 /var/adm # 用户主目录 /sbin/nologin # 用户缺省Shell
- shadow文件分析
例如:zhangsan:!!:19649:0:99999:7::: zhangsan # 用户账号的名称 !! #用户密码通过加密算法后得到的哈希值。如密码未设置则显示!! 19649 # 最近一次修改密码的时间,表示从1970.01.01至今的天数 0 # 密码的最短使用天数,默认值为0,没有要求 99999 # 密码最长使用的有效期天数 7 # 密码到期提醒天数,默认值为7 * # 账户多长时间不活动自动锁定 * # 账户被禁用的时间
3.2 查看组相关文件
查看组相关文件
- 组相关文件所在位置
/etc/group /etc/gshadow
[root@jeven ~]# cat /etc/group |head root:x:0: bin:x:1: daemon:x:2: sys:x:3: adm:x:4: tty:x:5: disk:x:6: lp:x:7: mem:x:8: kmem:x:9: [root@jeven ~]# cat /etc/gshadow |head root::: bin::: daemon::: sys::: adm::: tty::: disk::: lp::: mem::: kmem:::
四、passwd命令的基本使用
4.1 设置用户密码
例如新建用户zhangsan,要为zhangsan设置密码,在root权限下,可以直接设置且可以忽略密码策略强制设置密码;在普通用户下,只能为自己设置密码。
- 在root用户权限下
[root@jeven ~]# passwd zhangsan Changing password for user zhangsan. New password: BAD PASSWORD: The password contains the user name in some form Retype new password: passwd: all authentication tokens updated successfully.
- 在普通用户下,只能为自己设置密码。
命令行方式 : passwd 再输入当前密码: 再输入新密码:
- 在普通用户下,如果未其他用户设置密码会提示以下信息。
[zhangsan@jeven ~]$ passwd admin passwd: Only root can specify a user name.
4.2 禁止用户修改密码
在root用户下,我们可以禁止某个用户修改密码,可以使用-l 选项来锁定密码。
- 锁定用户zhangsan不能更改密码
[root@jeven ~]# passwd -l zhangsan Locking password for user zhangsan. passwd: Success
- 切换zhangsan用户,进行修改密码会失败。
[zhangsan@jeven ~]$ passwd Changing password for user zhangsan. Changing password for zhangsan. (current) UNIX password: passwd: Authentication token manipulation error
4.3 解开密码锁定的账号
使用-u选项,解开密码锁定的账号
[root@jeven ~]# passwd -u zhangsan Unlocking password for user zhangsan. passwd: Success
4.4 查询账号密码信息
使用-S选项,查询账号密码信息
[root@jeven ~]# passwd -S zhangsan zhangsan PS 2023-10-19 0 99999 7 -1 (Password set, SHA512 crypt.)
4.5 清除用户密码
使用-d选项,清空zhangsan用户的密码。
[root@jeven ~]# passwd -d zhangsan Removing password for user zhangsan. passwd: Success
查询验证zhangsan用户状态,密码已为空。
[root@jeven ~]# passwd -S zhangsan zhangsan NP 2023-10-19 0 99999 7 -1 (Empty password.)
4.6 更改密码过期时间
可以通过添加-x(最大天数),-n(最小天数)和-w(提前警告天数)这三个选项来设置zhangsan用户的过期时间。
passwd -x 30 zhangsan passwd -n 6 zhangsan passwd -w 7 zhangsan
五、passwd命令的使用注意事项
- 只有超级用户(root用户)才能修改其他用户的密码。
- 密码应该具有足够的强度和复杂性来保护用户账户的安全性,例如密码的长度、字母大小写、符号混合等。
- 在更改密码时,应该使用一个足够强的密码,避免使用易于猜测的信息,如生日或常见的字典单词等。
- 更改密码时,应该避免使用与先前使用的密码相同的密码。
- 确保在更改密码后不要将密码写在明文处,如纸条上或计算机桌面上。
- 在使用passwd命令时,请确保您有足够的权限,否则您将无法更改密码。
- 如果系统中有多个用户,管理员应该鼓励用户定期更改密码,以保障系统安全,建议每3-6个月更换一次。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/118211.html



