私が考えることができる最も近いものは次のとおりです。
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を使用して直接ユーザーを追加できます。しかし、非常に注意してください。また、あらかじめグループを追加しました。