C Linuxプログラム内にiptablesルールを追加する必要があります。
どうすればいいですか?ルートアクセスが必要ですか、それとも一部の機能のみを付与できますか?
私はCAP_NET_RAW + iepを与え、popen()、system()、execve()を使ってiptablesを設定しようとしましたが、うまくいきませんでした。
sudoをすると明らかに動作しますが、root権限を与えたくありません。
ありがとうございます。
ベストアンサー1
ユーザーにroot権限を付与する必要はありません。 sudoersファイルを編集し、ユーザーがsudoを介して実行できるコマンドを制限できます。あるいは、sudoers ファイルに NOPASSWD オプションを提供することもできます。
MY_USER_NAME ALL = NOPASSWD: /sbin/iptables
sudoersファイルを編集した後、MY_USER_NAMEは "sudo iptables"コマンドを実行できます。権限を必要とする他のコマンドは実行できません。
sudoersファイルを編集するには、visudoコマンドを使用します。