我想知道我的帐户密码在Solaris过期前的“剩余”天数。
我在linux中使用chage命令获取这些信息。
passwd -S <userid>可以获得在Linux和Solaris上密码到期所剩的天数,但不幸的是,这个passwd需要sudo提升的权限。
注意:我需要知道密码在我自己的账户上过期的剩余时间,而不是任何其他用户。
我最终将使用这里的解决方案到ansible工具中。
发布于 2021-07-31 10:27:50
如果您的登录名是基于文件的(/etc/passwd//etc/shadow),并且没有读取/etc/shadow的权限,那么显然无法在Solaris上获取这些信息。(请注意,读取/etc/shadow可以让您访问/etc/shadow中的散列密码。你就有能力用暴力攻击来破解它们.)
如果您有根访问权限,则可以使用
logins -x -l username结果如下所示:
-bash-4.4# logins -x -l ahenle
ahenle 1024 users 100
/home/ahenle
/usr/bin/bash
PS 101720 -1 -1 -1如果您没有根访问权限(或读取/etc/shadow的类似权限),最后一行将是
LK 010170 0 0 0对数值的os为零(1970年1月1日之后的010170为零)。
来自这个logins手册页:
登录(8)名称登录-列出用户和系统登录信息概要/usr/bin/logins -S存储库 -g组...描述此命令显示系统已知的用户、角色和系统登录的信息。输出的内容由命令选项控制,可以包括以下内容:用户、角色或系统登录;用户id号;
passwd帐户字段值(用户名或其他信息);主组名称;主组id;多个组名;多组id;主目录;登录外壳;以及四个密码老化参数。...选项选项可以一起使用。如果是,则显示与任何条件匹配的任何登录名。支持下列选项:.-l login_name.选择请求的登录名。.-x打印关于每个选定用户的一组扩展信息。扩展的信息包括主目录、登录shell和密码老化信息,每个信息显示在一个单独的行上。密码信息目前由密码状态组成: NP帐户没有密码,LK帐户被锁定为UNIX身份验证,AL帐户由于超过配置的身份验证失败次数而自动锁定。NL帐户是一个无登录帐户,此帐户尚未被管理员激活,无法使用。PS帐户可能有有效密码,UN帐户密码状态未知。也就是说,它不是一个可识别的散列密码或任何上述条目。有关有效密码散列,请参阅密码(3C)。如果登录是密码,则状态后面跟着密码上次更改的日期、更改之间所需的天数以及所需更改前所允许的天数。密码老化信息显示用户在密码过期前(登录时)收到密码过期警告消息的时间间隔。
https://unix.stackexchange.com/questions/662552
复制相似问题