2

Вот основа моей проблемы: я хотел бы добавить права sudo для пользователя, но не использовать его как root по соображениям безопасности.

У меня есть PHP-скрипт, необходимый для запуска команды (drush) через exec() . Тем не менее, PHP запускается как пользователь, и я хочу, чтобы команда выполнялась как другой пользователь. Это необходимо, поскольку в противном случае существует проблема с разрешением на запись в каталог другого пользователя.

Сама команда drush работает, я сделал ее доступной для всех пользователей.

Текущий пользователь (A) является реселлером cPanel, который создал другую учетную запись / пользователя (B).

Я могу запустить exec('ls -la') как пользователь A, и он будет возвращать содержимое CWD, пока мы находимся в домашнем каталоге пользователя A. Сбой того же кода с добавленным sudo как пользователя A нет в списке sudoers.

Последняя команда загружает файлы в каталог пользователя B и выглядит так:'<pwd> | sudo -S -u <usrB> drush dl drupal <irrelevant options>'

-S должен автоматически выполнять команду как пользователь B, используя свой пароль.

Выполнение точно такой же команды, как root, работает отлично.

Я хотел знать, есть ли способ добавить пользователя A в sudoers без доступа от имени root, и будет ли это безопасно для предотвращения потенциальных недостатков безопасности. Если это невозможно, есть ли альтернативы? Я видел, что можно исключить каталоги из использования sudoers ! , но потом я понял, что это будет довольно некорректно.

Обратите внимание, что я разработчик, поэтому, хотя я знаю некоторые основы, я не профессионал. Сервер работает под управлением CentOS 6.5, WHM/cPanel, и у меня есть root-доступ при необходимости. Идея состоит в том, что однократная настройка предотвратит настройку при создании нового пользователя.

1 ответ1

1

В CentOS 6.5 есть примеры в файле sudoers по умолчанию. Предполагается, что пользователь - "user_a", а команда, которую вы хотите выполнить, - ls, но только на локальном хосте.

user_a localhost=/bin/ls

если вы хотите, чтобы несколько команд разделяли команды запятыми

для получения дополнительной информации у man sudoers есть примеры. http://www.sudo.ws/sudoers.man.html

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .