Вопрос или проблема
Я хочу, чтобы пользователь “temp1” имел право использовать sudo chown только в конкретной папке (/var/www/temp1/html). Если я настраиваю файл sudoers как “temp1 ALL=(root) /bin/chown”, temp1 может использовать chown везде, но если я изменяю на “temp1 ALL=(root) /bin/chown /var/www/temp1/html”, появляется сообщение: “Извините, пользователь temp1 не имеет права выполнять ‘/usr/bin/chown www-data:www-data /var/www/temp1/html/index.html’ от имени root на rapi.”
Я хочу, чтобы пользователь “temp1” имел право использовать sudo chown только в конкретной папке (/var/www/temp1/html). temp1 должен иметь возможность использовать “sudo chown” любым способом, но только в /var/www/temp1/html/.
Ответ или решение
Для настройки прав пользователя "temp1" таким образом, чтобы он мог использовать команду chown
только в определённой директории (/var/www/temp1/html), вам нужно правильно настроить файл sudoers. Вот пошаговая инструкция для достижения этой цели.
Шаг 1: Редактирование файла sudoers
- Откройте терминал.
- Запустите редактор для редактирования файла sudoers с помощью команды:
sudo visudo
Это откроет файл sudoers в безопасном редакторе.
Шаг 2: Настройка прав
- Добавьте следующую строку в файл sudoers:
temp1 ALL=(root) /bin/chown, /bin/chown *
Это разрешит пользователю
temp1
использоватьchown
как отroot
на любом файле в директории/var/www/temp1/html
, но только если путь будет указан правильно.
Шаг 3: Ограничение команд
- Для того чтобы ограничить применение команды
chown
, вы можете использоватьNOPASSWD
для определённых путей, а также добавить исключение. Например:temp1 ALL=(root) NOPASSWD: /bin/chown www-data:www-data /var/www/temp1/html/*
Шаг 4: Проверка прав
- Теперь проверьте права, выполнив команду:
sudo chown www-data:www-data /var/www/temp1/html/yourfile.html
Если всё настроено правильно, команда должна выполниться без ошибок.
Советы по безопасности
- Убедитесь, что директория /var/www/temp1/html принадлежит пользователю temp1 или имеет соответствующие права доступа, чтобы избежать возможных конфликтов.
- Избегайте использования глобальных путей, которые могут привести к потенциальным уязвимостям.
Заключение
Следуя этим шагам, вы сможете настроить так, чтобы пользователь temp1
мог использовать команду chown
только в заданной директории без возможности изменения файлов в других местах. Это обеспечит необходимую безопасность и контроль доступа.