Intereting Posts
Как применить цветовые эмодзи в рендеринге веб-страницы GNOME? Напишите программу, которая читает из файла и печатает строку с номером строки Установка Expect и TCL Проблема с клавиатурой и мышью в gdm3 и lightdm Как я могу запускать команду для всех клиентов за раз с сервера, все из которых подключены к серверу NIS и NFS? Системный пользователь не может получить доступ к группе пользователей Не удается выполнить ssh на удаленную машину, используя сценарий оболочки в Crontab Не удалось установить Internet Explorer! Почему find -exec выполняет только один результат? Будет ли rsync восстанавливать исходные метаданные файлов? Задайте имя хоста без root и без CAP_SYS_ADMIN Переименовать определенные файлы с частью имени родительского каталога Как проверить, что куст DB уже существует? Простой HTTP-сервер командной строки Как настроить собственный EDID вручную?

Могу ли я ограничить sudoer nopasswd каталогом?

Может быть, я должен перефразировать – какой самый безопасный способ удовлетворить мои потребности?

Детали

Я использую WinSCP для изменения моего Apache document_root. Каталог / var / www / html имеет владельца и группу root. Используя WinSCP, я должен войти в систему как пользователь root, чтобы изменить эти файлы, поскольку sudo -s требует пароль. Я не хочу входить в систему с корнем удаленно, поэтому я хотел бы добавить sudoer с требованием пароля для / var / www / html. Это возможно?

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

Правильным инструментом для задания являются разрешения на доступ к файлам с списками управления доступом, если для обычных пользовательских / групповых / других разрешений Unix недостаточно.

Создайте группу, назовем ее webroot и webroot для нее каталог /var/www/html и файлы там.

 sudo addgroup webroot chgrp -R /var/www/html chmod -R g+ws /var/www/html 

Биты s в каталогах заставляют файлы наследовать владение группой из каталога. Вам также необходимо убедиться, что файлы там доступны для записи в группах.

Если вы хотите иметь доступ к /var/www/html с учетной записью, которую вы используете для загрузки файлов, добавьте эту учетную запись в группу webroot :

 sudo adduser iusemagentonow webroot 

Если у вас возникли проблемы с сохранением прав группы и разрешения на запись группы для вновь созданных файлов, используйте ACL вместо chgrp .

 sudo setfacl -d -R group:webroot:rwX /var/www/html sudo setfacl -R group:webroot:rwX /var/www/html 

Следите за тем, чтобы файлы в /var/www/html не могли быть доступны для записи пользователем и группой, на которой запущен Apache или любой другой веб-сервер, который вы используете. Пользователю, на котором запущен веб-сервер, не разрешается писать какие-либо файлы, кроме файлов данных, которые должны обновляться веб-приложением. В частности, не разрешайте веб-серверу писать любой исполняемый файл, так как это облегчает работу.