Linux系统之passwd命令的基本使用

简介: 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个月更换一次。
相关文章
|
8月前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
963 1
二、Linux文本处理与文件操作核心命令
|
8月前
|
Linux
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
549 137
|
8月前
|
安全 Ubuntu Unix
一、初识 Linux 与基本命令
玩转Linux命令行,就像探索一座新城市。首先要熟悉它的“地图”,也就是/根目录下/etc(放配置)、/home(住家)这些核心区域。然后掌握几个“生存口令”:用ls看周围,cd去别处,mkdir建新房,cp/mv搬东西,再用cat或tail看文件内容。最后,别忘了随时按Tab键,它能帮你自动补全命令和路径,是提高效率的第一神器。
1463 58
|
7月前
|
存储 安全 Linux
Linux卡在emergency mode怎么办?xfs_repair 命令轻松解决
Linux虚拟机遇紧急模式?别慌!多因磁盘挂载失败。本文教你通过日志定位问题,用`xfs_repair`等工具修复文件系统,三步快速恢复。掌握查日志、修磁盘、验重启,轻松应对紧急模式,保障系统稳定运行。
1334 2
|
8月前
|
缓存 监控 Linux
Linux内存问题排查命令详解
Linux服务器卡顿?可能是内存问题。掌握free、vmstat、sar三大命令,快速排查内存使用情况。free查看实时内存,vmstat诊断系统整体性能瓶颈,sar实现长期监控,三者结合,高效定位并解决内存问题。
816 0
Linux内存问题排查命令详解
|
Linux 数据安全/隐私保护 Ubuntu
Linux基础命令---修改用户密码passwd
passwd       更改用户密码,超级用户可以修改所有用户密码,普通用户只能修改自己的密码。这个任务是通过调用LinuxPAM和LibuserAPI来完成的。本质上,它使用LinuxPAM将自己初始化为一个“passwd”服务,并利用配置的密码模块对用户的密码进行身份验证和更新。
3769 2
|
Linux 数据安全/隐私保护
linux命令之passwd
linux命令之passwd
676 1
|
Linux 数据安全/隐私保护
linux中的cal 查看日历、用户管理命令、useradd 添加新用户、passwd 设置用户密码、id 查看用户是否存在、su 切换用户、userdel 删除用户、who 查看登录用户信息、sudo 设置普通用户具有 root 权限
useradd-g组名用户名(功能描述添加新用户到某个组)cal[选项](功能描述不加选项,显示本月日历)useradd用户名(功能描述添加新用户)注用户组必须存在,如果不存在则会报当从root用户切换到普通用户的时候不需要输入密码,而从普通用户切换到其他普通的用户或者root用户是需要输入密码的。su用户名称(功能描述切换用户,修改完毕,现在可以用ayy帐号登录,然后用命令sudo,即可获得root权限进行操作。(2)userdel-r用户名(功能描述用户和用户主目录,都删除)(2)whoami(功能描述显示登录用户的用户名以及登陆时间)(1)userdel用户名(功能描述删除用户但保存用户
566 1
linux中的cal 查看日历、用户管理命令、useradd 添加新用户、passwd 设置用户密码、id 查看用户是否存在、su 切换用户、userdel 删除用户、who 查看登录用户信息、sudo 设置普通用户具有 root 权限
|
Linux 数据安全/隐私保护