Сценарии Bash, su к www-данным для единственной команды

Попытайтесь использовать psservice.exe из http://technet.microsoft.com/en-us/sysinternals/bb897542.aspx, Это имеет параметры командной строки-U и-P для использования другого имени пользователя и пароля. Это упоминает: Используйте имя пользователя и пароль для вхождения в удаленный компьютер в случаях, где учетная запись не имеет полномочий выполнить действие, Вы указываете.

26
задан 10 May 2012 в 21:03
4 ответа

Просто используйте su - www-data -c 'svnadmin create / svn / repository' в вашем скрипте, запускаемом пользователем root. Чтобы только эта команда выполнялась пользователем www-data.


Обновление для будущих зрителей :

Если вы получаете сообщение «Эта учетная запись в настоящее время недоступна» , рассмотрите возможность использования :

su - www-data -s / bin / bash -c 'svnadmin create / svn / repository'

(ценное упоминание @Petr о флаге -s для размещения www-data политика запрета входа пользователя)

24
ответ дан 28 November 2019 в 20:06

Используйте su :

   su [options] [username]

   The options which apply to the su command are:

   -c, --command COMMAND
       Specify a command that will be invoked by the shell using its -c.
3
ответ дан 28 November 2019 в 20:06

С su, вероятно, запрашивается пароль, а www-data не имеет пароля. Я рекомендую команду sudo :

 sudo -u www-data command

Условием является то, что ваш пользователь должен быть root или настроен в файле sudoers

63
ответ дан 28 November 2019 в 20:06

2 возможных подхода :


1) команда sudo :

В большинстве случаев у вас будет доступ к sudo команда, поэтому решение простое:

sudo -u target_user target_command


2) su команда (если sudo не установлено. Например, образы alpine-linux ):

su - target_user -c 'target_command'

В случае получения ошибки «Эта учетная запись в настоящее время недоступна» означает, что у пользователя действует политика отсутствия входа в систему (доступа к оболочке). Если это так, рассмотрите возможность использования:

su - target_user -s / bin / bash -c 'target_command'

(на основе ценного комментария @Petr о флаге -s для размещения www-data политика запрета входа пользователя)

2
ответ дан 28 November 2019 в 20:06

Теги

Похожие вопросы