Permisos Ficheros

20
Permisos Ficheros Todo usuario tiene un UID (User IDentification) que es único. Dentro de /etc/passwd están definidos los usuarios. Todo usuario pertenece a un grupo GID (Group IDentification) que también es único. Dentro de /etc/group están definidos los grupos. • Comando id usuario, permite visualizar información de UID y GID así como los grupos a los que pertenece el usuario. El sistema trabaja internamente con UID y con GID y no con los nombres. Se asocia un UID y GID a cada fichero, es decir a cada inodo, que define su propietario y su grupo con derechos

description

Permisos Ficheros. Todo usuario tiene un UID (User IDentification) que es único. Dentro de /etc/passwd están definidos los usuarios. Todo usuario pertenece a un grupo GID (Group IDentification) que también es único. Dentro de /etc/group están definidos los grupos. - PowerPoint PPT Presentation

Transcript of Permisos Ficheros

Page 1: Permisos Ficheros

Permisos Ficheros

• Todo usuario tiene un UID (User IDentification) que es único.

• Dentro de /etc/passwd están definidos los usuarios.• Todo usuario pertenece a un grupo GID (Group

IDentification) que también es único.• Dentro de /etc/group están definidos los grupos.• Comando id usuario, permite visualizar información de

UID y GID así como los grupos a los que pertenece el usuario.

• El sistema trabaja internamente con UID y con GID y no con los nombres.

• Se asocia un UID y GID a cada fichero, es decir a cada inodo, que define su propietario y su grupo con derechos

Page 2: Permisos Ficheros

Permisos Ficheros

• Si el UID del usuario es el mismo que el UID del fichero quiere decir esto que el usuario es el propietario.

• Si los UID son diferentes, se comprueba si el GID del usuario es el mismo que el GID del fichero, si es así, el usuario pertenece al grupo con privilegios del fichero.

• Para el resto de los casos, ni es el propietario, ni es un miembro del grupo con privilegios, se trata del resto de la gente.

Page 3: Permisos Ficheros

Permisos Ficheros

• Ficheros:– r: se puede ver el contenido del fichero,

cargarlo en memoria y copiar– w: se puede modificar el contenido del

fichero, pero no se puede eliminar el fichero.– x: se puede ejecutar el fichero.

Page 4: Permisos Ficheros

Permisos Ficheros

• Directorio:– r: se puede listar el contenido del directorio. Sin esta

autorización el comando ls o find no podrán mostrar nada. Aún así si podremos acceder al fichero si conocemos su ruta.

– w: se puede modificar los elementos del directorio (Catálogo), se puede crear, suprimir y nombrar ficheros dentro del directorio. Este permiso es el que controla la posibilidad de borrar ficheros.

– x: se puede acceder al directorio por cd y se puede listar, sin esta autorización es imposible acceder al directorio.

Page 5: Permisos Ficheros

Permisos Ficheros

• Modificación de permisos:– Cuando se crea un directorio o un fichero se

crean con unos permisos por defecto.• rw-r--r-- (644) Para ficheros.• rwxr-xr-x (755) Para directorios.

– Comando chmod permite cambiar los permisos de los ficheros. Existen dos formas:

• Por medio de símbolos.• Por medio del sistema octal.

Page 6: Permisos Ficheros

Permisos Ficheros

• Modificación de permisos por símbolos:– u: para propietario.– g: para grupo del propietario.– o: para el resto del mundo (others)– +: añade permiso.– -: retira permiso.– =: los permisos que tendrá.– r: lectura.– w: escritura.– x: ejecución.

Page 7: Permisos Ficheros

Permisos Ficheros

• Modificación de permisos por símbolos:– chmod u+x,g+wx,o+wx fich1.txt– chmod ugo+rwx fich2.txt– chmod u=rwx,g=x,o=x fich3– chmod o=fich suprime todos los derechos

• Si queremos suprimir todos los derechos no especificaremos nada después de =

Page 8: Permisos Ficheros

Permisos Ficheros

• Modificación de permisos por sist octal:– A cada permiso le asignaremos un valor en

octal.– chmod 644 fich1 – 400+200+40+4 = 644– No permite modificar un único permiso.

usuario grupo otros

r w x r w x r w x 1 1 0 1 0 0 1 0 0

6 4 4

Page 9: Permisos Ficheros

Permisos Ficheros

• Cambio de propietario y grupo:– Para cambiar de propietario a un fichero o ficheros:

• chown usuario o UID fich1 [fich2 fcih3…]

– Para cambiar el grupo de un fichero o ficheros:• chgrp grupo o GID fich1 [fich2 fich3 …..]

– No se modificaran los permisos para los ficheros ni su ubicación.

– El parámetro –R cambia la propiedad de forma recursiva.– chown usuario:grupo fich1 [fich2 fich3 …]– chown usuario.grupo fich1 [fich2 fich3 ….]– Sólo root puede cambiar el propietario de un fichero, un usuario

puede cambiar el grupo de un fichero si pertenece al nuevo grupo.

Page 10: Permisos Ficheros

Permisos Ficheros

• Mácara de permisos:– Por defecto todo fichero y directorio creado se

le asocian una serie de permisos por defecto:• 644 para ficheros 755 para directorios

– Esta forma predefinida se puede cambiar mediante el comando umask

– umask (abreviatura de user mask, máscara de usuario) establece los permisos por defecto para los nuevos archivos y directorios creados por el proceso actual.

Page 11: Permisos Ficheros

Permisos Ficheros

• Mácara de permisos:– umask 022 (- - - - w - - w -)– umask coge como parámetro un valor en octal del

cual cada permiso individual será suprimido de los derechos de acceso del fichero o directorio.

– Por defecto se crean:– Ficheros con permisos 666 (r w - r w - r w -)– Directorios con permisos 777 (r w x r w x r w x)– Se aplica la máscara 022 ( - - - - w - - w

-)– La máscara se aplica al conjunto de ficheros.– La máscara no modifica el los permisos de los ficheros

existentes, solo a los creados a partir de ese momento.

Page 12: Permisos Ficheros

Permisos Ficheros

• Mácara de permisos:– Para un fichero:

• r w - r w - r w - (666)• - - - - w - - w - (022)• r w - r - - r - - (644)

– Para un directorio:• r w x r w x r w x (777)• - - - - w - - w - (022)• r w x r - x r - x (755)

– No es sustraer o restar sino retirar– Ejemplo: ¿qué ocurre si la máscara fuera 027?

Page 13: Permisos Ficheros

Permisos Ficheros

• Permisos especiales SUID, SGID:– Es posible otorgar permisos especiales para

ficheros ejecutables.– Estos permisos de acceso extendidos

aplicados a un comando permiten sustituir los permisos otorgados al usuario que lo inició por los permisos del propietario o del grupo de pertenencia del comando.

Page 14: Permisos Ficheros

Permisos Ficheros

• Permisos especiales SUID, SGID:– Ejemplo comando passwd– usuario@debdelta:/$ ls -l /etc/passwd– -rw-r--r-- 1 root root 1619 dic 17 19:32 /etc/passwd– /etc/passwd pertenece a root, únicamente root puede escribir en él.– usuario@debdelta:/$ ls -l /usr/bin/passwd– -rwsr-xr-x 1 root root 34740 feb 15 2011 /usr/bin/passwd– Lleva un nuevo permiso s, para los permisos del usuario root, que

permite ejecutar con los permisos del propietario del fichero o su grupo de pertenencia a un usuario.

– chmod u+s comando chmod 4755 comando– chmod g+s comando chmod 2755 comando– Sólo el propietario o root pueden activar esta propiedad. La propiedad

tiene sentido sólo si está si se han establecido los permisos de ejecución previamente, atributo x en el propietario o grupo). Si estos no están presentes se sustituye s por S

Page 15: Permisos Ficheros

Permisos Ficheros

• Permisos especiales SUID, SGID:–Ejemplo:

• #include <stdio.h>• #include <unistd.h>• main(){

– char a;– printf("UID:%d,EUID: %d\n",getuid(),geteuid());– scanf("%c",&a);

• }

Page 16: Permisos Ficheros

Permisos Ficheros

• Permisos especiales SUID, SGID:– Como root, creamos el fichero testsuid.c y lo compilaremos.

• cc –o testsuid testsuid.c– Cambiamos sus permisos: chmod u+s testsuid ó chmod 4755

testsuid.– Comprobamos sus permisos: ls –l testsuid– Cambiamos a otro usuario, su – usuario– Comprobamos los identificadores con id.– Ejecutamos la aplicación ./testsuid &

• UID:1000, EUID:0 CTRL+Z Paramos– La aplicación la ejecuta usuario con UID:1000 , ¡pero el

usuario efectivo, es root !– ps ax –o pid,ruser,ruid,euser,euid,comm

Page 17: Permisos Ficheros

Permisos Ficheros

• Permisos especiales SUID, SGID:–Ejemplo:

• Ejecutemos como usuario:–find /etc 2>error.txt

• Modifica los permisos pertinentes para que no se produzcan errores, posteriormente establece los permisos iniciales.

Page 18: Permisos Ficheros

Permisos Ficheros

• Permisos especiales SUID, SGID:– Ejemplo:

• whereis find; cd /usr/bin ;ls –l find– --rwxr-xr-x 1 root root 136152 oct 26 2010 find

• find /etc 2> error.txt– Contendrá líneas de error debido a falta de permisos.

• su; chmod u+s /usr/bin/find• ls -l /usr/bin/find• -rwsr-xr-x 1 root root 136152 oct 26 2010 /usr/bin/find• su – usuario• find /etc 2>error1.txt Está vacío, no hay errores de acceso.• su; chmod 755 /usr/bin/find volvemos a dejar las cosas

igual que en el origen.

Page 19: Permisos Ficheros

Permisos Ficheros

• Permisos especiales SUID, SGID:– Para encontrar todos los ficheros con suid:

• find / -perm 4000 –print

– Para econtrar todos los ficheros con sgid:• Find / -perm 2000 –print

Page 20: Permisos Ficheros

Permisos Ficheros

• Permisos especiales Sticky bit:– Este bit suele asignarse en directorios a los que todos

los usuarios tienen acceso, y permite evitar que un usuario pueda borrar ficheros/directorios de otro usuario dentro de ese directorio, ya que todos tienen permiso de escritura.

– ls –ld /comun• drwxrwxrwt 10 root root 4096 ene 13 19:24 /tmp

– su; chmod 1777 /tmp• drwxrwxrwt 10 root root 4096 ene 13 19:24 /tmp