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个月更换一次。

  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
一、 实验目的 1、通过实验了解和熟悉Linux系统管理; 2、掌握用户和组管理命令; 3、掌握软件包安装命令和步骤; 4、掌握网络通信管理命令; 5、掌握进程管理命令; 6、掌握系统的服务管理命令; 7、掌握磁盘操作管理命令。 二、 开发工具和运行环境 1、虚拟机VMware 2、Linux操作系统 三、 实验内容 1、了解和熟悉Linux系统管理 2、用户和组管理命令 (1)帐户管理命令: useradd、 usermod、 passwd、userdel (2)组帐户管理命令: groupadd、 groupdel. gpasswd 3、软件包安装命令和步骤 (1) RPM 包的安装 安装RPM包的基本命令格式是: rpm -ivh (2) RPM 包的删除 删除RPM包的基本命令格式是: rpm -e (3) RPM 包的查询 rpm - qa (4) RPM 包的升级 升级RPM包的基本命令格式是: rpm -Uvh (5) RPM包的验证 验证RPM包的基本命令格式是: rpm -V [参数] (6)建立TAR包 有两种方式: -种是建立普通的TAR包,只打包,不压缩 tar cvf 另一种是打包并压缩,选项是“zcvf”,其中“z”代表使用“gzip” 程序 进行文件的压缩 tar zcvf (7)查询TAR包 在释放TAR包之前,查看TAR包中的文件内容。其格式如下: tar ztf (8)释放TAR包 它也分为解非压缩和压缩包两种方式,命令格式如下: tar zxvf 4、网络通信管理命令 (1)hostname命令:显示及设置主机名。 (2)ifconfig命令:显示当前活动的(或指定的)网卡设置。 其格式为: ifconfig [网卡设备名] 重新设置网卡的IP地址,-般由root用户进行设置。其格式为: Ifconfig 网卡设备名 IP 地址 (3) ping命令:网络测试命令 ping [-c报文数] 目的主机地址 (4)write命令:实时给其他用户发送消息 write username [tty] (5)wall命令:以广播方式向系统中的所有用户发送消息 wall message (6)mail 命令:双方用户不同时在线时,使用mai发送和接收消息 mail username mail -s topic username<filename 查看邮件使用mail命令,输入邮件编号以查看邮件 5、进程管理命令 (1)at命令:定时任务命令 (2)ps命令:进程查看命令 ps -ef ps -axu (3)free命令:显示系统内存的使用情况,包括内存总量、已经使用内存数量,空闲内存数量等信息。 (4) top命令:实时监控系统进程。 (5)sleep 命令:用于使进程延迟一段时间再执行。 其格式为: sleep time; command (6)kill命令:来杀死程序产生的进程来结束程序的运行。 格式1 : kill PID 格式2 : kill -9 PID “-9”为SIGKILL信号,属于强制结束 (7)前台与后台运行相关命令 command、command & 6、系统的服务管理命令 (1) runlevel 命令:显示系统当前和上一次的运行级别 (2) init 命令:转换服务的运行级别 init n (3)systemctl 命令:系统服务管理 查看系统服务启动状态。其格式: systemctl list-unit-files --type service 列出所有处于激活状态的服务。其格式为: systemctl list-units --type service --all 服务状态控制。其格式: systemctl [status/start/stop/ restart/reload] name.service 服务开机自启控制。其格式: systemctl [enable/di sable] name.service 7、磁盘操作管理命令 (1)查看系统磁盘分区情况命令: Fdisk -l (2)使用命令手工挂载 mount命令:查看所有挂载设备 mount [-t fs-type] [-o option] device mountpoint 例: mount /dev/cdrom /mnt/cdrom (注意,先要建立挂载目录,并保证设备存在) (3)卸载 umount [device] [dir]
目录 网盘文件永久连接 1 Linux系统简介 1.1.1 Linux系统简介-UNIX发展历史和发行版本 1.1.2 Linux系统简介-Linux发展历史和发行版本 1.2 Linux系统简介-开源软件简介 1.3 Linux系统简介-Linux应用领域 1.4 Linux系统简介-Linux学习方法 2 Linux系统安装 2.1 Linux系统安装-VMware虚拟机安装与使用 2.2 Linux系统安装-系统分区 2.3 Linux系统安装-Linux系统安装 2.4 Linux系统安装-远程登录管理工具 3 给Linux初学者的建议 兄弟连新版Linux教程 3.1 给初学者的建议-注意事项 兄弟连新版Linux教程 3.2 给初学者的建议-服务器管理和维护建议 4 Linux常用命令 4.1.1 Linux常用命令-文件处理命令-命令格式与目录处理命令ls 4.1.2 Linux常用命令-文件处理命令-目录处理命令 4.1.3 Linux常用命令-文件处理命令-文件处理命令 4.1.4 Linux常用命令-文件处理命令-链接命令 4.2.1 Linux常用命令-权限管理命令-权限管理命令chmod 4.2.2 Linux常用命令-权限管理命令-其他权限管理命令 4.3.1 Linux常用命令-文件搜索命令-文件搜索命令find 4.3.2 Linux常用命令-文件搜索命令-其他文件搜索命令 4.4 Linux常用命令-文件搜索命令-帮助命令 4.5 Linux常用命令-文件搜索命令-用户管理命令 4.6 Linux常用命令-文件搜索命令-压缩解压命令 4.7 Linux常用命令-网络命令 4.8 Linux常用命令-关机重启命令 5 文本编辑器Vim 5.1 文本编辑器Vim-Vim常用操作 5.2 文本编辑器Vim-Vim使用技巧 6 软件包管理 6.1 软件包管理-简介 6.2.1 软件包管理-rpm命令管理-包命名与依赖性 6.2.2 软件包管理-rpm命令管理-安装升级与卸载 6.2.3 软件包管理-rpm命令管理-查询 6.2.4 软件包管理-rpm命令管理-校验和文件提取 6.3.1 软件包管理-RPM包管理-yum在线管理-IP地址配置和网络yum源 6.3.2 RPM包管理-yum在线管理-yum命令 6.3.3 RPM包管理-yum在线管理-光盘yum源 6.4.1 软件包管理-源码包管理-源码包与RPM包的区别 6.4.2 软件包管理-源码包管理-源码包安装过程 6.5 软件包管理-脚本安装包 7 用户和用户组管理 7.1.1 用户和用户组管理-用户配置文件-用户信息文件 7.1.2 用户和用户组管理-用户配置文件-影子文件 7.1.3 用户和用户组管理-用户配置文件-组信息文件 7.2 用户和用户组管理-用户管理相关文件 7.3.1 用户和用户组管理-用户管理命令-useradd 7.3.2 用户和用户组管理-用户管理命令-passwd 7.3.3 用户和用户组管理-用户管理命令-usermod和chage 7.3.4 用户和用户组管理-用户管理命令-userdel和su 7.4 用户和用户组管理-用户组管理命令 8 权限管理 8.1.1 权限管理-ACL权限-简介与开启 8.1.2 权限管理-ACL权限-查看与设定 8.1.3 权限管理-ACL权限-最大有效权限与删除 8.1.4 权限管理-ACL权限-默认与递归ACL权限 8.2.1 权限管理-文件特殊权限-SetUID 8.2.2 权限管理-文件特殊权限-SetGID 8.2.3 权限管理-文件特殊权限-Sticky BIT 8.3 权限管理-chattr权限 8.4 权限管理-sudo权限 9 文件系统管理 9.1 文件系统管理-回顾分区和文件系统 9.2.1 文件系统管理-文件系统常用命令-df、du、fsck、dumpe2fs 9.2.2 文件系统管理-文件系统常用命令-挂载命令 9.2.3 文件系统管理-文件系统常用命令-挂载光盘与U盘 9.2.4 文件系统管理-文件系统常用命令-支持NTFS文件系统 9.3.1 文件系统管理-fdisk分区-分区过程 9.3.2 文件系统管理-fdisk分区-自动挂载与fstab文件修复 9.4 文件系统管理-分配swap分区 10 Shell基础 10.1 Shell基础-概述 10.2 Shell基础-脚本执行方式 10.3.1 Shell基础-Bash基本功能-历史命令与补全 10.3.2 Shell基础-Bash基本功能-别名与快捷键 10.3.3 Shell基础-Bash基本功能-输入输出重定向 10.3.4 Shell基础-Bash基本功能
1. 使用date命令显示当前日期。 2. 使用 who命令显示当前所有登录用户的信息,试依次打开多个终端,再查看输出结果的变化。 3. 查看当前linux服务器的主机名的命令。(hostname) 4. 使用clear命令,清除屏幕信息。 5. 添加一个组账号,名称为group1,打开图形界面观察执行后的结果。 6. 查询文件group中group1的记录,改变group1组的GID 为666, 再查看文件group中group1的记录。 7. 以自己的姓名全拼创建一个用户,指定UID为555, 加上用户的备注信息(姓名全称、所在院系等),初始组为group1,有效组为root,打开图形界面观察执行后的结果。 8. 为以自己姓名命名的账户设置密码,并查看passwd文件和shadow文件的最后一行。 9. 使用命令给自己的姓名账户密码冻结,用passwd查看账户相关信息,最后给账户解冻。 10. 进入以自己姓名命名的用户主目录,显示当前的路径,退出当前目录,返回根目录。 11. 复制文件/etc/passwd到用户主目录,文件名不变,打开图形界面Nautilus的窗口观察执行后的结果。 12. 统计文件/etc/passwd文件的字节数和行数。 13. 创建普通文件/home/abc1,创建普通文件/home/abc2。 14. 将/etc/passwd的内容追加到文件abc1中,将/etc/group的内容追加到文件abc2中。(利用附加输出重定向命令)。 15. 修改文件abc1的属性为:属主具有一切权限,同组用户和其他用户具有可读可写的权限。(使用数字模式) 16. 修改abc2的属性为:给其他用户增加可执行的权限。(使用功能模式) 17. 以长文件形式显示文件abc1的详细信息。 18. 进入/home目录,将文件abc1和abc2打包成文件ab.tar,放在以自己姓名命名的用户主目录下(比如/home/liqun),打开图形界面Nautilus的窗口观察执行后的结果。 19. 创建Readme.txt文本文件,内容为你的姓名全拼、学号等信息,保存关闭后用命令查看Readme.txt文件的内容,并在每一行前加行号。 20. 在root目录下创建新文件夹mydir1,其绝对路径为“/root/testdir/mydir1”(假设testdir目录事先并不存在)。 21. 在root目录下创建新文件夹dir1,将其移动到 /root/testdir/mydir1目录下。在root目录下创建新文件夹dir2,将其移动到 /root/testdir目录下,并将其改名为mydir2。打开图形界面Nautilus的窗口,观察以上这些步骤执行后的结果。 22. 分别删除/testdir目录下的mydir1和mydir2目录。(注意rm命令不加-r选项,系统会提示mydir1是个目录不能删除。)(尝试重复步骤20和步骤21,重建上述目录,执行步骤22,比较增加-f选项的区别)。 23. 建立文件/etc/group的符号链接文件/root/a.b,打开图形界面Nautilus的窗口观察a.b文件的特征。 24. 进入根目录的tmp目录下,建立test1和test2两个文件夹,在test1中建立文件a.log, b.log,用ls命令查看所创建的文件a.log,b.log。再把a.log 硬连接到test2目录,文件同名。把b.log 软链接到test2目录下,文件同名。用ls命令查看test2文件夹下所创建的文件,并打开图形界面Nautilus的窗口观察文件夹test2下a.log文件和b.log文件的特征。 25. 由超级用户切换为以自己姓名命名的普通用户身份,并使用普通用户的环境变量,再切换回超级用户身份。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江湖有缘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值