su
(главным образом) использование pam для аутентификации и pam имеет модуль, названный pam_wheel, который проверяет состав группы проходящего проверку подлинности пользователя. Короче говоря, путем добавления
auth required pam_wheel.so group=becomeroot
в файл /etc/pam.d/su
, только пользователи, которые являются членами группы becomeroot
может стать корневым использованием su. Теперь Вы удостоверяетесь только свой пользователь, EMERG является членом группы becomeroot. Некоторые дистрибутивы/используют названная группа wheel
для этого.
groupadd becomeroot #add the group becomeroot to your system
gpasswd -a EMERG becomeroot # add the user EMERG to the group becomeroot
Дальнейшее чтение: pam (7) pam_wheel (8) groupadd (8) gpasswd (1) и много дистрибутивов имеют объяснение комментариев в /etc/pam.d/su
также
tty
s порождены от /etc/inittab
. По умолчанию строки, которые порождают их, прибывают после строк, которые работают rc
сценарии. Например, в мой (неспециализированный) inittab
, Я имею:
...
l0:0:wait:/etc/init.d/rc 0
l1:1:wait:/etc/init.d/rc 1
l2:2:wait:/etc/init.d/rc 2
l3:3:wait:/etc/init.d/rc 3
l4:4:wait:/etc/init.d/rc 4
l5:5:wait:/etc/init.d/rc 5
l6:6:wait:/etc/init.d/rc 6
...
1:2345:respawn:/sbin/getty 38400 tty1
2:23:respawn:/sbin/getty 38400 tty2
3:23:respawn:/sbin/getty 38400 tty3
4:23:respawn:/sbin/getty 38400 tty4
5:23:respawn:/sbin/getty 38400 tty5
6:23:respawn:/sbin/getty 38400 tty6
Так rc.local
на самом деле получен перед Вашим tty
s порождены. Я не верю переключению строк, таким образом, они, наоборот безопасен. Я думаю, что необходимо ожидать кого-то более хорошо осведомленного для подтверждения/опровергания.
Если Вы ищете настройку на последней минуте, прежде чем пользователи войдут в систему, почему бы не отбросить сценарий в /etc/profile.d
вместо этого? Это будет влиять на оболочки, запущенные с эмулятора терминала также, не просто VTs.
Приглашения ко входу в систему текстового режима появляются после того, как программы запуска завершились, включая тех выполненных от /etc/rc.local
. В этом суть программ запуска: чтобы быть выполненными при запуске, перед, пользователи входят в систему.
Если Вы хотите запустить программу, когда система запускается, и Вы хотите позволить пользователям входить в систему, прежде чем Ваша программа завершится, у Вас есть две опции. Много версий крона позволяют Вам указывать @reboot
вместо времени выполнения для выполнения задания во время начальной загрузки; проверьте crontab (5) руководство по Вашей системе, чтобы видеть если @reboot
поддерживается. С другой стороны, запустите свою программу от /etc/rc.local
(или некоторый другой сценарий запуска), но в фоновом режиме:
/path/to/my_auto_script &
/etc/init.d
. То, под чем Вы подразумеваете, “не работает хорошо”? Программа начнет работать непосредственно перед тем, как пользователи могут войти в систему и продолжать бежать, пока она хочет даже, в то время как пользователи зарегистрированы.
– Gilles 'SO- stop being evil'
14.10.2013, 20:46