редактирование/etc/init.d/rc.local для погони за входом в систему tty процессы

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 также

2
12.10.2013, 03:12
2 ответа

ttys порождены от /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 на самом деле получен перед Вашим ttys порождены. Я не верю переключению строк, таким образом, они, наоборот безопасен. Я думаю, что необходимо ожидать кого-то более хорошо осведомленного для подтверждения/опровергания.

Если Вы ищете настройку на последней минуте, прежде чем пользователи войдут в систему, почему бы не отбросить сценарий в /etc/profile.d вместо этого? Это будет влиять на оболочки, запущенные с эмулятора терминала также, не просто VTs.

1
27.01.2020, 22:14

Приглашения ко входу в систему текстового режима появляются после того, как программы запуска завершились, включая тех выполненных от /etc/rc.local. В этом суть программ запуска: чтобы быть выполненными при запуске, перед, пользователи входят в систему.

Если Вы хотите запустить программу, когда система запускается, и Вы хотите позволить пользователям входить в систему, прежде чем Ваша программа завершится, у Вас есть две опции. Много версий крона позволяют Вам указывать @reboot вместо времени выполнения для выполнения задания во время начальной загрузки; проверьте crontab (5) руководство по Вашей системе, чтобы видеть если @reboot поддерживается. С другой стороны, запустите свою программу от /etc/rc.local (или некоторый другой сценарий запуска), но в фоновом режиме:

/path/to/my_auto_script &
1
27.01.2020, 22:14
  • 1
    моя программа имеет бесконечный цикл с условием продолжения и работает в фоновом режиме, и это не работает хорошо в моем случае. Я пытался включить команды сна, но это не помогает –  mugetsu 14.10.2013, 20:26
  • 2
    @mugetsu, Если Ваши прогоны программы, пока система не ложится спать, делает ее сервисом с его собственным файлом в /etc/init.d. То, под чем Вы подразумеваете, “не работает хорошо”? Программа начнет работать непосредственно перед тем, как пользователи могут войти в систему и продолжать бежать, пока она хочет даже, в то время как пользователи зарегистрированы. –  Gilles 'SO- stop being evil' 14.10.2013, 20:46

Теги

Похожие вопросы