Під час спроби встановити з'єднання SSH виникає помилка:
$ ssh -p 22 www-data@x.x.x.x
This account is currently not available
Під час спроби встановити з'єднання SSH виникає помилка:
$ ssh -p 22 www-data@x.x.x.x
This account is currently not available
Відповіді:
Ви отримуєте This account is currently not available.
помилку, оскільки оболонку для користувача www-data
встановлено /usr/sbin/nologin
, і вона встановлена з дуже вагомої причини. Ви не повинні входити в систему, оскільки www-data
це спеціальна група / група, що використовується веб-сервером, і не призначена для регулярного використання оболонки.
EDIT : Це особливо погана ідея , щоб дати sudo
права www-data
. Якби Apache мав працювати з кореневими дозволами, він би не мав власної групи. Роблячи це, ви створюєте величезні отвори в безпеці. Вас попередили
root
, або додати в нього оболонку для входу www-data
, але це як відкрити пляшку вина, розбивши пляшку, тому що ви занадто ледачий і недбалий, щоб використовувати пробку-гвинт.
Хоча я погоджуюся з іншими, що дозволяти вхід через SSH через користувача www-data, як правило, погана ідея, після входу в систему з звичайним користувачем може бути корисно запускати кілька команд одночасно з набором дозволів www- користувач даних. У цьому випадку можна бігти
sudo su -l www-data -s /bin/bash
і ви зможете отримати доступ до своїх файлів як користувач www-data.
-s /bin/bash
Перше питання, яке я маю би задати, це те, що ви намагаєтеся досягти, роблячи це?
kraxor на 100% вірно, ви ніколи не зможете ssh на свій сервер за допомогою користувача Apache / Nginx. Це запрошує кожного хакера з половиною клітини мозку на ваш сервер.
Якщо вам потрібно запустити скрипт або якусь програму в якості цього користувача, ви можете спробувати, sudo -u www-data yourscript
або ви можете тимчасово надсилати chown
файл користувачеві з правами входу. Це просто різна погана ідея, щоб дозволити цьому обліковому запису такий доступ.
su -
не працює для облікових записів із відключеним входом.