0% encontró este documento útil (0 votos)
5 vistas8 páginas

Comandos chmod y chown en Linux

El documento describe cómo cambiar permisos y propietarios de archivos y directorios en sistemas Linux utilizando los comandos chmod y chown. Se explican las sintaxis, opciones y ejemplos de uso para asignar permisos en formato octal y simbólico, así como la estructura del sistema de archivos en Linux. Además, se mencionan los tipos de permisos y roles aplicables a los archivos, así como la forma de realizar estos cambios a través de la interfaz gráfica y la consola.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
5 vistas8 páginas

Comandos chmod y chown en Linux

El documento describe cómo cambiar permisos y propietarios de archivos y directorios en sistemas Linux utilizando los comandos chmod y chown. Se explican las sintaxis, opciones y ejemplos de uso para asignar permisos en formato octal y simbólico, así como la estructura del sistema de archivos en Linux. Además, se mencionan los tipos de permisos y roles aplicables a los archivos, así como la forma de realizar estos cambios a través de la interfaz gráfica y la consola.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

COMANDOS DE PERMISOS EN EL TERMINAL

Para cambiar los permisos de un archivo o directorio del servidor, tienes que
utilizar el comando chmod.

En general, cualquier comando de linux o unix tiene una ayuda, que puedes ver
invocando al comando, seguido con el parámetro -help. Algo como esto:

chmod –help

Este comando en concreto tiene varias sintaxis permitidas. De entre ellas por
ejemplo puedes utilizar:

chmod [opciones] modo-en-octal fichero

Las opciones podemos indicarlas o no, según queramos. Opciones típicas son:

 -R para que mire también en los subdirectorios de la ruta.


 -V para que muestre cada fichero procesado
 -C es como -v, pero sólo avisa de los ficheros que modifica sus permisos

El modo en octal es un número en base 8 (octal) que especifique el permiso. Los


números en octal se especifican empezando el número por un 0. Por ejemplo, 0777 es
indica todos los permisos posibles para todos los tipos de usuario. 0666 indica
que se dan permisos de lectura y escritura, pero no de ejecución. 0766 indica que
se dan permisos de lectura y escritura, pero sólo tienen permiso de ejecución para
los usuarios que son dueños del archivo. 0755 indica permisos para lectura y
ejecución, pero escritura sólo para el usuario que es dueño del archivo.

Por ejemplo:

chmod 0777 [Link]

Asigna todos los permisos al archivo [Link]

chmod 0666 *

Asigna permisos de lectura y escritura, no de ejecución a todos los archivos y


directorios del directorio donde ejecutamos el comando.

chmod -R 0644 *

Esto da permisos a todos los archivos y directorios del directorio donde se invoca
el comando y de todos los directorios que cuelgan de él. Los permisos asignados
son de lectura a todos los usuarios, de escritura sólo al dueño del archivo y de
ejecución a nadie.
Otro modo de trabajo con chmod

Luego también se pueden asignar permisos de otra manera, utilizando otra posible
sintaxis de chmod, que tal vez resulte más útil si no queremos tratar con los
valores en octal.

chmod [opciones] modo[,modo]… fichero

Para ello tenemos que tener claros los distintos grupos de usuarios:
 u: usuario dueño del fichero
 g: grupo de usuarios del dueño del fichero
 o: todos los otros usuarios
 a: todos los tipos de usuario (dueño, grupo y otros)

También hay que saber la letra que abrevia cada tipo de permiso:
 r: se refiere a los permisos de lectura
 w: se refiere a los permisos de escritura
 x: se refiere a los permisos de ejecución

Ejemplos

chmod o=rwx *

Asigna permisos de lectura, escritura y ejecución para los usuarios "otros" a


todos los archivos de la carpeta

chmod a=rwx [Link]

Asigna todos los permisos a todos los usuarios para el archivo [Link]

chmod go= *

Quita todos los permisos para los usuario del grupo y los usuarios otros.

chmod u=rwx,g=rw,o= *

Da todos los permisos al dueño del fichero, a los del grupo del dueño le asigna
permisos de lectura y escritura y a los otros usuarios les quita todos los
permisos.

Nota:un espacio después de la coma "," en los distintos modos de permisos


que se indiquen hace fallar el comando.

chmod a=r *

Da permisos únicamente de lectura a todos los tipos de usuario.


De un modo parecido a lo que acabamos de ver, también se pueden añadir o quitar
permisos con los operadores + y -. Para ello se indica el tipo de usuario y el
permiso que se resta o añade. Algo como esto:

chmod a-wrx *

Esto quita todos los permisos a todos los tipos de usuario.

chmod a+r,gu+w *

Este comando asigna permisos de lectura a todos los usuarios y permisos de


escritura al dueño del archivo y el grupo del dueño.

chmod u=w,a+r *

Este comando asigna permisos de escritura al usuario dueño y a todos los usuarios
les añade permiso de lectura.

Chown
La instrucción chown permite cambiar el propietario del fichero en sistemas tipo
UNIX.
Cada fichero de Unix tiene un propietario y un grupo, que se corresponden con el
usuario y el grupo de quien lo creó.

El usuario root puede cambiar a cualquier fichero el propietario. En algunos


sistemas está restringido el cambio de propietarios por medio de chown para
usuarios normales por motivos de seguridad. En los sistemas que están permitidos,
además de cambiarse el propietario, pueden alterarse otros indicadores del
archivo, como el sticky bit.

Sintaxis:

chown nuevousr archivo1 [ archivo2 archivo3...].


Cambia el propietario de archivo1 archivo2, etc. que pasará a ser nuevo
usuario
chown -R nuevo usuario directorio.
Cambia el propietario para que pase a ser nuevo usuario a directorio, todos
los archivos y subdirectorios contenidos en él, cambiándolos también de forma
recursiva en todos ficheros de los subdirectorios.

Ejemplo:

Si un archivo tiene estos propietarios:


$ ls -l /etc/hosts
-rw-r--r-- 1 root root 1013 Oct 3 13:11 /etc/hosts
... y se ejecuta:
chown admin /etc/hosts
... el nuevo propietario del archivo sería admin, tal y como se muestra:
$ ls -l /etc/hosts
-rw-r--r-- 1 admin root 1013 Oct 3 13:11 /etc/hosts

Otro ejemplo:

chown user1 *
...cambia el propietario a todos los archivos y directorios del directorio actual.
Todos pasarán a pertenecer al usuario user1.

chown -R user1 *

...además entraría recursivamente en todos los subdirectorios descendientes y


cambiaría el propietario a todos los archivos y directorios que hubiera.

chown -R user1:grupoX /ABC/DEF

En este último se asigna el usuario (user1) y el grupo (grupoX) al directorio


/ABC/DEF, recursivamente.

Sistema de Ficheros
De Guía Ubuntu

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 (Hard Disk ide A)
 El segundo disco duro es /dev/hdb (Hard Disk ide B)

El disco tendrá una o varias particiones, así las del primer disco duro (/dev/hda)
serán /dev/hda1, /dev/hda2, ... Éstas tiene el equivalente a lo que en Windows se
llama C:, D:, ...etc.

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 raíz (/) 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 nuestra 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/[Link]: Este archivo configura la lista de repositorios para


Añadir aplicaciones.
 /etc/X11/[Link]: Este archivo define y configura el entorno gráfico a
cargar.
 /etc/fstab: Este archivo configura el acceso a los diferentes sistemas de
archivos que hay en nuestro sistema.
 /etc/passwd: Este archivo controla el uso de usuarios, en contraseñas, con
permisos y grupos que pertenecen a cada usuario, archivo muy importante si
uno quiere tener un usario root más que el ya conocido root.
 /etc/readahead/boot y /etc/readahead/desktop: Estos archivos contienen la
lista de rutas de todos los archivos que se van a cargar en la memoria caché
durante el Inicio_del_sistema.

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.
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.-

Interfaz gráfica.
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.

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 usuarios, 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 combinaciones 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.
Cambio de Propietario/Grupo.-

Interfaz gráfica.

De forma gráfica solamente podrás cambiar el grupo al que pertenece un archivo.


Para hacerlo tienes que darle con el botón derecho del ratón sobre el directorio o
el archivo al que quieras cambiar el grupo y seleccionar la pestaña permisos.

Para poder cambiar también el usuario al que pertenece el archivo deberá usar la
consola. Mira más abajo para saber cómo hacerlo.

Consola.-
El cambio de propietario se hace empleando el comando chown:
chown (propietario):(grupo) (archivo)

Pondremos un ejemplo, supongamos que el usuario gaccardo desea darle una copia del
archivo [Link] al usuario pigu, el usuario pigu debe ser propietario de su copia
para poder modificarla. Para esto debe cambiar el propietario y el grupo
utilizando el comando chown.

Haciendo "ls -l" nos encontramos con un fichero asi:

-rwx-rw-r-- gaccardo gaccardo 435 sep 4 11:38 [Link]

Por lo que en este caso el usuario gaccardo (actual propietario) deberá hacer:

[gaccardo@servidor priv]chown pigu:pigu [Link]

Si vuelve a hacer "ls -l" encuentra que ha cambiado el actual propietario


-rwx-rw-r-- pigu pigu 435 sep 4 11:38 [Link]

También podría gustarte