设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 数据 手机 公司
当前位置: 首页 > 服务器 > 系统 > 正文

利用passwd 命令在 Linux 中处理用户密码

发布时间:2022-11-05 10:01 所属栏目:52 来源:互联网
导读:相比于过去,现在的安全技术已经取得了长足的进步,但是,到目前为止,密码仍然是用于保护数据安全最常用的工具之一。 passwd 命令可以让我们在 Linux 中更改用户密码,但它不仅仅用于更改密码,还可以锁定(或者解锁)用户,也可以让用户在下次登录时更改密
  相比于过去,现在的安全技术已经取得了长足的进步,但是,到目前为止,密码仍然是用于保护数据安全最常用的工具之一。
 
  passwd 命令可以让我们在 Linux 中更改用户密码,但它不仅仅用于更改密码,还可以锁定(或者解锁)用户,也可以让用户在下次登录时更改密码。
 
  通过 passwd 命令所作的修改,都会反映在文件 /etc/passwd 中。那么,Linux 中的密码存储在哪里呢?它是以加密形式存储在 /etc/shadow 文件中的。
 
  下面我们就介绍一些关于 passwd 命令的实际用法。
 
  1,更改自己的密码
 
  要更改自己的账户密码,即当前登录用户的密码,只需要输入 passwd 命令,不需要任何选项:
 
  复制
  passwd
  1.
  输入 passwd 回车后,系统会要求你输入当前密码,然后再设置一个新的密码,如下例子:​
 
  复制
  $ passwdChanging password for gliu.(current) UNIX password: Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully
  1.
  如果你输入当前密码(即旧密码)作为新密码,系统将抛出一条错误消息,指出密码未更改,并再次提示你输入新密码。
 
  2,创建 root 密码
 
  许多 Linux 发行版默认情况下都没有设置 root 密码,访问 root 用户的唯一方法就是通过 sudo 或者 su 命令。之所以这样做,是因为如果设置了比较简单的 root 密码(比如123456abc),系统会很容易受到攻击。
 
  你必须是 sudo 用户才能创建 root 密码:
 
  复制
  sudo
  1.
  输出如下:​
 
  复制
  $ sudo passwd root[sudo] password forEnter newRetype newpasswd: password updated successfully
  1.
  正确合理的配置用户权限很重要,因为我们肯定不希望所有用户都能更改 root 密码。
 
  3,修改其他用户的密码
 
  作为 root 用户,或者有 sudo 权限的用户,可以使用 passwd 命令更改其他用户的密码。
 
  复制
  sudo passwd <username>
  1.
  因为你是管理员,正在重置密码,所以系统不会要求你输入旧密码:​
 
  复制
  $ passwd nobodyEnter new UNIX password: Retype new UNIX password: passwd: password updated successfully
  1.
  4,检查密码状态
 
  可以使用 -S 选项来检查用户密码的状态:
 
  复制
  sudo passwd -S <username>
  1.
  下面是输出:​
 
  复制
  $ passwd -S nobodynobody P 07/26/2022 0 99999 7 -1
  1.
  我们把上述输出整理到一个表格中,以便后面的分析:
 
  用户名
 
  状态
 
  上次更改日期
 
  最小期限
 
  最大期限
 
  警告期
 
  非活动期
 
  nobody
 
  P
 
  07/26/2022
 
  0
 
  99999
 
  7
 
  -1
 
  首先看一下状态(status),各选项说明如下:
 
  P:可用密码(Usable passwod)
  NP:没有密码(No password)
  L:锁定的密码(Locked password)
  然后,关于密码的有效期限,使用了一些保留的特殊号码,用于设置密码规则的参数:
 
  9999:永不过期
  0:可以随时修改
  -1:未激活
  其他的信息项,我们可以看到警告期为 7 天。但是由于禁用了非活动期,且设置了永不过期,所以不会出现警告。
 
  5,检查所有用户的密码状态
 
  作为管理员用户,可以检查系统上所有账户的用户状态:
 
  复制
  sudo
  1.
  6,强制用户在下次登录时更改密码
 
  我们可以使用 -e 选项让用户密码立刻过期,这样就可以强制用户在下次登录的时候更改密码:
 
  复制
  sudo passwd -e <username>
  1.
  强制密码过期的情况如下:​
 
  复制
  $ passwd -e nobodypasswd: password expiry information changed.
  1.
  现在,我们再来检查一下用户密码的状态:​
 
  复制
  $ passwd -S nobodynobody P 01/01/1970 0 99999 7 -1
  1.
  我们可以看到,密码的设置日期已更改为“1970年1月1日”,这个历史日期与 Unix 系统相关,它是一个“纪元(epoch)”日期,这基本上意味着该日期是 Unix 系统出现的第 “0”天(按32位)。
 
  这样,就可以将用户 nobody 的密码强制过期,当该用户下次登录时,就会被系统要求修改一个新密码。
 
  7,锁定或解锁用户账户
 
  passwd 命令的 -l 选项可以让我们在 Linux 系统中锁定用户账户:
 
  复制
  sudo passwd -l <username>
  1.
  一旦我们锁定了用户账户,那该用户就不能再登录了。​
 
  复制
  $ passwd -l nobody1passwd: password expiry information changed.
  1.
  我们再来检查一下用户的状态,如下:​
 
  复制
  $ passwd -S nobody1nobody1 L 07/26/2022 0 99999 7 -1
  1.
  可以看到,其状态代码为 L,表示已锁定。
 
  解锁用户也很容易,使用 -u 选项:​
 
  复制
  $ passwd -u nobody1passwd: password expiry information changed.
  1.
  再次查看用户密码状态,可以发现其状态被修改为了 P,即可用密码状态:​
 
  复制
  # passwd -S nobody1nobody1 P 07/26/2022 0 99999 7 -1
  1.
  8,删除用户密码
 
  可以使用 -d 选项来删除某个账户的密码,这样,该账户就不需要密码来访问系统。不过这不安全,所以一般不会这样做。
 
  复制
  sudo passwd -d <username>
  1.
  9,其他
 
  我们可以使用 -n 选项来强制某个用户在 n 天内修改密码。不过这样手动操作是比较麻烦的,而且还浪费时间,所以一般情况下我们都是配置系统的密码策略,使其适用于所有的用户账户。
 
  关于 passwd 其他的使用方法,大家可以使用 -h 选项来获取帮助信息。

(编辑:ASP站长网)

    网友评论
    推荐文章
      热点阅读