Не работает chown для конкретной папки в sudoers? [закрыто]

Вопрос или проблема

Я хочу, чтобы пользователь “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

  1. Откройте терминал.
  2. Запустите редактор для редактирования файла sudoers с помощью команды:
    sudo visudo

    Это откроет файл sudoers в безопасном редакторе.

Шаг 2: Настройка прав

  1. Добавьте следующую строку в файл sudoers:
    temp1 ALL=(root) /bin/chown, /bin/chown *

    Это разрешит пользователю temp1 использовать chown как от root на любом файле в директории /var/www/temp1/html, но только если путь будет указан правильно.

Шаг 3: Ограничение команд

  1. Для того чтобы ограничить применение команды chown, вы можете использовать NOPASSWD для определённых путей, а также добавить исключение. Например:
    temp1 ALL=(root) NOPASSWD: /bin/chown www-data:www-data /var/www/temp1/html/*

Шаг 4: Проверка прав

  1. Теперь проверьте права, выполнив команду:
    sudo chown www-data:www-data /var/www/temp1/html/yourfile.html

    Если всё настроено правильно, команда должна выполниться без ошибок.

Советы по безопасности

  • Убедитесь, что директория /var/www/temp1/html принадлежит пользователю temp1 или имеет соответствующие права доступа, чтобы избежать возможных конфликтов.
  • Избегайте использования глобальных путей, которые могут привести к потенциальным уязвимостям.

Заключение

Следуя этим шагам, вы сможете настроить так, чтобы пользователь temp1 мог использовать команду chown только в заданной директории без возможности изменения файлов в других местах. Это обеспечит необходимую безопасность и контроль доступа.

Оцените материал
Добавить комментарий

Капча загружается...