/etc/passwdでHOME_DIRフィールドが完全に空のユーザーを作成する方法は?

/etc/passwdでHOME_DIRフィールドが完全に空のユーザーを作成する方法は?

私が考えることができる最も近いものは次のとおりです。

useradd --home / -r --shell /sbin/nologin someuser

ただし、これを行うと、/ etc / htpasswdに次のエントリが生成されます。

someuser:x:100:100::/:/sbin/nologin

「/」が消えるようにして、次のようにしたいと思います。

someuser:x:100:100:::/sbin/nologin

これはusermodを介して達成できます。

usermod -d '' someuser

ところで私の考えにはちょっと逆になったようです。

どんなアイデアがありますか?

答え1

まず第一に、私はあなたがそのようなユーザーアカウントを作成したい動機について非常に明確でなければならないというJimのコメントに同意する必要があります。

と言った:

useradd -d /REPLACEME someuser && perl -p -i -e 's/\/REPLACEME//;' /etc/passwd



もちろん、これは/ REPLACEMEが他の場所では有効なホームディレクトリとして使用されていないと仮定します。より複雑ですが、より正確な表現:

's/(someuser:.*:)\/REPLACEME(:.*)/$1$2/'

上記のuseraddで作成されたユーザーのみを変更するようにします。

答え2

実際、これは逆ではありません。ログインディレクトリがないアカウントは直接ログインできません。リソースとファイルを所有できます。何してるの?

useraddは--homeなしで文句を言いますか?

viまたはvimを使用して直接ユーザーを追加できます。しかし、非常に注意してください。また、あらかじめグループを追加しました。

関連情報