Файл /etc/suauth проверяется каждый раз при запуске команды su. Он влияет на поведение команды su, в зависимости от:
1) the user su is targeting
Формат файла показан ниже, строки начинающиеся с # считаются комментарием и игнорируются;
желаемый-id:желающий-id:ДЕЙСТВИЕ
Где желаемый-id может быть словом ALL, списком имён пользователей, перечисленных через запятую («,») или фразы ALL EXCEPT, после которой идёт список имён пользователей перечисленных через «,».
from-id is formatted the same as to-id except the extra word GROUP is recognized. ALL EXCEPT GROUP is perfectly valid too. Following GROUP appears one or more group names, delimited by ",". It is not sufficient to have primary group id of the relevant group, an entry in /etc/group(5) is necessary.
В поле ДЕЙСТВИЕ может быть только одно из следующих значений:
DENY
NOPASS
OWNPASS
Заметим, что тут используются три поля, разделённых двоеточиями. Никаких пробелов не допускается около двоеточий. Также заметим, что файл просматривается строка за строкой, и первое подходящее правило будет использовано без проверки оставшихся правил. Это позволяет системному администратору осуществлять любой контроль, какой он пожелает.
# пример файла /etc/suauth # # Пара привилегированных имён пользователей # могут выполнить su, чтобы получить права суперпользователя введя свой пароль. # root:chris,birddog:OWNPASS # # Все остальные не могут выполнить su для получения root, если они # не члены группы wheel. Так настроено в BSD. # root:ALL EXCEPT GROUP wheel:DENY # # Возможно учётными записями terry и birddog # владеет один человек. # Переход из одной записи в другую # можно сделать без запроса пароля. # terry:birddog:NOPASS birddog:terry:NOPASS #
/etc/suauth
Может быть несколько угроз. Анализатор файла, в частности, не прощает синтаксических ошибок, ожидая, что не будет недопустимых пробелов (кроме как в начале и конце строк) и специальных слов, разделяющих различные вещи.
Ошибки при анализе файла выводятся с помощью syslogd(8) с уровнем ERR средства AUTH.
su(1).