su и sudo в сценарии оболочки

Существует сценарий оболочки (/ bin / sh, не bash), для выполнения которого требуются права root.

Если он запускается обычным пользователем, он должен запрашивать у пользователя пароль для получения root-доступа и перезапустить себя.

Теперь он использует следующий код:

if [$ (id -u) -ne 0]; затем su root - $ 0 не bash), для выполнения которого требуются права root.

Если он запускается обычным пользователем, он должен запросить у пользователя пароль для получения root-доступа и перезапустить себя.

Теперь он использует следующий код:

если [$ (id -u) -ne 0]; затем su root - $ 0 не bash), для выполнения которого требуются права root.

Если он запускается обычным пользователем, он должен запросить у пользователя пароль для получения root-доступа и перезапустить себя.

Теперь он использует следующий код:

если [$ (id -u) -ne 0]; затем su root - $ 0$ @; ... fi

Это работает нормально, но есть ОС, такие как Ubuntu, у которых вообще нет пароля root. С другой стороны, многие системы используют sudo для прав суперпользователя.

Вопрос в том, как скрипт может определить, использовать ли su или sudo , не спрашивая пользователя введите слишком много паролей (например, введите sudo пароль, в случае неудачи - запустите su ).

6
задан zserge 4 October 2010 в 15:01
поделиться