You are on page 1of 2

Permisos Bsicos de Acceso a Ficheros Linux es un sistema multiusuario en el que los usuarios pueden asignar distintos permisos de acceso

a sus ficheros. Cada usuario tiene un "user-Id" (Identificacin de usuario), un nmero nico que lo identifica. Los usuarios tambin pertenecen a uno o ms grupos. Los grupos se pueden utilizar para restringir el acceso a un nmero determinado de personas. Una buena caracterstica para hacer mas fcil el trabajo en equipo. Para comprobar tu "user-Id" y ver el grupo (o grupos) al que perteneces slo tienes que teclear el comando id: >id uid=550(alice) gid=100(users) groups=100(users),6(disk) Se pueden establecer los permisos de acceso a un fichero para el propietario, grupo y otros segn indiquen los permisos de lectura (r), escritura (w) y ejecucin (x) (read, write y execute en ingls). Puedes utilizar el comando ls -l para ver estos permisos. >ls -l /usr/bin/id -rwxr-xr-x 1 root root 8632 May 9 1998 /usr/bin/id El propietario del fichero /usr/bin/id es el usuario root y pertenece a un grupo llamado root. La parte: -rwxr-xr-x muestra los permisos de acceso al fichero. Este fichero es leible(r), escribible(w) y ejecutable(x) por el propietario. Para el grupo y todos los dems es leible(r) y ejecutable(x). Puedes imaginarte los permisos como un vector de bits de 3 bits cada uno asignados al propietario, grupo y "otros". As r-x corresponde a 101 como patrn de bits 4+1=5 en decimal. El bit "r" corresponde a 4 en decimal, el bit "w" a 2 en decimal y el bit "x" a 1 en decimal. sst 421 (explicado despus) rwx 421 usuario (propietario) rwx 421 grupo rwx 421 otrosSe puede utilizar el comando chmod para cambiar estos permisos. Por razones de seguridad, solamente root o el propietario del fichero pueden cambiar los permisos. Chmod acepta la representacin decimal de los permisos o una representacin simblica. La representacin simblica es [ugoa][+-][rwx]. Esto es: una de las letras u(usuario= propietario del fichero), g(grupo), o(otros), a(all= todos= "u", "g" y "o") seguido por + - para aadir o quitar permisos y luego la representacin simblica de los permisos en la forma de r(lectura) w(escritura) x(ejecucin). Para hacer el fichero "file.txt" escribible (w) por todos (a) tendrs que teclear: >chmod a+w file.txt o tambin >chmod 666 file.txt >ls -l file.txt -rw-rw-rw- 1 alice users 79 Jan 1 16:14 file.txt chmod 644 file.txt reestablecera los permisos "normales": escritura+lectura para el propietario y solo lectura para todos los dems. Cambiar a un directorio (con el comando cd) equivale a ejecutar el directorio. Los

permisos "Normales" para un directorio son por consiguiente 755 y no 644: >chmod 755 mydir >ls -ld mydir drwxr-xr-x 2 alice users 1024 Dec 31 22:32 mydir El comando umask define tus permisos por defecto. Los permisos por defecto se aplican cuando creamos nuevos ficheros (y directorios, etc ...). Toma como argumento aquellos bits, en representacin decimal, que NO queremos que sean activados. umask 022 es, por ejemplo, una buena eleccin. Con 022 todo el mundo puede leer tus ficheros y hacer "cd" en los directorios pero solo t puedes modificar cosas. Para imprimir la asignacin actual de umask solo tienes que teclear umask sin argumentos. Aqu va un ejemplo de como se utilizan umask y chmod: Establecemos umask a un valor estandard conveniente >umask 22 Coje tu editor y cra un fichero llamado myscript: >nedit myscript (o vi myscript ...) Pon el siguiente cdigo en l:#!/bin/sh #myscript echo -n "hola " whoami echo "Este fichero ( $0 ) tiene los siguientes permisos:" ls -l $0 | cut -f1 -d" " Salva el script. Ahora tiene los permisos en 644: >ls -l myscript -rw-r--r-- 1 alice users 108 Jan 1 myscript Para ejecutarlo debes hacerlo ejecutable: >chmod 755 myscript o tambin >chmod a+x myscript Ahora ejectalo: >./myscript Date cuenta de que el script debe ser legible y ejecutable para poderlo ejecutar mientras que un binario compilado normal solo necesitara ser ejecutable. Esto sucede porque el script debe ser ledo por el interprete (el "shell"). Al ejecutar el script debemos obtener: hola alice Este fichero ( ./myscript ) tiene los siguientes permisos: -rwxr-xr-x

You might also like