13.07.2015 Views

SEGURIDAD EN UNIX Y REDES

SEGURIDAD EN UNIX Y REDES

SEGURIDAD EN UNIX Y REDES

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

52CAPÍTULO 4. EL SISTEMA DE FICHEROSEn muchas variantes de Unix es posible cambiar a la vez el propietario y el grupo de un ficheromediante chown, separando ambos mediante un carácter especial, generalmente ‘:’ o ‘.’:anita:~# ls -l /tmp/fichero-rw-r--r-- 1 root other 799 Feb 8 19:47 /tmp/ficheroanita:~# chown toni:staff /tmp/ficheroanita:~# ls -l /tmp/fichero-rw-r--r-- 1 toni staff 799 Feb 8 19:47 /tmp/ficheroanita:~#Como vemos, ninguna de estas órdenes altera el campo de permisos 4 ; para modificar los permisosde un archivo se utiliza la orden chmod. Este comando generalmente recibe como parámetro elpermiso en octal que queremos asignar a cierto fichero, así como el nombre del mismo:anita:~# ls -l /tmp/fichero-rw-r--r-- 1 root staff 799 Feb 8 19:47 /tmp/ficheroanita:~# chmod 755 /tmp/ficheroanita:~# ls -l /tmp/fichero-rwxr-xr-x 1 root staff 799 Feb 8 19:47 /tmp/ficheroanita:~#¿Cómo podemos obtener el número en octal a partir de una terna de permisos determinada, yviceversa? Evidentemente no podemos entrar aquí a tratar todas las características de este sistemade numeración, pero vamos a proporcionar unas ideas básicas. Imaginemos que tenemos un ficherocon unos determinados permisos de los que queremos calcular su equivalente octal, o que conocemoslos permisos a asignar pero no su equivalente numérico; por ejemplo, necesitamos asignar a unfichero la terna rw-r---wx, que en la práctica no tiene mucho sentido pero que a nosotros nos sirvede ejemplo. Lo primero que debemos hacer a partir de estos bits rwx es calcular su equivalentebinario, para lo que asignamos el valor ‘1’ si un determinado permiso está activo (es decir, siaparece una r, w o x en él) y un ‘0’ si no lo está (aparece un ‘-’); así, el equivalente binario de laterna propuesta es 110100011. Ahora simplemente hemos de pasar el número del sistema binarioal octal: lo dividimos en grupos de tres elementos (110 100 011) y de cada uno de ellos calculamossu equivalente octal:110 2 ≡ 1 · 2 2 + 1 · 2 1 + 0 · 2 0 ≡ 6 8100 2 ≡ 1 · 2 2 + 0 · 2 1 + 0 · 2 0 ≡ 4 8011 2 ≡ 0 · 2 2 + 1 · 2 1 + 1 · 2 0 ≡ 3 8Ya tenemos los tres números de nuestra terna de permisos, o lo que es lo mismo, la representaciónoctal de los bits iniciales: 643. Por tanto, si necesitamos asignar esta terna a un cierto fichero,simplemente hemos de ejecutar la orden chmod indicándole este número y el nombre del archivo:anita:~# chmod 643 /tmp/ficheroanita:~# ls -l /tmp/fichero-rw-r---wx 1 root root 799 Feb 8 19:47 /tmp/fichero*anita:~#La forma de trabajar de chmod comentada requiere que se indique explícitamente el valor octal delos bits rwx que queremos otorgar a un fichero; sin importar el valor de las ternas que poseía antesde ejecutar la orden, estamos asignando a los permisos del archivo el nuevo valor valor indicado enla línea de comandos. Existe otra forma de trabajo de chmod denominada ‘simbólica’ en la que nonecesitamos indicar el valor octal de todos los bits, sino que especificamos únicamente parámetrospara los valores de los permisos que el archivo posee y deseamos modificar. En lugar de utilizar elequivalente octal, utilizamos símbolos (de ahí el nombre de esta forma de trabajo) que representanla activación o desactivación de ciertos bits en cada una de las tres ternas; la sintaxis básica 5 dechmod en este caso es la siguiente:4 Esto no siempre es así: bajo ciertas circunstancias en algunos Unix el cambio de grupo o de propietario puedemodificar los permisos del archivo, como veremos al hablar de ficheros setuidados.5 Se recomienda consultar la página del manual para ver otras opciones de la orden.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!