Написать сценарий оболочки, который может запускать только пользователь sudo в Ubuntu - PullRequest
1 голос
/ 15 января 2010

Я пишу сценарий оболочки, который должен запускаться пользователями только в списке пользователей sudo, каков подходящий способ сделать это?

что я думаю в сценарии оболочки, попробуйте создать фиктивный файл в системном каталоге, например / var / run /, и удалить его, чтобы пользователи, не входящие в список sudo, получили ошибку разрешения, но я верю, что там Должен быть более подходящий способ сделать это, спасибо за помощь

Ответы [ 3 ]

8 голосов
/ 15 января 2010

Измените разрешения на выполнение сценария, чтобы он мог выполняться только пользователем, и измените владельца сценария на root. Это должно сделать это.

3 голосов
/ 15 января 2010

Вы можете проверить значения $ UID и $ EUID в вашем скрипте. Они будут равны нулю за то, что эквивалентны корню. Или, если не Bash, вы можете использовать id -u.

2 голосов
/ 15 января 2010

убедитесь, что вы в списке sudoers:

sudo chmod 700 / path / to / scriptname

[отвечая на комментарий]
извините - я не использую subversion:Я предполагаю, что вам нужно будет запустить другой сценарий как sudoer, который создаст сценарий с правильными разрешениями.

Нет, вам не нужно менять владельца на root, но этобудет держать вещи в чистоте, если вы делаете.

...