web-dev-qa-db-ja.com

通常rootに制限されている特定のシステムファイルをユーザーが編集できるようにするにはどうすればよいですか?

ルート権限を持っていないユーザーで/etc/network/interfacesに書き込もうとしています。

これに書き込みたい理由は、コマンドラインのみのサーバーを実行しているため、ユーザーが静的IPを設定できるようにするためです。 etc/sudoersでユーザーに許可するにはどのような許可が必要ですか?

ユーザーに完全なルート権限を与えたくない。このファイルを編集するだけの能力。

8
Keith

UsingSudoの代わりに、ファイルにACLを設定するだけです:

$ ls -l /var/tmp/foo
-rw-rw---- 1 root root 4 Jul 31 15:26 /var/tmp/foo
$ Sudo setfacl -m u:white:rw /var/tmp/foo
$ whoami
white
$ cat /var/tmp/foo
bar

これで、ファイルの所有者は「root」ですが、ユーザー「white」は読み取りと書き込みができます。ユーザー 'white'は、お気に入りのエディターを使用してファイルを編集できるようになりました。

25
Jeff White