# [LOGIN] No puedo cambiar a root con "su" (solved)

## sefirotsama

Hola a todos y todas:

Hace mucho tiempo que no paso por aquí... estube demasiado atareado con la universidad para invertir tiempo a instalar gentoo en mi eeepc 901 (creo que tengo pendiente un hilo con este tema que en breve cerraré con algo de ayuda), por lo que he estado paseando por otras distribuciones... y luego con el trabajo... y bueno, que como gentoo no hay nada, y al final es la distribución más facil cuando tu objetivo va más allá del ratón y que es la que mejor funciona, se mire por donde se quiera.

Al grano: No puedo canviar de usuario a root mediante el comando su, tampoco de usuario a usuario (si soy root puedo cambiar a lo que quiera sin problemas). La cosa es bastante molesta... sin embargo, sí que puedo hacer login en una nueva consola y el sistema por todo lo demas funciona de maravilla. Tampoco me funciona su usuario para cambiar de usuario. Igualmente me pasa si bloqueo la pantalla con xlock o el scrensaver de kde4, es como si la contraseña fuera incorrecta, aunque sí es realmente la correcta (y por consecuencia, bloquear la pantalla me obliga a reiniciar las X). El proceso es identico que si alguien se equivocara de contraseña.

Un ejemplo:

```
sefirot@monotrasto:/$ su

Password:

su: Authentication failure

sefirot@monotrasto:/$ su

Password:

su: Authentication failure

sefirot@monotrasto:/$ su sefirot

Password:

su: Authentication failure

sefirot@monotrasto:/$ su sefirot

Password:

su: Authentication failure

sefirot@monotrasto:/$ whoami

sefirot

sefirot@monotrasto:/$
```

Por supuesto, no tengo el bloq. num activado, ni las mayúsculas, lo he probado en las X y en la consola normal (TTY se llamaban, ¿no?). También probé de canviar la codificación de UTF a iso8559-15 (bajo las X) y tampoco creo que sea eso... Conservo el .bashrc de mi usuario de otra distribución que testeé recientemente, por lo que para asegurarme creé un usuario nuevo y éste tampoco puede hacer el cambio...

Me hice una instalación de gentoo, que he metido en el eeepc, con stage oficial (o un stage autoactualizado que ofrecen los mirrors)... vaya que no he seguido el funtoo ni nada similar... no se me ocurre que puede ser y llevo varios dias con esto.

Por supuesto estoy en el grupo wheel, y no quiero usar sudo para nada. Me añadí a un numero exagerado de grupos en un intento loco final por si se me olvidaba algo :

```
sefirot@monotrasto:/$ id sefirot

uid=1000(sefirot) gid=100(users) groups=100(users),0(root),1(bin),4(adm),10(wheel),11(floppy),12(mail),13(news),15(man),17(console),18(audio),19(cdrom),27(video), 80(cdrw),85(usb),65533(nogroup),65534(nobody),1000(dhcp),60(mysql),1004(wireshark),1005(haldaemon),1006(plugdev),1007(sefirot)

sefirot@monotrasto:/$ cat /etc/group|grep wheel

wheel::10:root,sefirot

```

Una ayudita, por favor.

----------

## esteban_conde

Hace poco a otro forero le pasaba que no tenia el usuario en el grupo wheel, ¡¡claro con tanto cambio de distro!!  :Laughing: 

----------

## Ralgo

Como dicen más arriba, el usuario necesita estar en el grupo wheel para poder hacer un "su"

----------

## sefirotsama

Yo ya estoy en el grupo wheel.

```
sefirot@monotrasto:~$ cat /etc/group|grep wheel

wheel::10:root,sefirot
```

Y... no pienso cambiar de distro (sigo teniendo acceso a root, solo que debo apretar control+alt+F1 cada vez). Lo que no puedo es hacer "su".

¿Podria tener algo que ver con alguna opción de seguridad del kernel más que de configuración? ¿algo sobre el espacio de memoria de usuario y de kernel?

Alguien me sabria encontrar el hilo ese que mencionáis? antes de postear he hecho búsquedas y no encontré nada.

----------

## Txema

Antes de contestar es bueno leerse el comentario completo:

 *sefirotsama wrote:*   

> Por supuesto estoy en el grupo wheel

 

Ciertamente es un asunto raro, mira cómo está /bin/su (ls -l /bin/su)

Saludos.

----------

## sefirotsama

 *Txema wrote:*   

> Antes de contestar es bueno leerse el comentario completo:
> 
>  *sefirotsama wrote:*   Por supuesto estoy en el grupo wheel 
> 
> Ciertamente es un asunto raro, mira cómo está /bin/su (ls -l /bin/su)
> ...

 

Pues mirando:

```
sefirot@monotrasto:~$ ls -l /bin/su

-rwx--x--x 1 root root 26844 Aug 23 04:05 /bin/su

```

Luego por probar, como root:

```
chmod +r /bin/su

env-update && source /etc/profile

```

Pero todo sigue igual (no funcionna).

----------

## Txema

Tu archivo /bin/su está mal, o al menos sus permisos, este es el mío:

```
36K -rws--x--x 1 root root 36K jul 26 17:48 /bin/su
```

Vuelve a quitar el +r que le has puesto, solo root debe poder leer ese archivo y añade un +s para que tenga el bit suid.

Saludos.

P.D: y modifica el título para que ponga cambiar, en lugar de canviar, que me están doliendo los ojos  :Wink: 

----------

## sefirotsama

 *Txema wrote:*   

> Tu archivo /bin/su está mal, o al menos sus permisos, este es el mío:
> 
> ```
> 36K -rws--x--x 1 root root 36K jul 26 17:48 /bin/su
> ```
> ...

 

Hecho. Perdón por la falta, me pasa a menudo (en catalán es donde sí va con v).

----------

## sefirotsama

```
sefirot@monotrasto:~$ su

Password:

monotrasto sefirot # ls -l /bin/su

-rws--s--x 1 root root 26844 Aug 23 04:05 /bin/su

```

Gracias Txema, ya está funcionando.

Me podrias recordar para que sirve el +s de SUID? SUID S.User.IDentifier?

No acabo de entender el motivo... ahora el ls -l (con el bashcolors) aparece emmarcado en rojo.

En todo caso doy por cerrado el tema, problema solucionado.

----------

## Condex

 *sefirotsama wrote:*   

> 
> 
> ```
> sefirot@monotrasto:~$ su
> 
> ...

 

Hola sefirotsama,

Fíjate que en el grupo también tienes una "s" y debería ser una "x", al menos así está en mi PC.

Y sí, en mi PC también aparece enmarcado en rojo. Supongo que será el color que se emplea para indicar que el archivo tiene el bit SUID activado.

Lo del SUID, si mal no recuerdo(que seguro que sí), es para que el programa se ejecute con el usuario al que pertenece y no con el usuario que lo llama. Es decir, cuando sefirot ejecuta «su», el programa se ejecuta con el usuario al que pertenece el archivo, o sea, root...  :Smile: 

Puedes verlo si tienes dos terminales abiertas con tu usuario, en una ejecutas «su» y sin meter la contraseña, vas a la otra y haces un «ps guax». Verás que el proceso «su» pertenece a root  :Smile: 

----------

