Creazione di un utente senza password


66

Sto cercando di creare un utente senza password in questo modo:

sudo adduser \
   --system \
   --shell /bin/bash \
   --gecos ‘User for managing of git version control’ \
   --group \
   --disabled-password \
   --home /home/git \
   git

È stato creato benissimo. Ma quando provo ad accedere con l'utente git ricevo la password digitando:

su git
Password:...

Quando lo lascio vuoto ricevo un errore:

su: Authentication failed

Cosa c'è che non va?


1
Nulla è sbagliato, l'autenticazione non è riuscita come previsto. Non verrà visualizzato il messaggio di errore "Non c'è password, non è possibile accedere".
scai,

Ma devo creare la cartella .ssh sotto l'utente git, come devo farlo?
Erik,

1
O crearlo come root e impostare le autorizzazioni corrette, oppure eseguirlo su gitcome root dove non è necessario fornire una password.
scai,

4
Usando chmode chown.
scai,

1
Fuori tema, ma è "un utente" non "un utente". writersdigest.com/online-editor/…
David Baucum,

Risposte:


31

Hai creato un utente con una "password disabilitata", il che significa che non esiste una password che ti consentirà di accedere come utilizzato. Ciò è diverso dalla creazione di un utente a cui chiunque può accedere senza fornire una password, il che si ottiene specificando una password vuota ed è molto raramente utile.

Per eseguire comandi come tali utenti "di sistema" che non accedono normalmente, è necessario saltare tramite l'account di root:

su -c 'su git -c "git init"'

o

sudo -u git git init

Se vuoi che determinati utenti siano in grado di eseguire comandi come gitutente senza lasciarli eseguire comandi come root, imposta sudo (esegui visudocome root e aggiungi una riga come %gitters ALL = (git) ALL).


@JulienRicard Er, si, e? Esistono diversi modi in cui è possibile comprendere "utente senza password" e rispondo per il caso d'uso indicato nella domanda. Una domanda, ad esempio, sulla creazione di un utente guest sarebbe una domanda diversa.
Gilles 'SO- smetti di essere malvagio' il

41

L' --disabled-passwordopzione non imposterà una password, il che significa che nessuna password è legale, ma l'accesso è ancora possibile (ad esempio con chiavi SSH RSA).

Per creare un utente senza password, utilizzare passwd -d $usernamedopo aver creato l'utente per rendere vuota la password. Nota che non tutti i sistemi consentono agli utenti con password vuota di accedere.


3
Questo non sembra funzionare nella versione 16 di Ubuntu
Daniel Tate,


9

Se vuoi accedere al sistema sotto l'utente git dovresti usare sudo:

sudo -s -u git

o

sudo su - git

4

Crea un utente con password vuota

sudo useradd test-user-0
echo test-user-0:U6aMy0wojraho | sudo chpasswd -e
su test-user-0

Purtroppo la richiesta della password è ancora visibile.

Ma se premi Invio senza digitare nulla e accederà come utente test-user-0.

I -eflag indicano chpasswdche la password è già crittografata ed U6aMy0wojrahoè l'hash della stringa vuota.

Testato su Ubuntu 18.04.

Terminale autologin con getty -a

Almeno sul terminale, non è necessario creare un utente senza password per consentire a qualcuno di non digitare le proprie password ogni volta.

Sono stato in grado di farlo su BusyBox modificando inittab: Come accedere automaticamente senza digitare il nome utente o la password di root in Buildroot BusyBox init?

Quindi credo che non dovrebbe essere molto difficile adattare quella tecnica modificando gli script di sistema di init systemd di Ubuntu 18.04 per impostare un getty -a <user>terminale come menzionato in quella risposta, anche se non ho provato a farlo da solo.


2

Penso che questo sia quello che vuoi:

adduser --disabled-password --shell /bin/bash --gecos "User" $username

Sarai in grado di farlo

su $username

per eseguire comandi come quell'utente, in / bin / bash o qualunque shell tu specifichi. --gecos "Utente" ha appena inserito "Utente" nel campo dei commenti in modo che non ti vengano richieste tali informazioni. Puoi mettere quello che vuoi in quel campo.

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.