Next Previous Contents

11. Использование PPP и привилегии root

Поскольку PPP должен настроить сетевые устройства, измените таблицу маршрутизации ядра и т.д, что требует привилегий root.

Если пользователи (не root) должны устанавливать PPP соединение, то программа pppd должна были setuid root:

-rwsr-xr-x   1 root     root        95225 Jul 11 00:27  /usr/sbin/pppd
Если /usr/sbin/pppd не setuid, то зарегитрируйтесь как root и дайте команду:
chmod u+s /usr/sbin/pppd
После этого pppd бкдет запускаться с привилегиями root, даже если запущен обычным пользователем. Это позволяет нормальному пользователю выполнять pppd с необходимыми привилегиями, чтобы настроить сетевые интерфейсы и таблицу маршрутизации ядра.

Программы, которые выполняют 'set uid root', являются потенциальными лазейками в защите системы, и вы должны быть чрезвычайно осторожны при создании программ 'suid root'. Ряд программ (включая pppd) был тщательно написан с точки зрения минимизации опасности выполнения suid root, так что вы должны быть защищены (но все-таки гарантий нет).

В зависимости от того, как вы хотите, чтобы ваша система работала - особенно если вы хотите, чтобы ЛЮБОЙ пользователь вашей системы мог инициализировать PPP связь, то вы должны сделать ваш набор скриптов ppp-on/off читаемым/выполнимым. (Наверное это здорово, когда PC используется ТОЛЬКО Вами).

Однако, если вы НЕ хотите, чтобы любой человек мог запускать PPP соединение (например, ваши дети имеет аккаунты на вашем Linux PC, и вы не хотите, чтобы они выходили в Интернет без вашего разрешения), то вы должны будете настроить группу PPP (как root, отредактировать /etc/group) и:

Даже если вы сделали это, обычные пользователи ВСЕ ЕЩЕ не могут завершить связь программно! Выполнение сценария ppp-off требует привилегий root. Однако, любой пользователь может только выключить модем (или выдернуть телефонную линию из внутреннего модема).

Вариант (и лучший метод), чтобы это настроить, состоит в использовании программы sudo. Она предлагает повышенную защиту и позволит вам настроить систему так, чтобы любой (разрешенный) пользователь мог активизировать/дезактивировать связь, используя скрипты. Использование sudo позволит разрешенному пользователю активизировать/дезактивировать связь PPP чисто и надежно.


Next Previous Contents
Используются технологии uCoz