Очень часто надо запустить тот или иной процесс от пользователя от которого работает веб-сервер. Это не всегда получается сделать быстро, т.к. политики безопасности ограничивают эту учетную запись. В этой заметке, соберу причины и команды которые помогут нам сделать то, что мы хотим..
This account is currently not available
Наиболее типичной проблемой, является невозможность залогиниться под нужным пользователем, выглядит это так
$ su - www-data This account is currently not available.
это говорит о том, что шелл для текущего пользователя установлен в заглушку. Проверить можно так
$ cat /etc/passwd www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
тут /usr/sbin/nologin и является такой заглушкой. Если вы отдаете себе отчет, то можно просто поменять заглушку на нормальный шелл и начнет все работать
$ chsh -s /bin/bash www-data $ sudo - www-data $ whoami www-data
разумеется, потом всегда можно вернуть назад
$ chsh -s /usr/sbin/nologin www-data
Список доступных шелов можно посмотреть так
$ chsh --list-shells # или так $ cat /etc/shells
Логин без смены шелла
Если же вам нужно временно залогиниться от этого пользователя, но менять шелл каждый раз не удобно, можно воспользоваться такой командой, указав шелл в командной строке
$ su -l www-data -s /bin/bash $ whoami www-data
Запуск команды от пользователя
Если же нужно просто запустить команду от пользователя, сделать это можно так
$ su www-data -s /bin/bash -c 'whoami' www-data
или с помощью sudo
$ sudo -u www-data whoami www-data
Ключевое отличие su от sudo в том, что при использовании su вам нужно поделиться root паролем с другими пользователями чтобы они могли выполнять команды от имени других пользователей. В случае с sudo, админ настраивает кто и что может запускать используя свой, пользовательский пароль. Это все работает, немного сложнее, но основная суть в этом.
Комментарии (1)
Благодаря вашей статье удалось получить root на Avaya Utility Services 7.1 (OS RedHart 7). Пароль на root был получен при изменении режима загрузки при старте машины, а "Логин без смены шелла" дал возможность убрать заглушку.