usermodがホームディレクトリを変更するためにroot権限を必要とするのはなぜですか?

usermodがホームディレクトリを変更するためにroot権限を必要とするのはなぜですか?

ホームディレクトリを移動したいです。古いホームと新しいホームの両方に対する読み取り、書き込み、および実行権限があります。なぜ私の家がどこにいるのかをLinuxに伝えることはできませんか?

usermod -m -d /newhome/username username可能だと思いますが、ルートアクセスが必要です。他の設定ではこれを行う機能があります。たとえば、chshsetuid フラグを使用すると が修正されます/etc/passwdchhomeユーザーがホームディレクトリ設定を変更できるようにするのは妥当ではありませんか?

提供しないのには妥当な理由があるようですが、残念ですね。どんなアイデアがありますか?

ベストアンサー1

まず、変更したいホームディレクトリのユーザーとして現在ログインしている間は、この変更を実行できません。同じユーザー名で実行されている別のプロセスがあると、usermodが失敗するためです。ルート権限を持つコンピュータの他のアカウントを介してホームディレクトリを変更する方法はいくつかあります。これらの変更をすぐに実行すると、Linuxに新しいディレクトリがどこにあるかを知らせるために必要なすべてのファイルを編集することなく、bashのような作業を台無しにすることができます。

これは、ユーザーが自分のホームディレクトリを必要に応じてランダムに変更し、その過程でファイルやアカウントへのアクセス権が永久に失われることを防ぐ機能です。

おすすめ記事