«Этот аккаунт в настоящее время недоступен» ошибка при попытке ssh


46

При попытке установить соединение SSH возникает ошибка:

$ ssh -p 22 www-data@x.x.x.x 
This account is currently not available

Ответы:


59

Вы получаете сообщение об This account is currently not available.ошибке, потому что для пользователя www-dataустановлена оболочка /usr/sbin/nologin, и она установлена ​​по очень веской причине. Вы не должны входить в систему как www-data, это специальный пользователь / группа, используемая веб-сервером, не предназначенная для обычного использования оболочки.

РЕДАКТИРОВАТЬ : Это особенно плохая идея, чтобы дать sudoправа www-data. Если бы Apache предназначался для работы с правами root, у него не было бы своей собственной группы. Делая это, вы создаете огромные дыры в безопасности. Вы были предупреждены.


5
Это не очень конструктивно. Как вы думаете, какую информацию я должен добавить, чтобы этот ответ был лучше?
kraxor

4
@kraxor верен, но если вам нужно, вы можете войти в систему как root и изменить / usr / sbin / nologin в / etc / passwd на / bin / bash, и он предоставит этому пользователю доступ к оболочке. Я делаю это, когда просто запускаю бинарный файл в качестве моего веб-сервера. www-данные обычно зарезервированы для nginx / apache в Ubuntu, следовательно, нет статуса входа.
engineerDave

4
@RyanNerd Это ваш выбор не "давать крысам $$ по поводу дерьма безопасности". Запускать все с правами root не рекомендуется даже внутри Docker. Конечно, вы можете настроить Apache на запуск rootили добавить оболочку для входа www-data, но это все равно, что открыть бутылку вина, разбив бутылку, потому что вы слишком ленивы и неосторожны, чтобы использовать штопор.
kraxor


У меня похожий случай. Я хочу запустить LibreOffice в автономном режиме таким образом, чтобы он мог вызываться PHP-скриптом для преобразования документов и чтобы он мог записывать файлы на диск как www-данные, потому что эти файлы впоследствии необходимо удалить с помощью www-data (часть сценарий PHP), чтобы очистить их. Это (запуск безголового LibreOffice в качестве пользовательских www-данных) использовалось в предыдущих версиях Ubuntu, и я понимаю, что это улучшение безопасности по сравнению с этими более ранними версиями.
ywarnier

58

Хотя я согласен с другими, что разрешить вход через SSH через пользователя www-data - это, как правило, плохая идея, но после того, как вы вошли в систему с обычным пользователем, может быть полезно запускать несколько команд одновременно с набором разрешений www- пользователь данных. В этом случае можно запустить

sudo su -l www-data -s /bin/bash

и вы сможете получить доступ к своим файлам как пользователь www-данных.


3
Очень полезно для отладки разрешений для пользователя демона / службы
jmng

Вы только что спасли мой день, спасибо! У меня были проблемы с запуском службы perl-fcgi, потому что сценарий запуска не использовался-s /bin/bash
Couitchy

-1

Первый вопрос, который мне нужно задать, это то, что вы пытаетесь достичь, делая это?

kraxor верен на 100%, вы никогда не сможете использовать ssh на своем сервере, используя своего пользователя Apache / Nginx. Это приглашает каждого хакера с половиной мозговых клеток на ваш сервер.

Если вам нужно запустить скрипт или какую-то программу от имени этого пользователя, вы можете попробовать sudo -u www-data yourscriptили временно можете отправить chownфайл пользователю с правами входа в систему. Это просто плохая идея разрешить этой учетной записи такой доступ.


6
Вы должны знать, что su -это не работает для учетных записей с отключенным входом в систему.
сорин

Какой аккаунт отключен? В нем ничего не сказано об отключении учетной записи
TheStarvingGeek

1
Хорошо иметь nologin в passwd означает отключить вход в систему :)
Сорин

1
Это служебная учетная запись, а не отключенная учетная запись, вы можете запускать команды под ней
TheStarvingGeek

Мой сервер, кажется, не знает об этом различии @TheStarvingGeek
LovesTha
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.