passwd命令及其修改过程

本文详细介绍了Linux中passwd命令的使用,包括如何修改用户密码、密码修改过程及参数命令。通过实例展示了passwd命令如何切换用户、设置密码复杂性、密码有效期等,并解释了相关文件如/etc/passwd和/etc/shadow中存储的密码信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

passwd命令和用法

1.passwd root(用户名):可以修改用户密码

  • passwd root(root用户即使密码不满8位再输一遍依然可以执行修改)

我们先看看有没有新用户 cat  /etc/passwd

 可以看到有新用户text001和text002如果大家没有新用户就去创建一个新用户

  • useradd  text003
  • passwd   text003 
  • 输入密码

 我们passwd给普通用户修改密码试试

 可以看到我们root用户可以修改普通用户的密码。那么普通用户可以修改root的密码?不同用户可以互相修改?

su命令用于切换用户 su text001就可以切换到text001

 

 显然普通用户不能修改root和其他用户的密码。 那么普通用户可以修改自己的密码吗?

 

 

 我们发现普通用户是可以更改密码的,但是相比root已经有了密码的复杂性问题了


2.passwd修改密码的过程 (很重要)

cat /etc/passwd命令看可以查看用户信息(我们可以看到里面有一个x 他是密码)

 

  cat /etc/shadow命令看看密码的详细信息(下面就是text000的详细passwd信息)

我们粘贴出来分析一下text000:$6$YbzWXYQu$.aHhOzJHwKjQh7xiLXMclEbJOYFntwXDIDLvGR7rOaHqBf/pGVlbrtW.Kle7Jj/C1fXQHlE4Vwk1ZGc.9xh9l.:18454:0:99999:7:::(他们用:进行分割我们可以看到九部分)

1.用户名

2 加密后的密码

3最后一次密码修改日期距离1970 1.1的时间戳(天)

我们可以看到现在的时间戳为18454 现在我们把系统时间改掉 用命令date -s "19710101" 然后text000进行passwd就会发现时间戳已经改变

4.必须要保留的最小天数(也就是限制你修改密码的时间 0立刻可以修改 1 一天后可以修。。。)

我们把时间改成3然后修改text000的密码试试(可以看到已经不能在修改了)

然后我们把时间改到1971年1.5 看能不能修改

 

 可以看到密码又能修改了

 5.从此天过后必须修改密码从当前开始(就是密码的有效期)当前为99999天  我们将有效期改成10 

然后把时间改掉

然后exit退出 ssh @text000ip(自己的ip)

发现已经登录不上去了

6.密码过期前多少天警告

7.密码过期后几天依然可以登陆,但是会提醒

8.禁用1970 1.1

9.预留

3.passwd参数命令


[root@localhost ~]# passwd -S test001  #看用户状态
[root@localhost ~]# passwd -d test002  #清理
[root@localhost ~]# passwd -e test001   #使过期
[root@localhost ~]# passwd -l test002    #锁定
[root@localhost ~]# passwd -u test002    #解锁
[root@localhost ~]# echo "123456" | passwd --stdin test001   #从输入修改密码
[root@localhost ~]# passwd -i 10 test002
[root@localhost ~]# passwd -w 10 test002
[root@localhost ~]# passwd -n 100 test002
[root@localhost ~]# passwd -x 100 test002
[root@localhost ~]# chage -M 400 test002   #修改过期时间

  -k, --keep-tokens       保持身份验证令牌不过期
  -d, --delete            删除已命名帐号的密码(只有根用户才能进行此操作)
  -l, --lock              锁定指名帐户的密码(仅限 root 用户)
  -u, --unlock            解锁指名账户的密码(仅限 root 用户)
  -e, --expire            终止指名帐户的密码(仅限 root 用户)
  -f, --force             强制执行操作
  -x, --maximum=DAYS      密码的最长有效时限(只有根用户才能进行此操作)
  -n, --minimum=DAYS      密码的最短有效时限(只有根用户才能进行此操作)
  -w, --warning=DAYS      在密码过期前多少天开始提醒用户(只有根用户才能进行此操作)
  -i, --inactive=DAYS     当密码过期后经过多少天该帐号会被禁用(只有根用户才能进行此操作)
  -S, --status            报告已命名帐号的密码状态(只有根用户才能进行此操作)
  --stdin                 从标准输入读取令牌(只有根用户才能进行此操作)
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值