Назад | Перейти на главную страницу

Запустить команду от имени «системного» пользователя Linux (shell = / bin / false)

Я создал "системного" пользователя в Ubuntu 11.04 (adduser --system) для выполнения определенных заданий cron, но иногда я хочу протестировать ситуацию, вручную выполняя команды от имени этого пользователя. Как это сделать проще всего?

su не работает, потому что у пользователя /bin/false в качестве оболочки (что подходит для cron). Я вручную меняю оболочку на /bin/bash провести тестирование, а затем снова изменить его, но мне интересно, есть ли более простой способ?

я использую su - targetuser -s /bin/bash из корневой оболочки.

Для прямого выполнения команд используйте -c:

su - targetuser -s /bin/bash -c "/bin/echo hello world" 

Используйте sudo. Это будет работать, даже если у пользователя нет настоящей оболочки.