Linuxには、rootが所有するファイルを変更する機能がありますか?

Linuxには、rootが所有するファイルを変更する機能がありますか?

お持ちですか?Linuxの機能/etc/resolv.conf一般ユーザーが/etc/fstab`などのルート所有ファイルに書き込むことを許可しますか?

答え1

いいえ。ユーザーに付与されていない権限に関係なく、任意のファイルCAP_DAC_OVERRIDE/etc/passwd

グループを作成し、グループにユーザーを追加し、グループにファイルへの書き込み権限を付与します。

addgroup fstab-writers
adduser alice fstab-writers     # Note that this only takes effect when alice logs in, not in her already-running session(s).
chgrp fstab-writers /etc/fstab
chmod g+w /etc/fstab

複数のグループにファイルに対する特定の権限が必要な場合や、chgrp代わりにアクセス制御リストを使用してくださいchmod

setfacl -m g:fstab-writers:rw /etc/fstab

システムプログラムが問題のファイルを上書きしても、グループ所有権またはアクセス制御リストが再現されるという保証はありません。ただし、この場合は、とにかくこのファイルを手動で変更しないでください。

さらに、両方には、/etc/fstabユーザー/etc/resolv.confに書き込み権限を付与する必要がない、よく確立されたメカニズムがあります。

  • ユーザーに書き込み権限を付与することは、/etc/fstabrootとして任意のコマンドを実行できるようにすることと同じです。最も簡単な方法は、setuid root実行可能ファイルを使用してファイルシステムイメージをマウントすることですが、他の方法もあります。ユーザーがファイルシステムをマウントできるようにするには、次のようにします。ユティカ(これはデスクトップ環境が後で使用するものです)またはpmount
  • /etc/resolv.conf通常、次のように自動的に管理されます。ネットワーク管理者、root以外のユーザーが制御できます。これはデスクトップ環境が後で使用するものであり、コマンドラインインターフェイス(nmcli)もあります。 NetworkManager がなくても、多くのディストリビューションは NetworkManager を提供しています。構成ファイルの解析ネットワーク接続が変更されると自動的に管理します。

関連情報