CentOS 7でホイールグループやsudoerを使用する代わりに、テストユーザーにroot権限(またはrootアカウント)を付与したいと思います。代わりに、pam_cap.soモジュールとLinux機能を使用したいと思います。
私はこれを試みます:
/etc/security/su に pam_cap.so モジュールを追加します。
# %PAM-1.0 auth optional pam_cap.so auth sufficient pam_rootok.so ....
/etc/security/capability.conf ファイルを生成し、ユーザーに許可される機能を追加します。
cap_sys_admin,cap_dac_override myuser * none
次に、次の
su
コマンドを実行します。$ su - myuser
以下を使用して、このユーザーの能力を確認できます。
$ capsh --print
私が知っている限り、root権限を取得するには、/ binでプログラムの機能ビットも設定する必要があります。たとえば、myuserがrootが所有するファイルを削除する場合は、/ bin / rmに上限ビットを設定できます。
sudo setcap 'CAP_DAC_OVERRIDE+ei' /bin/rm
ただし、この場合は/ binのすべてのプログラムに対して異なる種類の機能を設定する必要があります。そしてそれは良い考えではありません。
ユーザーにroot権限を与え、いくつかの必須機能を1つのレベルに設定できますか?たとえば、ユーザーシェルの上限のみを設定しますか?