ホームフォルダが削除されるのを防ぐのはとても良いアイデアだと思います。だから私はこれを行うための可能な方法を見つけました。これが私が見つけたものです:
- 使用
chattr +i /home/user
- ルートとして追加/削除/名前を変更することはできません。ユーザーフォルダとすべての直接サブフォルダユーザー- 良いものと悪いもの。 ユーザーディレクトリの所有者をrootに変更し、固定ビットを設定します。 .keepファイルを追加し、所有者もrootに変更します。
chown root:user /home/user chmod 1775 /home/user chown root /home/user/.keep
ルート削除可能/ホーム/ユーザー、ユーザーはできません。ただし、ユーザーは自分のディレクトリにあるファイルを自由に追加/削除/名前変更できます。
- 使用
chattr +a /home/user
- 最初の方法と同じですが、ユーザーはファイルを追加できます。
私はchattr +a
ホームディレクトリから:chattr +a /home
これが最善の方法だと思います。
- 他のユーザーのために新しいホームフォルダを簡単に作成できます。
- ファイルを自由に編集できます/ホーム/ユーザー
- 私たちは注意することはできません
sudo rm -rf /home/user
実際、質問はこのアプローチの落とし穴は何ですか?
答え1
必要なディレクトリを削除するには書く親項目に対する権限。これは次のことを意味します。ユーザーを書き込めないため、/home
自分のディレクトリを削除できません。
$ chown root:root /home
$ chmod 0755 /home
$ chown user:user /home/user
$ chmod 0750 /home/user
これらの権限を使用すると、ルートのみを操作できます。この設定は、Linuxシステムがマルチユーザーであるため、実際には非常に一般的です。しかし、最初のユーザー(通常はID 1000)に属するUbuntu設定を/home
見ました。/home
Ubuntuの最初のユーザーは通常sudoerですが(sudoerを使用してすべてを削除できることを意味します)、sudo
root以外のユーザーにこれを提供するのは良い習慣ではないと思います。/home
結論的に言えばchattr
、私はこれが少し過剰だと思います。権限の問題が発生しました。追加のファイル属性は必要ありません。