GNU/Linux >> Tutoriales Linux >  >> Linux

Introducción al comando chown de Linux

Cada archivo y directorio en un sistema Linux es propiedad de alguien, y el propietario tiene control total para cambiar o eliminar los archivos que posee. Además de tener un usuario propietario , un archivo tiene un grupo propietario .

Puede ver la propiedad de un archivo mediante ls -l comando:

[pablo@workstation Downloads]$ ls -l
total 2454732
-rw-r--r--. 1 pablo pablo 1934753792 Jul 25 18:49 Fedora-Workstation-Live-x86_64-30-1.2.iso

Las columnas tercera y cuarta de la salida son el usuario y el grupo propietarios, que juntos se denominan propiedad . Ambos son pablo para el archivo ISO anterior.

La configuración de propiedad, establecida por chmod comando, control quién puede realizar acciones de lectura, escritura o ejecución. Puedes cambiar la propiedad (una o ambas) con el chown comando.

A menudo es necesario cambiar de propietario. Los archivos y directorios pueden vivir mucho tiempo en un sistema, pero los usuarios pueden ir y venir. Es posible que también sea necesario cambiar la propiedad cuando los archivos y directorios se mueven por el sistema o de un sistema a otro.

La propiedad de los archivos y directorios en mi directorio de inicio son mi usuario y mi grupo principal, representados en la forma usuario:grupo . Supongamos que Susan está administrando el grupo Delta, que necesita editar un archivo llamado mynotes. . Puedes usar el chown comando para cambiar el usuario a susan y el grupo a delta :

$ chown susan:delta mynotes
ls -l
-rw-rw-r--. 1 susan delta 0 Aug  1 12:04 mynotes

Una vez que el grupo Delta haya terminado con el archivo, me lo pueden volver a asignar:

$ chown alan mynotes
$ ls -l mynotes
-rw-rw-r--. 1 alan delta 0 Aug  1 12:04 mynotes

Tanto el usuario como el grupo se me pueden volver a asignar agregando dos puntos (: ) al usuario:

$ chown alan: mynotes
$ ls -l mynotes
-rw-rw-r--. 1 alan alan 0 Aug  1 12:04 mynotes

Al anteponer dos puntos al grupo, puede cambiar solo el grupo. Ahora miembros de la gamma el grupo puede editar el archivo:

$ chown :gamma mynotes
$ ls -l
-rw-rw-r--. 1 alan gamma 0 Aug  1 12:04 mynotes

Algunos argumentos adicionales para chown pueden ser útiles tanto en la línea de comandos como en un script. Al igual que muchos otros comandos de Linux, chown tiene un argumento recursivo (-R ) que le dice al comando que descienda al directorio para operar en todos los archivos que contiene. Sin la -R marca, cambia los permisos de la carpeta solamente, dejando los archivos dentro de ella sin cambios. En este ejemplo, suponga que la intención es cambiar los permisos de un directorio y todo su contenido. Aquí he añadido el -v argumento (verboso) para que chown informe lo que está haciendo:

$ ls -l . conf
.:
drwxrwxr-x 2 alan alan 4096 Aug  5 15:33 conf

conf:
-rw-rw-r-- 1 alan alan 0 Aug  5 15:33 conf.xml

$ chown -vR susan:delta conf
changed ownership of 'conf/conf.xml' from alan:alan to  susan:delta
changed ownership of 'conf' from alan:alan to  susan:delta

Dependiendo de su función, es posible que deba usar sudo para cambiar la propiedad de un archivo.

Más recursos de Linux

  • Hoja de trucos de los comandos de Linux
  • Hoja de trucos de comandos avanzados de Linux
  • Curso en línea gratuito:Descripción general técnica de RHEL
  • Hoja de trucos de red de Linux
  • Hoja de trucos de SELinux
  • Hoja de trucos de los comandos comunes de Linux
  • ¿Qué son los contenedores de Linux?
  • Nuestros últimos artículos sobre Linux

Puede usar un archivo de referencia (--reference=RFILE ) al cambiar la propiedad de los archivos para que coincidan con una determinada configuración o cuando no conoce la propiedad (como podría ser el caso al ejecutar un script). Puede duplicar el usuario y el grupo de otro archivo (RFILE , conocido como archivo de referencia), por ejemplo, para deshacer los cambios realizados anteriormente. Recuerda que un punto (. ) se refiere al directorio de trabajo actual.

$ chown -vR --reference=. conf

Informar cambios

La mayoría de los comandos tienen argumentos para controlar su salida. El más común es -v (--detallado ) para habilitar verbose, pero chown también tiene una -c (--cambios ) argumento para indicar a chown que informe solo cuando se realice un cambio. Chown aún informa otras cosas, como cuando una operación no está permitida.

El argumento -f (--silencio , --silencio ) se utiliza para suprimir la mayoría de los mensajes de error. Usaré -f y la -c en la siguiente sección para que solo se muestren los cambios reales.

Preservar raíz

La raíz (/ ) del sistema de archivos de Linux debe tratarse con gran respeto. Si se comete un error a este nivel, las consecuencias podrían dejar un sistema completamente inútil. Particularmente cuando está ejecutando un comando recursivo que realiza algún tipo de cambio o peor:eliminaciones. El comando chown tiene un argumento que se puede usar para proteger y preservar la raíz. El argumento es --preserve-root . Si este argumento se usa con un comando chown recursivo en la raíz, no se hace nada y aparece un mensaje en su lugar.

$ chown -cfR --preserve-root alan /
chown: it is dangerous to operate recursively on '/'
chown: use --no-preserve-root to override this failsafe

La opción no tiene efecto cuando no se usa junto con --recursive . Sin embargo, si el usuario root ejecuta el comando, los permisos de / se cambiará, pero no de otros archivos o directorios dentro.

$ chown -c --preserve-root alan /
chown: changing ownership of '/': Operation not permitted
[root@localhost /]# chown -c --preserve-root alan /
changed ownership of '/' from root to alan

La propiedad es seguridad

La propiedad de archivos y directorios es parte de una buena seguridad de la información, por lo que es importante verificar y mantener ocasionalmente la propiedad de los archivos para evitar accesos no deseados. El comando chown es uno de los más comunes e importantes en el conjunto de comandos de seguridad de Linux.


Linux
  1. Una introducción al uso de tcpdump en la línea de comandos de Linux

  2. Domina el comando ls de Linux

  3. Introducción al comando de alternativas en Linux

  4. Una introducción al comando diff

  5. El comando de localización en Linux

Cómo Chown recursivamente en Linux

20 ejemplos prácticos del comando Chown en Linux

Ejemplos esenciales del comando ps en Linux

¿Qué es el comando matar en Linux?

Entendiendo el comando time en Linux

Uso del comando grep en Linux