/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で作成されたユーザーのみを変更するようにします。

おすすめ記事