Diferencia entre revisiones de «Sistema de ficheros»

De Guía Ubuntu
Saltar a: navegación, buscar
(#Ver también)
Línea 1: Línea 1:
 
[[Category:Conoce tu sistema]]
 
[[Category:Conoce tu sistema]]
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:, ...  
+
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 discos 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.  
 
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.  
Línea 8: Línea 8:
  
 
* '''/''': Raíz.
 
* '''/''': Raíz.
*'''/usr''': Aquí se encuentra la gran mayoría de los archivos existentes en un sistema linux, tales como documentación, casi la totalidad de los comandos de usuario, juegos, librerías, etc.
+
*'''/usr''': Aquí se encuentra la gran mayoría de los archivos existentes en un sistema Linux, tales como documentación, casi la totalidad de los comandos de usuario, juegos, librerías, etc.
 
* '''/bin''': Aquí están los comandos que pueden usar todos los usuarios (incluido el administrador o root).
 
* '''/bin''': Aquí están los comandos que pueden usar todos los usuarios (incluido el administrador o root).
 
* '''/sbin''': Aquí están los comandos que sólo puede usar el administrador o root.
 
* '''/sbin''': Aquí están los comandos que sólo puede usar el administrador o root.
Línea 20: Línea 20:
 
* '''/boot''': Aquí está todo lo necesario para arrancar el sistema.
 
* '''/boot''': Aquí está todo lo necesario para arrancar el sistema.
 
* '''/media''': Punto de montaje para sistemas de archivos montados localmente.
 
* '''/media''': Punto de montaje para sistemas de archivos montados localmente.
* '''/mnt''': Antiguo punto de montaje para sistemas de archivos montados localmente. Hoy en dia esta en desuso y se conserva por razones historicas.
+
* '''/mnt''': Antiguo punto de montaje para sistemas de archivos montados localmente. Hoy en día está en desuso y se conserva por razones históricas.
 
* '''/proc''': Sistema de archivos virtual de información de procesos y del kernel.
 
* '''/proc''': Sistema de archivos virtual de información de procesos y del kernel.
  
  
 
Algunas referencias de Archivos conocidos:
 
Algunas referencias de Archivos conocidos:
* '''/etc/apt/sources.list''': Este archivo configura la lista de repositorios para [[Activar universe y multiverse]]
+
* '''/etc/apt/sources.list''': Este archivo configura la lista de repositorios para [[Activar universe y multiverse]].
* '''/etc/X11/xorg.conf''': Este archivo define y configura el entorno grafico a cargar
+
* '''/etc/X11/xorg.conf''': Este archivo define y configura el entorno grafico a cargar.
 
* '''/etc/fstab''': Este archivo configura el acceso a los diferentes sistemas de archivos que hay en nuestro sistema.
 
* '''/etc/fstab''': Este archivo configura el acceso a los diferentes sistemas de archivos que hay en nuestro sistema.
  
Línea 39: Línea 39:
 
También existen tres tipos de roles sobre los que se aplican estos permisos. Un archivo pertenece a un usuario y a un grupo:
 
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 .
+
* '''Usuario''': El propietario del archivo.
 
* '''Grupo''': Grupo al que pertenece el archivo.
 
* '''Grupo''': Grupo al que pertenece el archivo.
 
* '''Otros''': Los demás usuarios.
 
* '''Otros''': Los demás usuarios.
Línea 49: Línea 49:
  
  
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.
+
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 en é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 ===
 
=== 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:
+
*Consola: El comando '''chmod''' se usa para designar los permisos de un archivo. Sólo 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
 
  chmod {a, u, g, o} {+, -} {r, w, x} nombre del archivo
Línea 63: Línea 63:
 
  '''o''' o '''a:''' corresponde al resto de los usarios, '''a''' para todos (all) y '''o''' para otros (others)
 
  '''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
+
Para autorizar o desautorizar el permiso:
 
  '''+:''' autoriza
 
  '''+:''' autoriza
 
  '''-:''' desautoriza
 
  '''-:''' desautoriza
Línea 108: Línea 108:
  
  
* 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''.
+
* Interfaz gráfica: También podrás cambiar los permisos de forma gráfica; sólo tienes que darle con el botón derecho del ratón sobre el directorio o el archivo al que quieras cambiar el permiso y seleccionar la pestaña ''permisos''.
 
[[imagen:permisos.jpg|thumb|center|Opciones gráficas de permisos]]
 
[[imagen:permisos.jpg|thumb|center|Opciones gráficas de permisos]]
  

Revisión de 19:47 9 nov 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 discos 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.

Referencias

Algunos de los directorios más interesantes:

  • /: Raíz.
  • /usr: Aquí se encuentra la gran mayoría de los archivos existentes en un sistema Linux, tales como documentación, casi la totalidad de los comandos de usuario, juegos, librerías, etc.
  • /bin: Aquí están los comandos que pueden usar todos los usuarios (incluido el administrador o root).
  • /sbin: Aquí están los comandos que sólo puede usar el administrador o root.
  • /dev: Ahí están todos los dispositivos de nuesta máquina.
  • /home: Lugar donde se almacenan las cuentas de usuarios.
  • /lib: Enlaces a las librerías que se necesitan para el sistema.
  • /var: Contiene información variable, como por ejemplo los logs del sistema (/var/log), correo local, etc.
  • /tmp: Directorio temporal.
  • /etc: Configuración global de los programas.
  • /root: Cuenta del administrador.
  • /boot: Aquí está todo lo necesario para arrancar el sistema.
  • /media: Punto de montaje para sistemas de archivos montados localmente.
  • /mnt: Antiguo punto de montaje para sistemas de archivos montados localmente. Hoy en día está en desuso y se conserva por razones históricas.
  • /proc: Sistema de archivos virtual de información de procesos y del kernel.


Algunas referencias de Archivos conocidos:

  • /etc/apt/sources.list: Este archivo configura la lista de repositorios para Activar universe y multiverse.
  • /etc/X11/xorg.conf: Este archivo define y configura el entorno grafico a cargar.
  • /etc/fstab: Este archivo configura el acceso a los diferentes sistemas de archivos que hay en nuestro sistema.

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 archivo.
  • 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 en é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. Sólo 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 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 lectura y ejecución al grupo
  3. Cediendo permiso de ejecución a cualquiera.


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

Ver también

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