Tutoriales y trucos de computacion
Inicio
Tutoriales
¿Cómo...? en Unix
Tips para MS Office
Navegar en internet
Links
Productos en internet
Envíanos un tutorial

Registrate haciendo clic en el link para recibir las nuevas publicaciones en tu correo electrónico.

Subscribirse a Tutoriales y Trucos de Computacion por eMail









¿Quién está en línea?

Hay 2 invitados en línea

Google
 
Tutorial de Unix Básico Imprimir E-Mail
Calificación del usuario: / 48
MaloBueno 
Índice del Artículo
Tutorial de Unix Básico
Permisos de archivos
Manejo de archivos
Referencia de comandos

Permisos de archivos

Saber que permisos tiene un archivo o directorio 

Como ya comentamos, al utilizar la instrucción ls –a la primera columna te mostrará los permisos del archivo o carpeta pero que significa cada letra que aparece.

 

La columna de permisos de archivos, esta denotada por 10 caracteres que nos muestran la información al respecto de la siguiente manera:

drwxr-xr-x

El primero nos muestra información sobre el archivo o carpeta que señalar, una  d significa que es un directorio, l significa que es un archivo con un link y un significa que es un archivo.

Los siguientes 9 caracteres son 3 grupos que indican los permisos para el dueño del archivo (owner) la primera serie, para el grupo la segunda serie y para los demás usuarios la tercera serie. Cada serie esta compuesta de tres caracteres que pueden ser rwx  lo cual significa permisos de lectura (read), escritura (write) y ejecución (execution). Por ejemplo

drwxr-xr-x   7 mysql    mysql        512 jun 25 14:01 mysql-test

Por el primer caracter sabemos que mysql-test es un directorio

  • Por los caracteres 2,3 y 4 (primera serie de 3) sabemos que el propietario del archivo tiene permisos de lectura (r), escritura (w) y ejecución (x)
  • Por los caracteres 5,6 y 7 (segunda serie) que los miembros del grupo tienen permisos de lectura (r) y ejecución (x), pero no de escritura.
  • Por los caracteres 8,9 y 10 (tercera serie) que los demás usuarios tienen permisos de lectura (r) y ejecución (x), pero no de escritura.

Cambiando los permisos

Para cambiar los permisos de un archivo o directorio en Unix, utilizamos el comando chmod con la sintaxis:

chmod [-fR] <modo> archivo

-f sirve para que realice los cambios sin dar ninguna advertencia

-R para que sera recursivo, es decir si se aplica sobre un directorio los cambios también aplicarán a todos lo archivos y subdirectorios dentro de él

<modo> indica los permisos que tendrá el archivo y se especifica mediante 3 números producto de una conversion de binario a decimal donde el primer dígito indicara los permisos para el usuario, el segundo para el grupo y el tercero para todos los usuarios. La conversión se hace de la siguiente forma:

Definimos los permisos que queremos poner al archivo, por ejemplo rwxrwxr-x y a cada letra le asignamos el número 1 y a cada - el número 0 en notación binaria.

rwxrwxr-x  sería:

111111101 pero dividido en los tres grupos quedaría 111 111 101 y la conversión de cada grupo a número decimal sería como sigue:

111 en binario = 7 en decimal

101 en binario = 5 en decimal

por lo tanto el modo sería 775

Otro ejemplo para poner los permisos rwxr-xr--  ¿podrías hacer el ejercicio?

Respuesta: El código binario quedaría 111101100  entonces cada grupo sería 111 101 100 y la conversión:

111 en binario = 7 en decimal

101 en binario = 5 en decimal

100 en binario = 4 en decimal 

entonces el modo sería 754.

Practica ahora la forma inversa. Si un archivo tiene permisos 664 ¿que permisos tendría el usuario, cuales el grupo y cuales todos los demás usuarios? La respuesta esta al final de está página.

Cambiando propietario y grupo del archivo

Se utilizan los comandos chown y chgrp aunque realmente con el chown podrías cambiar los dos al mismo tiempo y la sintaxis es como sigue:

chown [-fhR] propietario[:grupo] archivo

chgrp [-fhR] grupo archivo

Las opciones -f y -R funcionan de manera similar a las del comando chmod. La opción -h cambia el propietario (o grupo) del archivo si es una liga simbólica (recuerda que esto lo sabemos si el primer caracter es una l. Ver explicación del comando ls -l)  Por ejemplo el siguiente comando cambia el propietario del achivo practica.txt para que sea el usuario jorge

chmod jorge practica.txt


Respuesta a la pregunta: Si un archivo tiene permisos 664 ¿que permisos tendría el usuario, cuales el grupo y cuales todos los demás usuarios? La respuesta esta al final de está página.

 

El primer 6 es para permisos del propietario, el segundo para permisos del grupo y el 4 para todos los demás usuarios entonces, haciendo la conversión de decimal a binario:

6 en decimal = 110 en binario

4 en decimal = 100 en binario

Por lo tanto del código binario de los permisos quedaría 110110100 y llevándolo a las letras de los permisos seria rw-rw-r-- los permisos sería lectura y escritura para el propietario y para el grupo y solo lectura para los demás usuarios.