Назад | Перейти на главную страницу

Linux - запускать демон от имени «никто»

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

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

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

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

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

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

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

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

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