Если вы работаете в системе, которая использует PAM (например, почти все Linux-системы), то у вас есть еще несколько вариантов.
/etc/pam.d/su
и добавьте строку типа su auth required pam_wheel.so
перед вашей LDAP/AD/etc. аутентификацией. Это даст вам группу wheel
, используя PAM вместо права собственности на файл. Вы также можете делать гораздо более гибкие вещи, используя pam_succeed_if
. auth sufficient pam_rootok.so
(что позволяет root использовать su
) на auth required pam_rootok.so
(чтобы позволить только root использовать su
), либо, как вариант, поставьте auth required pam_deny.so
в какой-то момент. auth required pam_succeed_if.so uid ne $appuser
, чтобы просто заблокировать su
для пользователя приложения. Заранее прошу прощения, я не тестировал ни один из этих вариантов.