Например, я бы хотел, чтобы Tom DBA прислал su пользователю oracle, но не пользователю tomcat или root.
Мне нужно было сделать это с системой недавно, и мне было трудно найти свои заметки об альтернативной установке, которую я использовал несколько лет назад, которая также допускала синтаксис su <user>. В моей ситуации мне нужно было разрешить несколько пользователей для suконкретного пользователя.
Создайте группу, используя addgroup <groupName>которую другие пользователи смогут suбез пароля. Затем добавьте эту группу к каждому пользователю, к которому вы хотите suподключиться без пароля:
usermod -a -G <groupName> <userName>(или usermod -a -G oracle tom). Изменения в группе могут не вступить в силу до следующего входа в систему.
Примечание: в вашем случае у вас уже есть группа, потому что oracleгруппа была бы создана, когда вы сделали пользователя oracle с помощью adduser oracle.
Теперь отредактируйте /etc/pam.d/suи под следующим:
# This allows root to su without passwords (normal operation)
auth sufficient pam_rootok.so
..добавить строки правил авторизации, поэтому раздел выглядит так:
# This allows root to su without passwords (normal operation)
auth sufficient pam_rootok.so
auth [success=ignore default=1] pam_succeed_if.so user = <groupName>
auth sufficient pam_succeed_if.so use_uid user ingroup <groupName>
Заменить <groupName>на oracleв этом случае. Это позволит любому пользователю , который является частью <groupName>Tosu <groupName>
Теперь tomможно, su oracleи если вам нужно предоставить другим пользователям такой же доступ, добавьте их в oracleгруппу.
подобный вопрос здесь