Я недавно настроил свой сервер, чтобы мои виртуальные пользователи suPHP не могли войти в систему с помощью Эта статья
Моя проблема сейчас в том, что раньше, когда я запускал rake
для моего приложения Ruby on Rails, запущенного на сервере, я использовал su
идти в www-data
и выполните команду оттуда - очевидно, я больше не могу этого делать из-за nologin.
Итак, как пользователь root, как я могу выполнять команды от имени другого пользователя, даже если они не логин?
Один из способов - запустить оболочку для этого пользователя (явно указав оболочку):
sudo -u www-data bash
Это запустит оболочку (bash) от имени указанного пользователя. Затем вы можете выполнить свои команды и выйти из системы (чтобы вернуться в предыдущую оболочку)
В качестве root вы можете использовать su -s /bin/sh $user
- в -s
опция отменяет настроенную оболочку для пользователя.