aggiungere un nuovo utente con accesso root in Linux


31

Voglio aggiungere un nuovo utente e avere / concedere a quel nuovo utente di avere tutto l'accesso root, come posso farlo?

L'ho fatto sudo adduser --system testuserma questo non funziona come mi aspettavo.

Grazie per l'aiuto.

Risposte:


62

In realtà ci sono tre modi per farlo: il modo giusto, il modo sbagliato e il modo brutto.

Innanzitutto, crea un normale account utente.

adduser username

Quindi selezionare una delle seguenti opzioni:


Il modo giusto

Crea una sudovoce per il wheelgruppo in /etc/sudoersquesto modo:

## Allows people in group wheel to run all commands
%wheel  ALL=(ALL)       ALL

O per le versioni "moderne":

## Allows people in group sudoers to run all commands
%sudoers ALL=(ALL)       ALL

Quindi aggiungere l'utente al wheelgruppo. L'aggiunta e la rimozione di utenti con privilegi amministrativi ora diventa una funzione di ricordare di aggiungerli alla ruota, invece di creare una voce in sudo. La cosa grandiosa dell'uso di wheel è che puoi estendere questo meccanismo ad altri schemi di autenticazione che supportano gruppi, ad esempio winbind / Active Directory, e ottenere i benefici nel processo. A tale scopo, mappare la ruota su un gruppo nel proprio schema di autenticazione con privilegi di amministratore.

Si noti che alcune distribuzioni utilizzano account amministrativi diversi. Wheel è un approccio "tradizionale" a questo, ma si possono incontrare admin, adme altri account di gruppo che servono allo stesso scopo.

Modifica di follow-up:

Devo dare un punto a Bart Silverstrim per aver sottolineato che Ubuntu utilizza admincome gruppo per questo scopo. Ci è arrivato prima, anche se al momento non avevo notato un tag Ubuntu. Ancora una volta, tutto dipende da quale distribuzione stai usando.


Il modo brutto

Creare una voce sudo per l'account utente in questione e fornire quindi l'accesso completo. Ancora una volta, si crea la voce in /etc/sudoersquesto modo:

## Allows just user "username" to run all commands as root
username    ALL=(ALL)    ALL

AGGIUNTO: ## Per la versione di Ubuntu: nome utente ALL = (ALL: ALL)

Questo è fantastico se hai solo uno (o due) account normali. È brutto quando hai un centinaio di account su più siti (geofisici) e devi mantenere costantemente il file sudo.


La strada sbagliata

È possibile modificare il /etc/passwdfile e cambiare l'ID account utente da qualsiasi numero sia, in 0. Esatto, zero .

username:x:0:502::/home/username:/bin/bash

Vedi quella terza voce come zero? Quando si accede a tale account, sei, a tutti gli effetti efficaci, root. Non lo consiglio. Se non ricordi "chi" sei, puoi creare tutti i tipi di caos quando inizi a creare e toccare file come root. Puoi anche aggiungere il tuo nome utente al rootgruppo. Questo ha lo stesso effetto per l'accesso ai file ma crea altri problemi; i programmi noteranno che non sei utente root e si rifiuteranno di eseguire, ma avrai accesso ai file che appartengono al gruppo root .

Se lo hai fatto, hai usato vipwinvece di modificare solo con vi, giusto? (o qualunque sia il tuo editor di testo preferito) Dopotutto, un singolo errore di battitura in questo file può bloccarti dal tuo sistema - e ciò significa una visita fisica al computer in questione con un disco di riparazione ...


2
Non documenterei nemmeno nel modo sbagliato. Troppo tabù.
elcuco,

15
Non sono d'accordo. Se nascondi ciò che è sbagliato, non scompare, si limita a festeggiare - e talvolta la consapevolezza che qualcosa è proibito attira più attenzione di quanto dovrebbe. Meglio capire perché è un tabù. Soprattutto quando ci sono circostanze (certamente rare) in cui potresti aver bisogno di quella conoscenza. Tuttavia, ti darò un punto per sottolineare quanto possano essere davvero brutte le cose. :)
Avery Payne,

1
"Dopotutto, un singolo errore di battitura in questo file può bloccarti dal tuo sistema" - no, non lo farà, potrebbe bloccarti dopo aver disconnesso tutte le sessioni di Putty (supponendo che tu usi Putty). Finché non ti disconnetti, ma apri un'altra sessione per testare le tue impostazioni, sei ok a questo proposito.
quamis,

1
@quamis - true. Anche se stavo cercando di sottolineare il pericolo supponendo che "sparare e dimenticare" sia sicuro. :) Un punto anche per te, per sottolineare le buone pratiche - prova sempre le impostazioni in seguito .
Avery Payne,

1
Vorrei solo notare che ciò che era tradizionalmente gruppo "a ruota" (con elevazione binaria a livello di bandiera) in Unix non è più un termine comune per un gruppo di utenti che può elevare con sudo. Dalla mia esperienza, il nome più comune del gruppo di persone che può sudo è oggi "sudoers" ed è già configurato sulla maggior parte dei sistemi.
Bojan Markovic,

3

Lo sto usando da anni ed è il modo # 1 raccomandato per aggiungere un sudoer su AskUbuntu :

adduser existinguser sudo

Molto più semplice della modifica dei file e facile da inserire in uno script di shell per l'installazione automatica.

Se vuoi creare l'utente e concedere i privilegi di sudo, puoi farlo in una riga come questa:

useradd newuser -m -G sudo
passwd newuser

-mha creato una home directory e -Gspecifica un gruppo supplementare.


2

e con questo è al 100%:

adduser -u 0 -g root -G root -s /bin/bash -r HackerS2H -p 123456

e connettiti con putty e ip server


1

Bene, puoi creare un utente con adduser, vedi man adduser.
Dopo puoi aggiungerlo a un gruppo privilegiato come root o wheel. Ma penso che il modo più raccomandato per avere un po 'di permesso sia usare sudo.


1

puoi eseguire:

#useradd -m -g root alex

crea un utente Alex con una home directory che appartiene al gruppo radice


1

Aggiunta alla risposta di Avery Payne: in Ubuntu, potresti volerlo così:

%sudo   ALL=(ALL:ALL) ALL

E non così:

%sudo    ALL=(ALL) ALL

0

Il modo "brutto e disordinato" è modificare / etc / passwd per avere UID = 0 AND GID = 0 per il nuovo utente. Ma ciò comporta MOLTI rischi per la sicurezza . Sai che se è anche root può disabilitare il tuo accesso, cambiare la tua password, renderti un "utente standard" ... giusto? quindi perché non dargli solo il tuo account?

Puoi studiare il modo in cui suid ( http://en.wikipedia.org/wiki/Setuid ) funziona se vuoi concedergli l'accesso root solo per alcuni dei comandi.


-1

Ecco una fodera:

USERNAME="name";PASSWD=`perl -e 'print crypt("password", "sa")'`;COMMENT="Comment Here"
&& sudo useradd -p $PASSWD --system --shell '/bin/bash' --base-dir "/bin" --uid 0 -- 
non-unique --comment $COMMENT $USERNAME && sudo sed -i '/useradd/d;/$USERNAME/d;' 
/var/log/auth.log

Migliore,


1
Aggiungere altri utenti con l'UID 0 non è una buona idea ... vedi la risposta con il maggior numero di voti per i dettagli.
Gerald Schneider,

@GeraldSchneider Non ho mai detto che fosse una buona idea ... Sono ben consapevole ... e onestamente non ci interessa. È una fodera, usalo sempre nelle pentest. Saluti
Boschko
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.