# [Permisos] Mi usuario puede escribir en /  (solucionado)

## ekz

Pues eso, no recordaba donde había dejado una imagen guardada con GIMP y al hallarla me dí cuenta que mi usuario tiene acceso para escribir en /  :

```
ekz@localhost ~ $ touch /tengoo_acceso

ekz@localhost ~ $ ls -l /tengoo_acceso 

-rw-r--r-- 1 ekz users 0 oct 15 22:27 /tengoo_acceso

ekz@localhost ~ $ mount

/dev/sda9 on / type ext3 (rw,noatime,nodiratime,errors=remount-ro)

...

...

ekz@localhost ~ $ groups ekz

adm disk wheel floppy audio cdrom video usb users portage sshd games cron haldaemon plugdev locate

```

```
ekz@localhost ~ $ cat /etc/fstab 

# <fs>                  <mountpoint>    <type>          <opts>          <dump/pass>

# NOTE: If your BOOT partition is ReiserFS, add the notail option to opts.

/dev/sda7               /boot           ext3            noauto,noatime,nodiratime       1 2

/dev/sda9               /               ext3            noatime,nodiratime,errors=remount-ro    0 1

/dev/sda8               none            swap            sw                      0 0

/dev/sda5               /home           ext3            noatime,nodiratime              0 2

/dev/sda1               /mnt/win2       ntfs-3g         noauto,umask=0000,nls=utf8,rw,user      0 0

/dev/sda6               /usr/portage    auto            auto    0 0

/dev/sda11              /var/tmp/portage        ext3    auto,noatime,nodiratime         0 1

/dev/sda10              /usr/src        ext3            auto,noatime,nodiratime         0 1
```

 :Shocked:  Redactando esto, veo que en los subdirectorios de / no tengoo acceso:

```
ekz@localhost ~ $ touch /etc/tengoo_acceso

touch: no se puede efectuar `touch' sobre «/etc/tengoo_acceso»: Permiso denegado

ekz@localhost ~ $ touch /bin/tengoo_acceso

touch: no se puede efectuar `touch' sobre «/bin/tengoo_acceso»: Permiso denegado

```

 :Confused: 

Al parecer tengo este "problema" de hace tiempo, como puedo "quitarme privilegios"?

SAludos, gracias de antemano

EDIT: Me eliminé del grupo disk pero sigue igual.

```
ekz@localhost ~ $ ls -al /dev/sda9

brw-rw---- 1 root disk 8, 9 oct 15 19:32 /dev/sda9

ekz@localhost ~ $ groups ekz

adm wheel floppy audio cdrom video usb users portage sshd games cron haldaemon plugdev locate
```

Pregunta: si pertenezco al grupo adm, y adm pertenece a disk, implica que yo pertenezca a disk ?

----------

## diegoto

Tira un "cat /etc/passwd"

Por ejemplo root:x:0:0:

Tiene todos los permisos por el 0 0, un usuario con bueno privilegios pero no tan arriesgados es recomendando un 500:500, me entendes?

SALUdos

----------

## ekz

Esta es la salida:

```
ekz@localhost ~ $ cat /etc/passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/bin/false

daemon:x:2:2:daemon:/sbin:/bin/false

adm:x:3:4:adm:/var/adm:/bin/false

lp:x:4:7:lp:/var/spool/lpd:/bin/false

sync:x:5:0:sync:/sbin:/bin/sync

shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

halt:x:7:0:halt:/sbin:/sbin/halt

mail:x:8:12:mail:/var/spool/mail:/bin/false

news:x:9:13:news:/usr/lib/news:/bin/false

uucp:x:10:14:uucp:/var/spool/uucppublic:/bin/false

operator:x:11:0:operator:/root:/bin/bash

man:x:13:15:man:/usr/share/man:/bin/false

postmaster:x:14:12:postmaster:/var/spool/mail:/bin/false

postgres:x:70:70::/var/lib/postgresql:/bin/bash

nut:x:84:84:nut:/var/state/nut:/bin/false

postfix:x:207:207:postfix:/var/spool/postfix:/bin/false

smmsp:x:209:209:smmsp:/var/spool/mqueue:/bin/false

portage:x:250:250:portage:/var/tmp/portage:/bin/false

nobody:x:65534:65534:nobody:/:/bin/false

sshd:x:22:22:added by portage for openssh:/var/empty:/bin/false

ekz:x:1000:100::/home/ekz:/bin/bash

rpc:x:111:111:added by portage for portmap:/dev/null:/bin/false

gdm:x:101:408:added by portage for gdm:/var/lib/gdm:/bin/false

cron:x:16:16:added by portage for cronbase:/var/spool/cron:/bin/false

p2p:x:102:100:added by portage for gift:/home/p2p:/bin/bash

games:x:36:409:added by portage for billardgl:/usr/games:/bin/bash

messagebus:x:103:410:added by portage for dbus:/dev/null:/bin/false

haldaemon:x:104:411:added by portage for hal:/dev/null:/bin/false

dhcp:x:105:413:added by portage for dhcp:/var/lib/dhcp:/bin/false

ldap:x:439:439:added by portage for openldap:/usr/lib64/openldap:/bin/false

sabayon-admin:x:106:440:added by portage for sabayon:/var/lib/sabayon:/bin/false

ivman:x:107:412:added by portage for ivman:/dev/null:/bin/false

paludisbuild:x:108:441:added by portage for paludis:/dev/null:/bin/false

tcpdump:x:109:443:added by portage for tcpdump:/dev/null:/sbin/nologin

mpd:x:110:18:added by portage for mpd:/var/lib/mpd:/sbin/nologin
```

Esos números serían una especia de jerarquía?

SAludos

----------

## jgascon

 *ekz wrote:*   

> 
> 
> ```
> 
> ekz:x:1000:100::/home/ekz:/bin/bash
> ...

 

Esos números son el uid (identificador de usuario) y el gid (identificador de grupo) y no responden a ninguna jerarquía en concreto. Su principal propósito es que el sistema operativo pueda distinguir a un usuario de otro. El unico uid que tiene un significado especial es el 0, cualquier usuario con uid 0 tiene privilegios de root.

En cuanto a tu problema, comprueba los permisos y propietario de la raiz. Deberían ser estos:

```

$ -> ls -ld /

drwxr-xr-x 22 root root 4096 oct 13 11:17 /

```

----------

## i92guboj

 *jgascon wrote:*   

>  *ekz wrote:*   
> 
> ```
> 
> ekz:x:1000:100::/home/ekz:/bin/bash
> ...

 

Depende de lo que hicieras durante la instalación, es muy posible que los permisos sean 775, en lugar de esos, y el owner root:portage, eso querría decir que si tu usuario está en portage entonces puede escribir en /. Puedes cambiar el owner a root:root o bien puedes poner los permisos a 755 y dejar el owner como está. Mientras portage no necesite crear un directorio en la raíz (y eso no debería pasar), todo debería ir perfectamente.

----------

## ekz

Aahh, ya veo, creo que por ahí va la cosa, cuando llegue a casa lo pruebo.

Bueno ya estoy en casa y lo probé y sin querer solté un carcajada  :Razz: 

```

ekz@localhost ~ $ ls -ld / 

drwxrwxrwx 24 root root 4096 oct 15 23:13 /

ekz@localhost ~ $ perl permiso-octal 

drwxrwxrwx

My trozo es rwx

My trozo es rwx

My trozo es rwx

My trozo es d

El permiso vale en octal: 777

```

chmod 777 /   <---- abré ejecutado esto alguna vez??? xD!

De todos modos no sé si este script funciona correctamente o no, lo pille por ahí:

```

#!/usr/bin/perl

while (<STDIN>)

{

$total=0;

$orden=1;

chomp;

$linea=$_;

while ( $trozo=substr($linea,-3)){

print "My trozo es $trozo\n";

if ($trozo =~/^r../) { $total=$total+4*$orden; }

if ($trozo =~/^.w./) { $total=$total+2*$orden; }

if ($trozo =~/^..x/) { $total=$total+1*$orden; }

# Le quitamos el trozo

$linea=substr($linea,0,-3); $orden=$orden*10;

}

print "El permiso vale en octal: $total\n";

}

exit 0;
```

Lo arreglo con chmod 755 no más?   :Arrow:   Ya lo hice

```
ekz@localhost ~ $ touch /y_ahora

touch: no se puede efectuar `touch' sobre «/y_ahora»: Permiso denegado

```

Por cierto, los permisos que da jgascon en octal (según el script) corresponde a  755   :Wink: 

SAludos, gracias!

----------

