Linux: su, sudo и This account is currently not available, на примере www-data
Очень часто надо запустить тот или иной процесс от пользователя от которого работает веб-сервер. Это не всегда получается сделать быстро, т.к. политики безопасности ограничивают эту учетную запись. В этой заметке, соберу причины и команды которые помогут нам сделать то, что мы хотим..
This account is currently not available
Наиболее типичной проблемой, является невозможность залогиниться под нужным пользователем, выглядит это так
1 2 3 4 |
$ su - www-data This account is currently not available. |
это говорит о том, что шелл для текущего пользователя установлен в заглушку. Проверить можно так
1 2 3 4 |
$ cat /etc/passwd www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin |
тут /usr/sbin/nologin и является такой заглушкой. Если вы отдаете себе отчет, то можно просто поменять заглушку на нормальный шелл и начнет все работать
1 2 3 4 5 6 7 |
$ chsh -s /bin/bash www-data $ sudo - www-data $ whoami www-data |
разумеется, потом всегда можно вернуть назад
1 2 3 |
$ chsh -s /usr/sbin/nologin www-data |
Список доступных шелов можно посмотреть так
1 2 3 4 5 |
$ chsh --list-shells # или так $ cat /etc/shells |
Логин без смены шелла
Если же вам нужно временно залогиниться от этого пользователя, но менять шелл каждый раз не удобно, можно воспользоваться такой командой, указав шелл в командной строке
1 2 3 4 5 |
$ su -l www-data -s /bin/bash $ whoami www-data |
Запуск команды от пользователя
Если же нужно просто запустить команду от пользователя, сделать это можно так
1 2 3 4 |
$ su www-data -s /bin/bash -c 'whoami' www-data |
или с помощью sudo
1 2 3 4 |
$ sudo -u www-data whoami www-data |
Ключевое отличие su от sudo в том, что при использовании su вам нужно поделиться root паролем с другими пользователями чтобы они могли выполнять команды от имени других пользователей. В случае с sudo, админ настраивает кто и что может запускать используя свой, пользовательский пароль. Это все работает, немного сложнее, но основная суть в этом.
Author: | Tags: /
| Rating:
1 comment.
Write a comment