在哪里可以找到有关如何创建用户的详细信息。用户当前的状态是什么。
例如,命令可以使用、等adduser
来运行。--no-create-home
--disabled-password
--home DIR
是否有任何命令可以告诉用户是否有主目录。如果它有主目录,那么该目录的位置是什么。
或者用户是否有密码。
答案1
看man 5 passwd
密码条目的格式。每个用户都有多个字段,用冒号分隔。主目录是第六个字段,所以
getent passwd user | cut -d: -f6
将显示user
的主目录。这并不意味着该目录存在;而是意味着该目录存在。你需要单独检查一下。
homedir="$(getent passwd user | cut -d: -f6)"; [ -d "$homedir" ] && printf "User %s's home directory is %s and exists.\n" user "$homedir"
密码是第二个字段。通常是x
,表示密码哈希位于/etc/shadow
,或*
,表示该帐户禁用密码访问(*
也可以在 中找到/etc/shadow
)。您确实应该使用passwd
来确定帐户是否被禁用;看这个答案了解详情。
[ "$(passwd -S user | cut -d\ -f2)" = P ] && printf "User %s has a password.\n" user