Вы находитесь на странице: 1из 6

POLTICAS DE PERMISOS

1. Tipos de Permisos. 1.1. Permiso de propietario, de grupo y del resto. El propietario de un archivo o un directorio es normalmente aquel que tiene el mximo de derechos sobre un archivo determinado. Por ejemplo si como usuarios de una mquina creamos un archivo, automticamente este pasar a tener como propietario el usuario que lo ha creado. Se puede cambiar esto? Si, podemos cambiar de propietario un archivo o un directorio. Veamos cmo es esto en la prctica: a) Creamos un nuevo usuario para nuestra experiencia. En este caso ser 'nuevo' # adduser pepito Aadiendo usuario pepito... Aadiendo nuevo grupo `pepito' (1004). Aadiendo nuevo usuario pepito (1002) con grupo pepito. Creando el directorio home `/home/pepito'. Copiando archivos desde `/etc/skel' Enter new UNIX password: Hemos utilizado el comando 'adduser' para crear un nuevo usuario llamado 'pepito' . El sistema nos ha indicando que cre lo siguiente: I) Un nuevo usuario llamado pepito (UID 1002) II) Un nuevo grupo llamado pepito (GID 1004) III) Un nuevo directorio llamado /home/ pepito IV) Dentro de /home/ pepito se copian algunos archivos. Esto podemos verlo haciendo un ls -all dentro de /home/pepito. V) Finalmente nos pide que agreguemos un password para el usuario. Escribiremos la nueva contrasea y luego 'Enter'. Como resultado la pantalla nos mostrar: Retype new UNIX password: Y al escribir nuevamente la contrasea (esta deber ser igual a la anterior de lo contrario el sistema indicar error), la pantalla nos mostrar: passwd: contrasea actualizada correctamente Cambiando la informacin de usuario para pepito Introduzca el nuevo valor, o presione ENTER para el predeterminado Nombre completo []: Aqu, como hemos visto anteriormente, no conviene dar demasiada informacin, ya que podra ser usada por un extrao para acercarse a un usuario y tratar de extraer datos que deben mantenerse seguros y secretos y con estos realizar un ataque (ingeniera social), as que solamente utilizamos 'Enter' sin agregar datos. Nmero de habitacin []: Idem anterior Telfono del trabajo []:, Telfono de casa []: , Otro []:, En cada uno de los items anteriores solo hemos usado 'Enter' ya que no deseamos agregar dato alguno. Finalmente aparecer lo siguiente: Es correcta la informacin? [y/N]

Y aqu escribiremos 'y' a fin de terminar el proceso. Muy bien, ahora escribimos en lnea de comandos: # su pepito y el sistema intentar loguearse con el nuevo usuario. En algunas ocasiones pedir password, en otras (como en este caso) simplemente nos mostrar el prompt con el nuevo usuario de la siguiente manera: pepito@losindios:~$ Ahora nos posicionaremos en el /home del nuevo usuario: pepito@losindios:~$ cd /home/pepito y luego veremos qu archivos hay dentro: pepito@losindios: /home/nuevo$ donde escribiremos: pepito@losindios:~$ ls -all total 28 drwxr-xr-x 3 pepito pepito 4096 2007-03-22 00:03 . drwxr-xr-x 6 root root 4096 2007-03-21 23:55 .. -rw------- 1 pepito pepito 123 2007-03-22 00:03 .bash_history -rw-r--r-- 1 pepito pepito 220 2007-03-21 23:55 .bash_logout -rw-r--r-- 1 pepito pepito 414 2007-03-21 23:55 .bash_profile -rw-r--r-- 1 pepito pepito 2227 2007-03-21 23:55 .bashrc lrwxrwxrwx 1 pepito pepito 26 2007-03-21 23:55 Examples -> /usr/share/examplecontent drwxr-xr-x 2 pepito pepito 4096 2007-03-22 00:03 .mc pepito@losindios:~$ Veamos un poco todo esto: I) Aparecen los permisos. Observamos que las dos primeras lneas comienzan con la letra 'd'. Esto significa que no son archivos sino directorios. II) Luego aparecen los permisos en s. Donde hay un guin significa que ese permiso no est habilitado. Los permisos aparecern de la siguiente manera: -rwxrwxrwx El primer trio pertenece al dueo del archivo, el segundo trio al grupo y el tercer trio a todos los que no son ni dueos ni de grupo. En este caso vemos que todos los permisos estn habilitados. Como sera si solo estuvieran habilitados los permisos de lectura, escritura y ejecucin para el dueo, pero ninguno para el grupo ni para el resto? -rwx------ O sea que al colocar '-' el guin en lugar de una letra el permiso en ese lugar est inhabilitado. Si aparece el primer guin con una 'd' indica directorio. Tambin es posible que all haya una 'l' lo que indicara link (o enlace a otro lado). Observemos la siguiente lnea:
lrwxrwxrwx 1 nuevo nuevo 26 2007-03-21 23:55 Examples -> /usr/share/example-content

La 'l' al principio nos indica que se trata de un link (o enlace) archivo que apunta a otro. Vemos un valor en Bytes muy pequeo, y esto se debe a que no se trata del archivo en s, sino solo a un enlace con el archivo. Vemos la ruta del archivo real (/usr/share/example-content). III) Luego aparece el nombre del dueo y el nombre del grupo al que pertenece. IV) Lo que viene luego es el tamao en Bytes del archivo V) Finalmente la fecha de creacin del archivo. Cuando aparezca un archivo, con un '.' (punto) delante, significa que este archivo se

encuentra oculto. Si no hubieramos usado la opcin '-all' estos archivos y a fin de no ser borrados accidentalmente no sern visibles. Ahora con el nuevo usuario nos posicionamos en el directorio /tmp pepito@losindios:~$ cd /tmp pepito@losindios:/tmp$ Y desde aqu crearemos un directorio: pepito@losindios:/tmp$ mkdir nuevodirectorio Vamos a ver los permisos de este directorio recin creado, y para esto usamos nuevamente el comando ls, en este caso con opcin '-l' pepito@losindios:/tmp$ ls -l total 44 drwx------ 3 cimarron cimarron 4096 2007-03-21 23:17 gconfd-cimarron srwxr-xr-x 1 cimarron cimarron 0 2007-03-21 23:28 gedit.cimarron.1457779644 drwx------ 2 cimarron cimarron 4096 2007-03-21 23:17 keyring-NSDhSh srwxr-xr-x 1 cimarron cimarron 0 2007-03-21 23:17 mapping-cimarron drwx------ 2 pepito pepito 4096 2007-03-22 00:02 mc-nuevo drwxr-xr-x 2 pepito pepito 4096 2007-03-22 01:01 nuevodirectorio drwx------ 2 cimarron cimarron 4096 2007-03-22 00:01 orbit-cimarron pepito@losindios:/tmp$ Nos dice que 'nuevodirectorio' pertenece al usuario nuevo y al grupo nuevo y sus permisos son: rwxr-xr-x Es decir lectura, escritura y ejecucin para el dueo, lectura y ejecucin (sin escritura) para el grupo y nuevamente lectura y ejecucin para el resto. Ahora podramos hacer lo mismo, pero en lugar de hacerlo con un directorio lo haremos con un arhivo. Para esto utilizaremos dentro del nuevodirectorio, el comando touch. Veamos cmo: pepito@losindios:/tmp$ cd /nuevodirectorio pepito@losindios:/tmp/nuevodirectorio$ Ahora vamos a crear un archivo que llamaremos 'primero' por ejemplo: pepito@losindios:/tmp/nuevodirectorio$ touch primero Ahora haremos un 'ls -l' para saber qu permisos tiene este nuevo archivo. pepito@losindios:/tmp/nuevodirectorio$ ls -l total 0 -rw-r--r-- 1 pepito pepito 0 2007-03-22 01:08 primero Vemos que el archivo primero ha quedado con permisos de lectura y escritura (sin ejecucin) para el dueo, para el grupo y para todos es de solo lectura. 1.2 Cambiar permisos (comando chmod) Este comando nos permite cambiar el/los permisos de un archivo. Debemos cambiar los permisos siendo dueos de un archivo o desde root. Por ejemplo vamos a hacer que el archivo creado anteriormente sea de lectura, escritura y ejecucin para todos de la siguiente manera: root@losindios:/tmp/nuevodirectorio# chmod u+x,g+wx,o+wx primero

Mediante el comando chmod hemos hecho que 'u' (dueo) tenga permisos de ejecucin, (ya desde antes tena permisos de lectura y escritura, as que solo agregamos ejecucin). Tambin para el grupo ('g') se le agreg permisos de escritura y ejecucin (qued el grupo con lectura, escritura y ejecucin), y finalmente para 'otros' se hizo tambin lo mismo. Finalmente se coloca el nombre del archivo. Ahora vamos a hacer un 'ls -l' para ver si realmente qued con esos permisos el archivo en cuestin. pepito@losindios:/tmp/nuevodirectorio$ ls -l total 0 -rwxrwxrwx 1 root root 0 2007-03-22 01:26 primero Observese que hemos cambiado los permisos de todos. Para agregar permisos se usa el signo '+', mientras que para quitarlas se usa el signo '-'. Vamos a dejar ahora permisos de lectura y escritura para el dueo y para el resto no tendr permiso alguno, veamos cmo: pepito@losindios:/tmp/nuevodirectorio# chmod u-x,g-rwx,o-rwx primero pepito@losindios:/tmp/nuevodirectorio# pepito@losindios:/tmp/nuevodirectorio# ls -l total 0 -r-x------ 1 root root 0 2007-03-22 01:26 primero Vemos cmo cambiaron los permisos en este caso. 1.2.1 Cambio de permisos con notacin octal A diferencia de la notacin que hemos visto, la notacin octal es ms rpida y una vez comprendida ms sencilla. En principio indistintamente nuestro S.O. aceptar una u otra. Una notacin octal tiene solo tres cifras: I) La primera cifra corresponde al dueo II) La segunda cifra corresponde al grupo III) La tercera cifra corresponde a otros De esta forma si vemos escrito 777, el primer '7' corresponder al dueo, el segundo '7' corresponder al grupo y el tercero al resto. Ahora bien porqu 7? Este nmero se podr descomponer de la siguiente manera: 4+2+1=7 1) El primer nmero (4) corresponde a lectura. 2) El segundo nmero (2) corresponde a escritura. 3) El tercer nmero (1) corresponde a ejecucin. Esto significa que el primer nmero '7' indicara que para el dueo, hay permisos de lectura (4), escritura (2), y ejecucin (1). Supongamos por un momento que el dueo tuviera permisos de lectura y escritura, que el grupo tuviera permisos solamente de lectura, al igual que 'otros'

En este caso sera as: 1) Dueo: lectura (4), escritura (2), ejecucin (0) [este ltimo porque no hay permiso]. El total para el dueo sera 4+2+0=6 2) Grupo: lectura (4), escritura (0) [no hay permisos de escritura], ejecucin (0)= 4 3) Otros: lectura (4), escritura (0) [no hay permisos de escritura], ejecucin (0)= 4 De esta forma la lectura ser 644 A nuestro archivo 'primero' le vamos a cambiar sus permisos de forma que el dueo tenga permisos de lectura, escritura y ejecucin y tanto el grupo como 'otro' no tendr permiso alguno. La forma de escribirlo en consola sera as: root@losindios:/tmp/nuevodirectorio# chmod 700 Donde el primer 7 indica que: 4 (lectura) + 2 (escritura) + 1 (ejecucin)= 7 ser para el dueo. En cambio tanto el 'grupo' como 'otros' no tiene permiso alguno, as que el valor ser '0'. 1.3 Cambiar dueo (chown) Como hemos dicho anteriormente es posible cambiar el dueo de un arhivo/idrectorio. Para hacerlo utilizaremos el comando 'chown' como superusuario root de la siguiente manera: root@losindios:/tmp/nuevodirectorio# chown root primero root@losindios:/tmp/nuevodirectorio# ls -l total 0 -r-x------ 1 root root 0 2007-03-22 01:26 primero Observamos que mediante 'chown' hemos cambiado el archivo 'primero' de dueo. Ahora no pertenece ms a 'pepito' sino a 'root'. root@losindios:/tmp/nuevodirectorio# chown root:pepito primero root@losindios:/tmp/nuevodirectorio# ls -l total 0 -r-x------ 1 root pepito 0 2007-03-22 01:26 primero root@losindios:/tmp/nuevodirectorio# En este caso hemos usado 'chown' pero de una manera diferente. Al colocar luego de root (usuario) ':pepito', lo que hemos hecho es indicarle no solo el nuevo usuario, sino el grupo al que pertenece (que en este caso hemos querido que vuelva a ser 'nuevo'. Luego hemos comprobado todo con un 'ls-l' Ahora cambiaremos permisos a un directorio y a todo lo que hay dentro (esto se llama recursividad): root@losindios:/tmp/nuevodirectorio# chown -R root:nuevo /tmp/nuevodirectorio root@losindios:/tmp/nuevodirectorio# cd .. root@losindios:/tmp# ls -l total 44 drwx------ 2 pepito pepito 4096 2007-03-22 00:02 mc-nuevo drwxr-xr-x 2 root pepito 4096 2007-03-22 01:26 nuevodirectorio -rw------- 1 pepito pepito 7372 2007-03-22 00:03 zman5Lkfqd root@losindios:/tmp#

Hemos utilizado 'cd ..' para subir un nivel (ir hacia el directorio padre) y luego, al hacer un 'ls -l' listamos los directorios y sus permisos. Vemos que 'nuevodirectorio' ahora pertenece a root, siendo su grupo 'pepito'. Si vamos un nivel ms abajo, veremos lo siguiente: root@losindios:/tmp# cd /tmp/nuevodirectorio root@losindios:/tmp/nuevodirectorio# ls -l total 0 -r-x------ 1 root pepito 0 2007-03-22 01:26 primero root@losindios:/tmp/nuevodirectorio# Vemos que el dueo del archivo es ahora 'root' mientras que su grupo permanece siendo 'pepito'.

Вам также может понравиться