プロセスが機能するために必要な Linux の機能がわからないという困難な状況にあります。必要なキャップを見つけるための最良の方法、または方法は何ですか?
私が今考えることができる唯一のことは、capsh を使用して、プロセスですべての大文字を削除することです。その後、プロセスは失敗し、機能するまで (--drop=CAP_XZY を削除して) キャップの追加を開始します。
より良い提案はありますか?
プロセスが機能するために必要な Linux の機能がわからないという困難な状況にあります。必要なキャップを見つけるための最良の方法、または方法は何ですか?
私が今考えることができる唯一のことは、capsh を使用して、プロセスですべての大文字を削除することです。その後、プロセスは失敗し、機能するまで (--drop=CAP_XZY を削除して) キャップの追加を開始します。
より良い提案はありますか?
予想よりも簡単であることがわかりました。libcap-ng ( https://people.redhat.com/sgrubb/libcap-ng/ ) をインストールして使用しますpscap
。
Ubuntu 16.04 では、次の方法でインストールできます。
sudo apt-get install libcap-ng-utils
サンプル出力の抜粋:
ppid pid name command capabilities
1 468 root systemd-journal chown, dac_override, dac_read_search, fowner, setgid, setuid, sys_ptrace, sys_admin, audit_control, mac_override, syslog, audit_read
1 480 root lvmetad full
1 492 root systemd-udevd full
1 1040 root rpc.idmapd full
1 1062 root rpc.gssd full
1 1184 messagebus dbus-daemon audit_write +
1 1209 root NetworkManager dac_override, kill, setgid, setuid, net_bind_service, net_admin, net_raw, sys_module, sys_chroot, audit_write