Я хочу, чтобы пользователь запускал сценарии bash с помощью sudo [closed]

Так это для школьного задания. У меня есть рабочий сервер Bind9 и Apache2. Я написал 3 сценария, которые вносят соответствующие изменения в файлы конфигурации

  • DNS add zone
  • DNS add record
  • HTTP add vhost

Они хранятся в / etc / scripts . Эти сценарии доступны для редактирования с правами root. Пользовательская проверка требует, чтобы они запускались с sudo , так что это должно работать.

check@dennis:~$ bash /etc/scripts/dns_add_record

Но мне отказали в разрешении.

Разрешения сценариев следующие:

-rwsr-xr-x  1 root root 1875 Jan  3 03:31 dns_add_record.sh
-rwxr-xr-x  1 root root 2103 Jan  3 03:53 dns_add_zone.sh
-rwxr-xr-x  1 root root 1276 Jan  3 04:45 http_add_vhost.sh

Я добавил это правило в / etc / sudoers :

check   ALL=(ALL)       NOPASSWD:       /etc/scripts/dns_add_zone.sh

Я что-то просматриваю?

-3
задан 3 January 2016 в 22:44
3 ответа

Нужно набрать sudo, а затем команду. Итак:

sudo bash pathtothescripts

Сейчас вы просто выполняете их с пользователем проверки, а не с помощью sudo.

.
1
ответ дан 5 December 2019 в 21:59

Вам нужно выполнить

sudo /etc/scripts/dns_add_zone.sh

Просто BTW, у вас есть ненужный +s бит на dns_add_record.sh, вам нужно выполнить chmod u-s /etc/scripts/dns_add_record.sh, чтобы удалить его. Вы также должны удалить права на чтение для пользователей, они не должны быть в состоянии прочитать скрипты, чтобы выяснить, есть ли проблемы, связанные с эксплуатацией. Если все скрипты в /etc/scripts являются sudo скриптами, выполните chmod go= /etc/scripts/*.sh.

.
1
ответ дан 5 December 2019 в 21:59

Я нашел решение. Нужно было добавить проверку в группу sudo и выйти из системы

.
-1
ответ дан 5 December 2019 в 21:59

Теги

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