Diferencia entre revisiones de «Sistema de ficheros»

De Guía Ubuntu
Saltar a: navegación, buscar
Línea 58: Línea 58:
 
El comando '''chmod''' también acepta otros valores para cambiar los permisos. Es probable que hayas visto algo como:
 
El comando '''chmod''' también acepta otros valores para cambiar los permisos. Es probable que hayas visto algo como:
  
  sudo chmod 755 [nombre del archivo]
+
  sudo chmod 751 [nombre del archivo]
  
 
Es otro modo de gestionar los permisos; de forma binaria. El sistema es muy simple y cómodo: se considera un bit para lectura ('''r''') otro para escritura ('''w''') y otro para ejecución ('''x'''). Las combianciones posibles son ocho y se muestran en la tabla siguiente:
 
Es otro modo de gestionar los permisos; de forma binaria. El sistema es muy simple y cómodo: se considera un bit para lectura ('''r''') otro para escritura ('''w''') y otro para ejecución ('''x'''). Las combianciones posibles son ocho y se muestran en la tabla siguiente:
Línea 84: Línea 84:
 
Un uno equivale a activar y un cero a desactivar los permisos.
 
Un uno equivale a activar y un cero a desactivar los permisos.
 
El equivalente decimal de los permisos se aplica en orden: dueño, grupo y cualquiera ('''u''','''g''','''a''').
 
El equivalente decimal de los permisos se aplica en orden: dueño, grupo y cualquiera ('''u''','''g''','''a''').
Entonces en el ejemplo anterior el valor 755 actúa:
+
Entonces en el ejemplo anterior el valor 751 actúa:
  
 
#Cediendo todos los permisos al dueño
 
#Cediendo todos los permisos al dueño
#Cediendo permiso de escritura y ejecución al grupo y a cualquiera.  
+
#Cediendo permiso de escritura y ejecución al grupo
 +
#Cediendo permiso de ejecución a cualquiera.  
  
  

Revisión de 20:41 12 ago 2006

Si vienes del mundo de Windows lo primero que te sorprenderá es que no está la unidad C:. La distribución de los discos y particiones en Linux es diferente. Ya en la instalación te puedes dar cuenta cómo se nombran los disco en Linux: el primer disco duro es /dev/hda, el segundo disco duro es /dev/hdb, etc. Las particiones del primer disco duro (/dev/hda) serán /dev/hda1, /dev/hda2, ... Éstas últimas son equivalentes a lo que en Windows se llama C:, D:, ...

En Linux todo es un archivo, y cuando digo todo es todo. Desde los archivos de datos hasta las particiones de los discos pasando por el ratón y la tarjeta de sonido. Los directorios también son archivos. Existe un directorio raiz (/) del que cuelga todo. Los dispositivos cuelgan del directorio /dev.

Algunos de los directorios más interesantes:

  • /dev: Ahí están todos los dispositivos de nuesta máquina.
  • /home: Lugar donde se almacenan las cuentas de usuarios.
  • /var/log: Almacén de los ficheros de log de las aplicaciones.
  • /tmp: Directorio temporal.
  • /etc: Configuración global de los programas.

Los permisos

El sistema de permisos de Linux es simple y efectivo. Existen tres tipos de permisos:

  • Ejecución: Si es para un archivo será ejecutable y si es para un directorio significa que podemos pasar por él. Es representado por una X.
  • Lectura: Si es para un archivo significa que podemos leerlo y si es un directorio es que podemos leerlo también. Es representado por una R.
  • Escritura: Si es para un archivo será que podemos escribir en él y si es para un directorio significa que podemos crear ficheros dentro de él. Es representado por una W


También existen tres tipos de roles sobre los que se aplican estos permisos. Un archivo pertenece a un usuario y a un grupo:

  • Usuario: El propietario del archivos .
  • Grupo: Grupo al que pertenece el archivo.
  • Otros: Los demás usuarios.

Veamos un ejemplo:

$ ls -l pg_backup.sh
-rwxr-x---  1  pepito usuarios  453  2005-02-17  09:35  pg_backup.sh


El archivo pg_backup.sh pertenece al usuario pepito y al grupo usuarios. Los permisos que tiene para el usuario son rwx lo que significa que el usuario pepito puede leer el archivo, escribir el él y ejecutarlo. Por la extensión vemos que es un script, por lo que es normal que se pueda ejecutar. Para el grupo tiene los permisos r-x. Eso significa que los miembros del grupo usuarios pueden leer el archivo y ejecutarlo, pero no modificarlo. Los permisos para los demás usuarios (otros) son ---, por lo que un usuario que no sea pepito ni pertenezca al grupo usuarios no podrá leer, escribir ni ejecutar el archivo.

Cambio de permisos

  • Consola: El comando chmod se usa para designar los permisos de un archivo. Solo el dueño del archivo y el root pueden cambiar los permisos. La sintaxis de chmod es:
chmod {a, u, g, o} {+, -} {r, w, x} nombre del archivo

donde:

u: corresponde al dueño del archivo
g: corresponde al grupo
o o a: corresponde al resto de los usarios, a para todos (all) y o para otros (others)

Para para autorizar o desautorizar el permiso

+: autoriza
-: desautoriza
=: resetea los permisos

Los tipos de permisos son:

r: lectura
w: escritura
x: ejecución

El comando chmod también acepta otros valores para cambiar los permisos. Es probable que hayas visto algo como:

sudo chmod 751 [nombre del archivo]

Es otro modo de gestionar los permisos; de forma binaria. El sistema es muy simple y cómodo: se considera un bit para lectura (r) otro para escritura (w) y otro para ejecución (x). Las combianciones posibles son ocho y se muestran en la tabla siguiente:

Decimal r w x
0 0 0 0
1 0 0 1
2 0 1 0
3 0 1 1
4 1 0 0
5 1 0 1
6 1 1 0
7 1 1 1

Un uno equivale a activar y un cero a desactivar los permisos. El equivalente decimal de los permisos se aplica en orden: dueño, grupo y cualquiera (u,g,a). Entonces en el ejemplo anterior el valor 751 actúa:

  1. Cediendo todos los permisos al dueño
  2. Cediendo permiso de escritura y ejecución al grupo
  3. Cediendo permiso de ejecución a cualquiera.


  • Interfaz gráfica: Tambien podrás cambiar los permisos de forma gráfica; sólo tienes que darle con el boton derecho del ratón sonbre el directorio o el archivo al que quieras cambiar el permiso y seleccionar la pestaña permisos.
Opciones gráficas de permisos

Este artículo es, por ahora, sólo un esbozo.
Ampliándolo ayudarás a mejorar Guía Ubuntu.