web-dev-qa-db-ja.com

ユーザーを変更してホームディレクトリを削除する

サービス(squeezelite)に関連付けられたユーザーのpasswdファイルエントリは、ユーザーがホームディレクトリ(/ home/squeezelite)を持っていることを示します。このフォルダは存在しません(そして私はそれが存在しなかったと思います)。

サービスは正常に実行されているので、passwdファイルを変更して、ユーザーにホームディレクトリがないことを示す傾向があります。 usermodでこれを達成する方法はありますか、それともpasswdファイルを直接編集する必要がありますか?答えがpasswdファイルを編集することである場合、どのような変更を加える必要がありますか? /home/squeezelite/に置き換えます

2
eponymous

@RalfFriedlの回答を使用して-dオプションを使用するか、その場合は主に/nonexistentで使用するか、/etc/passwdファイルを編集できます。

/home/squeezeliteを削除するだけです:
次のようなものから:

squeezelite:x:1001:1001::/home/squeezelite:

あなたはそれを作ることができます:

squeezelite:x:1001:1001:::

または

squeezelite:x:1001:1001::/nonexistent:

ホームディレクトリにルートディレクトリ/を使用することもできます。ただし、私の一番の提案は、passwdファイルから/home/squeezeliteを削除することです。その場合、ユーザーにはホームディレクトリがありません。

1
Fanatique

man usermodから

-d、-home HOME_DIR

ユーザーの新しいログインディレクトリ。

古い家が問題ではない場合、新しい家もおそらく問題ではありませんが、/var/nonexistentのようなものを使用して、ホームディレクトリが不要であるか存在するはずであることを示すことができます。

2
RalfFriedl