Извините за мои выражения, и я надеюсь, что я описал свой вопрос как можно более четко.

Использование системы Red-Hat. В настоящее время у меня есть суперпользователь в системе, и я должен сделать sudo python cuckoo.py для запуска этой программы на python, и она читает и пишет в определенном каталоге, называемом "cuckoo".

Теперь я хочу предоставить обычному пользователю доступ к этому «cuckoo.py», а также к рабочему каталогу. Однако, в то же время, я также не хочу предоставлять привилегии этого суперпользователя, поскольку они могут повредить мою систему

Итак, как я могу позволить обычному пользователю просто напрямую вызывать python cuckoo.py и не получит сообщение об ошибке "Отказано в доступе"?

Любая помощь и комментарии приветствуются. И если у меня есть несколько действительно плохих словосочетаний, чтобы сделать их неясными, пожалуйста, укажите на это, и я сделаю все возможное, чтобы объяснить более подробно.

Спасибо!

РЕДАКТИРОВАТЬ: Может быть, мои слова не совсем ясны ... Я не хочу включать этого обычного пользователя в "root". В настоящее время я создал группу и добавил этого обычного пользователя в группу, а разрешение каталога установлено равным 755. Но я хочу, чтобы у группы было разрешение на запись, чтобы гладко запустить cuckoo.py . Поэтому мне интересно, как сделать так, чтобы и root, и эта группа имели права на чтение, запись и выполнение?

2 ответа2

2

Если единственная причина, по которой скрипт должен запускаться от имени пользователя root, - это чтение / запись в ваш конкретный каталог, есть два способа решить эту проблему (позволить обычному пользователю успешно запустить скрипт):

  1. Создайте группу, сделайте папку, в которой вы работаете, принадлежащей этой группе, и добавьте пользователя в эту группу.
sudo groupadd <groupname>
sudo usermod -a -G <groupname> <username>
sudo chgrp -R <groupname> <folder>
  1. Просто измените мировое разрешение для папки (не рекомендуется, если вы не хотите, чтобы кто-либо на вашем компьютере имел доступ к вашей папке с cuckoo ).
sudo chmod -R 664 ./cuckoo

Это разрешение позволяет читать и писать для владельца, группы и мира

0

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

Имейте в виду, что для обеспечения безопасности в этом файле вам нужно будет плотно заблокировать разрешения.

Сделайте файл владельцем root и группой root:

sudo chown root.root <my script>

Теперь установите sticky, но сделайте его исполняемым для всех и доступным для записи только root:

sudo chmod 4755 <my script>

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

Бит SetUID заставляет скрипт или двоичный файл всегда запускаться как владелец файла / двоичного файла, примером такого двоичного файла является «passwd».

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .