Linux - Запустите демон как "никто"

У меня в корневом каталоге находится демон, который в данный момент запускается от имени root. Однако, поскольку эта программа может читать файловую систему, это явно проблема безопасности. Как я могу запустить его как никто, чтобы я мог решить эту проблему?

Выполнение "su - nobody -c / root / myscript" не работает, возвращая ошибку "Отказано в разрешении". Единственные способы, которыми я могу обойти это:

  1. Chmod -R 777 / root, что я не хочу делать на моем корневом каталоге, а также портит ssh.
  2. Переместите скрипт в /opt или /var и затем выполните (1)

Конечно, может быть простое решение, которое мне не хватает. Я никому не могу, но это не решает проблему. Есть идеи?

2 ответа

Решение

Вы не хотите делать (1) - Оставьте домашний каталог root в покое. (2) - ваш лучший вариант - создайте новый каталог, принадлежащий пользователю, с которым демон будет работать, и сделайте так, чтобы он выполнял любые операции ввода-вывода на диске, которые ему необходимы в этом каталоге.

Полу-связанный, пожалуйста, не запускайте вещи как "никто" - есть старая шутка, что никто обычно не является самым привилегированным пользователем в системе *NIX, потому что все демоны запускаются как "никто".

Если вы действительно беспокоитесь о безопасности, вы не хотите попасть в эту ловушку. Стоит потратить лишнюю минуту на то, чтобы создать выделенного пользователя для ваших демонов с соответствующими ограничениями:-)

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

Что вы противопоставляете переносу скрипта в другой каталог? Если вы сделаете это, а затем правильно установите режим / владельца файла, у вас не должно возникнуть проблем.

Другие вопросы по тегам