Linux - Запустите демон как "никто"
У меня в корневом каталоге находится демон, который в данный момент запускается от имени root. Однако, поскольку эта программа может читать файловую систему, это явно проблема безопасности. Как я могу запустить его как никто, чтобы я мог решить эту проблему?
Выполнение "su - nobody -c / root / myscript" не работает, возвращая ошибку "Отказано в разрешении". Единственные способы, которыми я могу обойти это:
- Chmod -R 777 / root, что я не хочу делать на моем корневом каталоге, а также портит ssh.
- Переместите скрипт в /opt или /var и затем выполните (1)
Конечно, может быть простое решение, которое мне не хватает. Я никому не могу, но это не решает проблему. Есть идеи?
2 ответа
Вы не хотите делать (1) - Оставьте домашний каталог root в покое. (2) - ваш лучший вариант - создайте новый каталог, принадлежащий пользователю, с которым демон будет работать, и сделайте так, чтобы он выполнял любые операции ввода-вывода на диске, которые ему необходимы в этом каталоге.
Полу-связанный, пожалуйста, не запускайте вещи как "никто" - есть старая шутка, что никто обычно не является самым привилегированным пользователем в системе *NIX, потому что все демоны запускаются как "никто".
Если вы действительно беспокоитесь о безопасности, вы не хотите попасть в эту ловушку. Стоит потратить лишнюю минуту на то, чтобы создать выделенного пользователя для ваших демонов с соответствующими ограничениями:-)
Хорошо - скрипт в настоящее время находится в /root. Если предположить, что ваш целевой пользователь не является пользователем root, то, конечно, вы получите ошибку прав доступа, когда этот пользователь попытается прочитать / выполнить скрипт.
Что вы противопоставляете переносу скрипта в другой каталог? Если вы сделаете это, а затем правильно установите режим / владельца файла, у вас не должно возникнуть проблем.