agregar un nuevo usuario con acceso root en Linux

31

Quiero agregar un nuevo usuario y tener / otorgarle a ese nuevo usuario que tenga todo el acceso raíz, ¿cómo puedo hacer eso?

Lo hice sudo adduser --system testuserpero esto no funciona como esperaba.

Gracias por la ayuda.

seg.server.fault
fuente

Respuestas:

62

En realidad, hay tres formas de hacer esto: la forma correcta, la manera incorrecta y la manera fea.

Primero, cree una cuenta de usuario normal .

adduser username

Luego seleccione uno de los siguientes:


La manera correcta

Cree una sudoentrada para el wheelgrupo de /etc/sudoersesta manera:

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

O para versiones "modernas":

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

Luego agregue el usuario al wheelgrupo. Agregar y eliminar usuarios con privilegios administrativos ahora se convierte en una función de recordar agregarlos a la rueda, en lugar de crear una entrada en sudo. Lo mejor de usar wheel es que puede extender este mecanismo a otros esquemas de autenticación que admitan grupos, es decir, winbind / Active Directory, y cosechar los beneficios en el proceso. Para lograrlo, asigne la rueda a un grupo en su esquema de autenticación que tenga privilegios de administrador.

Tenga en cuenta que algunas distribuciones usan diferentes cuentas administrativas. Rueda es un enfoque "tradicional" para esto, pero puede encontrarse admin, admy otras cuentas de grupo que sirven al mismo propósito.

Seguimiento de edición:

Tengo que dar un punto a Bart Silverstrim por señalar que Ubuntu usa admincomo grupo para este propósito. Llegó a esto primero, aunque no noté una etiqueta de Ubuntu en ese momento. Nuevamente, todo depende de la distribución que esté utilizando.


El camino feo

Cree una entrada de sudo para la cuenta de usuario en cuestión y luego otorgue acceso completo. Nuevamente, crea la entrada de /etc/sudoersesta manera:

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

AGREGADO: ## Para la versión de Ubuntu: nombre de usuario ALL = (ALL: ALL)

Esto es genial si solo tiene una (o dos) cuentas normales. Es feo cuando tienes cien cuentas en varios sitios (geofísicos) y tienes que mantener constantemente el archivo sudo.


La forma incorrecta

Puede editar el /etc/passwdarchivo y cambiar el ID de la cuenta de usuario de cualquier número que sea, a 0. Así es, cero .

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

¿Ves esa tercera entrada como cero? Al iniciar sesión en esa cuenta, usted es, a todos los efectos eficaces, root. No recomiendo esto. Si no recuerda "quién" es, puede crear todo tipo de estragos a medida que comienza a crear y tocar archivos como root. También puede agregar su nombre de usuario al rootgrupo. Esto tiene el mismo efecto para el acceso a archivos pero crea otros problemas; los programas notarán que no es usuario root y se negará a ejecutar, pero obtendrá acceso a los archivos que pertenecen al grupo root .

Si hiciste esto, usaste en vipwlugar de solo editar con vi, ¿verdad? (o cualquiera que sea su editor de texto favorito) Después de todo, un solo error tipográfico en este archivo puede bloquearlo de su sistema, y ​​eso significa una visita física a la computadora en cuestión con un disco de reparación ...

Avery Payne
fuente
2
Ni siquiera documentaría el camino equivocado. Demasiado tabú.
elcuco
15
Estoy en desacuerdo. Si oculta el error, no desaparece, simplemente se infecta y, a veces, el conocimiento de que algo está prohibido atrae más atención de la que debería. Es mejor entender por qué es tabú. Especialmente cuando hay circunstancias (ciertamente raras) en las que podrías necesitar ese conocimiento. Aún así, te daré un punto para señalar cuán realmente malas pueden ser las cosas. :)
Avery Payne
1
"Después de todo, un solo error tipográfico en este archivo puede bloquearlo de su sistema" - no, no lo hará, puede bloquearlo después de desconectar todas las sesiones de Putty (suponiendo que use Putty). Siempre y cuando no se desconecte, solo abra otra sesión para probar su configuración, está bien en este sentido.
quamis
1
@quamis: cierto. Aunque estaba tratando de señalar el peligro al asumir que es seguro "disparar y olvidar". :) Un punto para usted también, para señalar las buenas prácticas: siempre pruebe la configuración después .
Avery Payne
1
Solo me gustaría señalar que lo que tradicionalmente era el grupo 'rueda' (con elevación binaria a nivel de bandera) en Unix ya no es un término común para el grupo de usuarios que pueden elevar con sudo. Según mi experiencia, el nombre más común del grupo de personas que puede sudo es hoy en día 'sudoers' y ya está configurado en la mayoría de los sistemas.
Bojan Markovic
3

He estado usando esto durante años y es la forma recomendada # 1 para agregar un sudoer en AskUbuntu :

adduser existinguser sudo

Mucho más simple que editar archivos, y fácil de incluir en un script de shell para una instalación desatendida.

Si desea crear el usuario y otorgar privilegios de sudo, puede hacerlo en una línea como esta:

useradd newuser -m -G sudo
passwd newuser

-mcreó un directorio de inicio y -Gespecifica un grupo suplementario.

Dan Dascalescu
fuente
2

y con esto es 100%:

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

y conectar con masilla y servidor ip

hacker-s2h
fuente
1

Bueno, puede crear un usuario con adduser, vea man adduser.
Después puede agregarlo a un grupo privilegiado como root o wheel. Pero creo que la forma más recomendada de tener algún permiso es usar sudo.

Ali Mezgani
fuente
1

puedes realizar:

#useradd -m -g root alex

crea un usuario Alex con un directorio de inicio que pertenece al grupo raíz

Razique
fuente
1

Además de la respuesta de Avery Payne: en Ubuntu, es posible que lo desee así:

%sudo   ALL=(ALL:ALL) ALL

Y no así:

%sudo    ALL=(ALL) ALL
hukeping
fuente
0

La forma "fea y desordenada" es editar / etc / passwd para tener UID = 0 AND GID = 0 para el nuevo usuario. Pero esto plantea MUCHOS riesgos de seguridad . Sabes que si él también es root puede deshabilitar tu cuenta, cambiar tu contraseña, convertirte en un "usuario estándar" ... ¿verdad? Entonces, ¿por qué no darle su propia cuenta?

Puede estudiar la forma en que funciona suid ( http://en.wikipedia.org/wiki/Setuid ) si desea otorgarle acceso de root para solo algunos de los comandos.

quamis
fuente
-1

Aquí hay un trazador de líneas:

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

Mejor,

Boschko
fuente
1
Agregar usuarios adicionales con el uid 0 no es una buena idea ... vea la respuesta con más votos para más detalles.
Gerald Schneider
@GeraldSchneider Nunca dije que era una buena idea ... Soy muy consciente ... y, sinceramente, no es de nuestra incumbencia. Es un trazador de líneas, utilícelo en pentests todo el tiempo. Saludos
Boschko