Errore "Questo account non è attualmente disponibile" durante il tentativo di ssh


46

Si verifica un errore quando provo a stabilire una connessione SSH:

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

Risposte:


59

Stai ricevendo l' This account is currently not available.errore perché la shell per l'utente www-dataè impostata su /usr/sbin/nologin, ed è impostata per un'ottima ragione. Non dovresti accedere come www-data, è un utente / gruppo speciale utilizzato dal server web, non destinato all'uso regolare della shell.

EDIT : è una cattiva idea dare sudodiritti www-data. Se Apache fosse progettato per essere eseguito con i permessi di root, non avrebbe il proprio gruppo. In questo modo, stai creando enormi buchi di sicurezza. Sei stato avvertito.


5
Non è molto costruttivo. Quali informazioni pensi che dovrei aggiungere per migliorare questa risposta?
kraxor,

4
@kraxor è corretto, ma se è necessario è possibile accedere come root e modificare / usr / sbin / nologin in / etc / passwd in / bin / bash e garantirà l'accesso alla shell dell'utente. Lo faccio quando eseguo solo uno snap binario come mio server web. www-data è generalmente riservato a nginx / apache su ubuntu, quindi lo stato no login.
engineerDave,

4
@RyanNerd E 'una tua scelta non "dare a un topo una cazzata di sicurezza". L'esecuzione di tutto come root non è consigliata nemmeno all'interno di Docker. Ovviamente potresti configurare Apache per l'esecuzione come root, o aggiungere una shell di login www-data, ma è come aprire una bottiglia di vino rompendo la bottiglia perché sei troppo pigro e incurante per usare una vite di sughero.
kraxor,

@kraxo il tuo link alla finestra mobile non è aggiornato. TUTTO è ancora di proprietà di root in Docker ed è ancora un problema .
RyanNerd,

Ho un caso simile. Voglio eseguire LibreOffice in modalità senza testa in modo che possa essere chiamato da uno script PHP per convertire documenti e che possa scrivere file su disco come dati www poiché questi file devono successivamente essere eliminati da dati www (parte di uno script PHP) per ripulirli. Questo (lanciando un LibreOffice senza testa come dati www dell'utente) funzionava nelle versioni precedenti di Ubuntu e capisco che si tratta di un miglioramento della sicurezza rispetto a queste versioni precedenti.
ywarnier

57

Mentre sono d'accordo con gli altri sul fatto che consentire l'accesso tramite SSH tramite l'utente www-data è generalmente una cattiva idea, una volta effettuato l'accesso con un utente normale può essere utile eseguire più comandi contemporaneamente al set di autorizzazioni del www- utente dei dati. In tal caso, si può eseguire

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

e sarai in grado di accedere ai tuoi file come utente www-data.


3
Molto utile per le autorizzazioni di debug per un utente demone / servizio
jmng

mi hai appena salvato la giornata grazie! Ho avuto problemi ad avviare il servizio perl-fcgi perché lo script di avvio non utilizzava-s /bin/bash
Couitchy

-1

La prima domanda che dovrei porre è: cosa stai cercando di fare facendo questo?

kraxor è corretto al 100% e non dovresti mai essere in grado di accedere al tuo server usando l'utente Apache / Nginx. In questo modo si invita ogni hacker con mezza cellula cerebrale nel proprio server.

Se è necessario eseguire uno script o un programma come quell'utente, è possibile provare sudo -u www-data yourscripto è possibile eseguire temporaneamente chownil file su un utente con privilegi di accesso. È solo una cattiva idea consentire a questo account questo tipo di accesso.


6
Dovresti sapere che su -non funziona per gli account con disabilita l'accesso.
sorin,

Quale account è disabilitato? Non dice nulla sull'account disabilitato
TheStarvingGeek

1
Bene avere nologin in passwd significa disabilitare l'accesso :)
sorin

1
È un account di servizio non un account disabilitato, è possibile eseguire i comandi in esso
TheStarvingGeek

Il mio server non sembra conoscere questa distinzione @TheStarvingGeek
LovesTha
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.