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