ユーザーにホームディレクトリまたはパスワードがあるかどうかを確認するには?

ユーザーにホームディレクトリまたはパスワードがあるかどうかを確認するには?

ユーザーを作成する方法の詳細を見つけることができます。ユーザーの現在の状態はどうですか?

たとえば、などを使用してコマンドをadduser実行できます。--no-create-home--disabled-password--home DIR

ユーザーにホームディレクトリがあるかどうかを知らせるコマンドはありますか?ホームディレクトリがある場合、そのディレクトリの場所は何ですか?

またはユーザーにパスワードがある場合。

ベストアンサー1

バラよりman 5 passwdパスワード入力形式です。各ユーザーには、コロンで区切られた複数のフィールドがあります。ホームディレクトリは6番目のフィールドなので

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"

パスワードは2番目のフィールドです。一般的には、xパスワードハッシュがにあることを示します/etc/shadow。または*、このアカウントへのパスワードアクセスが無効になっていることを示します(*にもあります/etc/shadow)。passwdアカウントが無効になっていることを確認するには、実際に使用する必要があります。この回答もっと学ぶ。

[ "$(passwd -S user | cut -d\  -f2)" = P ] && printf "User %s has a password.\n" user

おすすめ記事