Podczas próby nawiązania połączenia SSH występuje błąd:
$ ssh -p 22 [email protected]
This account is currently not available
Podczas próby nawiązania połączenia SSH występuje błąd:
$ ssh -p 22 [email protected]
This account is currently not available
Występuje This account is currently not available.
błąd, ponieważ powłoka dla użytkownika www-data
jest ustawiona na /usr/sbin/nologin
, i jest ustawiona z bardzo dobrego powodu. Nie powinieneś się logować www-data
, ponieważ jest to specjalny użytkownik / grupa używana przez serwer WWW, nieprzeznaczony do regularnego używania powłoki.
EDIT : Jest to szczególnie zły pomysł , aby dać sudo
prawa www-data
. Jeśli Apache miał działać z uprawnieniami administratora, nie miałby własnej grupy. Robiąc to, tworzysz ogromne dziury w zabezpieczeniach. Zostałeś ostrzeżony.
root
lub dodać powłokę logowaniawww-data
, ale to jak otwieranie butelki wina przez rozbicie butelki, ponieważ jesteś zbyt leniwy i nieostrożny, aby użyć śruby korkowej.Chociaż zgadzam się z innymi, że zezwolenie na logowanie przez SSH przez użytkownika www-data jest ogólnie złym pomysłem, po zalogowaniu się z normalnym użytkownikiem może być przydatne uruchamianie wielu poleceń jednocześnie z zestawem uprawnień www- użytkownik danych. W takim przypadku można uruchomić
i będziesz mieć dostęp do swoich plików jako użytkownik danych www.
źródło
-s /bin/bash
Pierwsze pytanie, które musiałbym zadać, brzmi: co próbujesz osiągnąć, robiąc to?
kraxor jest w 100% poprawny, nigdy nie powinieneś mieć możliwości ssh na swoim serwerze za pomocą użytkownika Apache / Nginx. Takie postępowanie zaprasza każdego hakera z połową komórki mózgowej do twojego serwera.
Jeśli potrzebujesz uruchomić skrypt lub jakiś program jako ten użytkownik, możesz spróbować
sudo -u www-data yourscript
lub możesz tymczasowo zapisaćchown
plik dla użytkownika z uprawnieniami do logowania. To po prostu zły pomysł, aby zezwolić na dostęp do tego rodzaju konta.źródło
su -
to nie działa na kontach z wyłączonym logowaniem.