Come aggiungere l'utente senza il comando useradd?


11

È possibile aggiungere un utente in Ubuntu Linux senza il comando useradd Penso che sia possibile aggiungendo le voci /etc/passwd and /etc/shadowma non conosco i passaggi esatti per farlo e l'utente dovrebbe ottenere anche la sua directory home e la shell bash.

Risposte:


19

Non è raccomandato per modificare manualmente /etc/passwd, /etc/shadow, /etc/groupo /etc/gshadowperché il rischio di rottura. Se stai cercando un comando alternativo che sia più facile da usare, dai un'occhiata adduser(8). Tutto quello che devi correre è:

sudo adduser user

La shell sarà /bin/bashdi default per /etc/adduser.conf.

Di solito, se si desidera aggiungere un utente con la shell bash, quindi creare una home directory /home/usere un gruppo di utenti, si utilizzerà:

sudo useradd --create-home --shell /bin/bash --user-group user

Questo comando fondamentalmente determina un ID utente $UIDe un ID gruppo gratuiti $GIDe quindi esegue i comandi seguenti:

echo "user:x:$UID:$GID::/home/user:/bin/bash" | sudo tee -a /etc/passwd
echo "user:x:$GID:" | sudo tee -a /etc/group
echo "user:!:$DATE_OF_LAST_PASS_CHANGE:0:99999:7:::" | sudo tee -a /etc/shadow
echo "user:!::" | sudo tee -a /etc/gshadow

..e quindi possibilmente facendo un backup dei file.

Le prossime pagine di manuale sui formati di file potrebbero essere di tuo interesse:


ehi, Lekensteyn, ti sei perso questa prima parte del loro post? "È possibile aggiungere un utente in Ubuntu Linux senza il comando useradd ..." Vogliono una soluzione senza useradd: /
Thomas Ward

1
@TheEvilPhoenix: pensavo stesse chiedendo un'alternativa per adduser. Ora ho incluso addusercome risposta. È davvero "senza useradd" :)
Lekensteyn,

Nessun problema, volevo sottolineare che è tutto. e perdonatemi di essere semiconfrontazionale ... lunghe, brutte giornate di lavoro con guasti al server in cascata fanno questo a voi ...
Thomas Ward

@Tutti voglio creare un utente senza useradd aggiungendo possibili voci in / etc / passwd e / etc / shadow
mr_eclair

2
@ m59 >>prova ad aprire un file come l'utente corrente (non root) che fallirà con un errore di autorizzazione negata. L'utilizzo sudo teeaggira quello. In alternativa, è possibile racchiudere il comando in a sudo sh -c '...'per evitare quel problema.
Lekensteyn,

1

Anche se di solito non necessaria o raccomandata, la risposta alla domanda di come aggiungere utenti senza comando useradd è quello di utilizzaresudo vipw

Questo avvierà il tuo editor definito dal sistema mentre blocca il file passwd. Inserisci una riga per un nuovo utente. (In vi, shift-G per arrivare all'ultima riga quindi yy p per duplicarlo.) Modifica il nome utente e crea un numero ID utente univoco.

Dopo aver salvato il file ed essere uscito dall'editor, ti verrà richiesto di modificare / etc / shadow. Utilizzare la stessa tecnica per creare una nuova riga e utilizzare "*" per l'hash della password. Il nuovo account è bloccato. Utilizzare passwd usernameper sbloccarlo e impostare una password.

È anche necessario creare una home directory, copiare i file dalla directory skeleton, impostare permessi di gruppo, ecc. Ma vipwè la tua risorsa principale. Vedi anche vigr.

Fonte: http://itguykelly.wordpress.com/2011/04/19/manually-add-new-user-to-red-hatfedoracentos/ (sì, questi comandi funzionano su vari tipi di * nix)


0

Quando l'utente viene creato nel sistema ha effetto sui file come / etc / passato, / etc / group, / etc / shadow, quindi passa attraverso questi file ed effettua l'inserimento manuale. E infine dal file / etc / skel aggiungi lo scheletro per l'utente nella home directory dell'utente che devi creare nella home directory.

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.