Cómo usar el comando chown en Linux

Los archivos y directorios en los sistemas Linux pertenecen a alguien. Puede cambiar su propiedad con el comando chown. Te mostramos cómo.

Cada archivo pertenece a un usuario y a un grupo

Linux es un sistema multiusuario. El sistema operativo permite definir múltiples cuentas de usuario y que cualquier usuario válido inicie sesión en la computadora. Además, varios usuarios pueden utilizar una sola computadora al mismo tiempo.

Para mantener un registro de qué archivos pertenecen a qué usuario y para imponer cierta seguridad, Linux usa el concepto de propiedad. Cada archivo pertenece a un propietario, un usuario, y a un grupo.

Cuando se crea un archivo, su propietario es el usuario que lo creó. El grupo al que pertenece el archivo, el grupo «propietario», es el grupo actual del usuario. Los usuarios y grupos tienen nombres, y también tienen identidades numéricas, llamadas identificador de usuario (o único) (UID) e identificador de grupo (GID).

Cuando crea un archivo, es de su propiedad y pertenece a su grupo actual. Por lo general, este es el grupo en el que ha iniciado sesión. De forma predeterminada, este es un grupo que comparte el mismo nombre que su nombre de usuario y se creó cuando usted fue creado como usuario en el sistema.

Puede usar el comando chown para cambiar los valores de propiedad a otra cosa. Puede establecer un nuevo propietario, un nuevo grupo o un nuevo propietario y un nuevo grupo al mismo tiempo. El propietario de un archivo puede cambiar la propiedad del grupo, pero solo el root puede cambiar la propiedad del usuario porque eso involucra a otro usuario. Sin privilegios de root, no puede hacer que otro usuario del sistema «adopte» un archivo sin saberlo.

  Cómo configurar el servidor RocketChat en Linux

¿Por qué querría cambiar la propiedad?

A continuación, se muestran algunos ejemplos de situaciones en las que es posible que desee hacer esto:

Si transfiere archivos entre diferentes sistemas operativos Linux o similares a Unix, deberá cambiar los propietarios de usuarios y grupos por los nuevos propietarios de usuarios y grupos de la cuenta en la que desea usar los archivos en la nueva computadora Linux.
Un usuario puede dejar su organización y todos sus archivos serán responsabilidad de otro miembro del personal. Deberá cambiar el propietario y el propietario del grupo al miembro del personal que ahora es responsable de esos archivos.
Puede crear un script que vaya a ser utilizado por un usuario específico.
Puede crear un archivo o directorio conectado como root, pero desea que sea accesible para un usuario específico.

Visualización de sus grupos, UID y GID

A enumerar los grupos en el que se encuentra, puede utilizar el comando grupos.

groups

grupos en una ventana de terminal

Para obtener una lista de los grupos, sus ID numéricos, y tu UID y GID, use el comando id:

id

id en una ventana de terminal

Puede usar algunas opciones con ID para refinar la salida.

-u: Muestra su UID.
-g: enumere su GID efectivo (actual).
-nu: muestra su nombre de usuario.
-ng: muestra el nombre de su grupo actual.

id -u
id -g
id -nu
id -ng

salida del comando id en una ventana de terminal

Visualización de la propiedad del usuario y del grupo de un archivo

Para ver los propietarios de un archivo o directorio, use la opción -l (lista larga) con ls.

ls -l
ls -l en una ventana de terminal

Podemos ver que el nombre dave aparece dos veces en el listado. La apariencia más a la izquierda nos dice que el propietario del archivo es un usuario llamado dave. El dave situado más a la derecha nos dice que el archivo pertenece a un grupo que también se llama dave.

  Cómo instalar el tema Papirus Icon en Linux

De forma predeterminada, cuando se crea un usuario de Linux, se agrega a un grupo privado con el nombre de su nombre de usuario. Son el único miembro de ese grupo.

Este archivo ejecutable es propiedad del usuario mary y el grupo al que pertenece el archivo es el grupo privado de mary.

ls -l

ls -l en una ventana de terminal

Este archivo es propiedad del usuario oscar, pero el grupo al que pertenece el archivo se llama researchlab. Esto significa que otros miembros del grupo researchlab pueden acceder a este archivo, de acuerdo con los permisos de archivo que se hayan establecido para los miembros de ese grupo.

ls -l en una ventana de terminal

Cambiar la propiedad del usuario

Trabajemos con algunos ejemplos. Este comando cambiará la propiedad del usuario del archivo while.c al usuario mary.

sudo chown mary while.c

sudo chown mary while.c en una ventana de terminal

Podemos usar ls para ver los cambios en las propiedades del archivo.

ls -l while.c

ls -l while.c en una ventana de terminal

Puede usar chown para cambiar la propiedad de varios archivos a la vez.

sudo chown mary getval.c global.c goto.c

sudo chown mary getval.c global.c goto.c en una ventana de terminal

Esto cambia la propiedad del usuario de los tres archivos.

ls -l getval.c global.c goto.c

ls -l getval.c global.c goto.c en una ventana de terminal

Puede utilizar comodines para seleccionar grupos de archivos. Este comando cambiará la propiedad del usuario de todos los archivos que comiencen con la letra «c».

sudo chown mary c*.*

sudo chown mary c *. * en una ventana de terminal

Todos los archivos ahora tendrán a Mary como su propietaria. Tenga en cuenta que no se ha cambiado ninguna propiedad del grupo.

ls -l mary c*.*

ls -l mary c *. * en una ventana de terminal

Cambiemos la propiedad de un directorio. Simplemente pasamos el nombre del directorio a chown en lugar de un nombre de archivo.

sudo chown mary ./archive/

sudo chown mary ./archive/ en una ventana de terminal

Para verificar las propiedades de propiedad del directorio usamos ls, pero también usamos la opción -d (directorio). Esto enumera las propiedades del directorio, no los archivos dentro de él.

ls -l -d ./archive/

ls -l -d ./archive/ en una ventana de terminal

Para cambiar la propiedad de todos los archivos en un directorio, puede usar la opción -R (recursiva). Esta opción cambiará la propiedad del usuario de todos los archivos dentro de la carpeta de archivo.

sudo chown -R mary ./archive/

sudo chown -R mary ./archive/ en una ventana de terminal

Ahora veamos los archivos en el directorio de archivos.

ls -l ./archive/

ls -l ./archive/ en una ventana de terminal

Como era de esperar, todos los archivos ahora pertenecen a Mary.

  Cómo instalar MicroPad en Linux

Cambiar la propiedad del grupo

Hay diferentes formas de cambiar la propiedad del grupo.

Para cambiar la propiedad del grupo al mismo tiempo que cambia la propiedad del usuario, pase el nombre del nuevo propietario y el nombre del nuevo grupo con dos puntos “:” separándolos. El grupo ya debe existir.

sudo chown mary:researchlab charm.c

sudo chown mary: researchlab charm.c en una ventana de terminal

El propietario del usuario y el grupo al que pertenece el archivo se han modificado.

ls -l charm.c

ls -l charm.c en una ventana de terminal

Una forma abreviada de cambiar la propiedad del grupo al grupo actual del nuevo propietario, simplemente proporcione los dos puntos y omita el nombre del grupo.

sudo chown mary: caps.c

sudo chown mary: caps.c en una ventana de terminal

ls -l caps.c

ls -l caps.c en una ventana de terminal

Tanto la propiedad del usuario como la propiedad del grupo se han cambiado a mary.

Para cambiar solo la propiedad del grupo, antepóngalo con dos puntos y omita el nombre de usuario. El propietario del usuario no se modificará.

sudo chown :researchlab at.c

sudo chown: researchlab at.c en una ventana de terminal

ls -l at.c

ls -l at.c en una ventana de terminal

Se ha cambiado la propiedad del grupo, pero la propiedad del usuario sigue siendo la misma.

Uso de Chown con valores UID y GID

Puede utilizar los valores numéricos de UID y GID con el comando chown. Este comando establecerá la propiedad del usuario y del grupo en mary.

sudo chown 1001:1001 at.c

sudo chown 1001: 1001 at.c en una ventana de terminal

ls -l at.c

ls -l at.c en una ventana de terminal

La posesión es nueve décimas partes de la ley

O eso dicen. Pero en Linux, la propiedad es una parte masiva de la seguridad de los archivos, y los permisos de los archivos proporcionan el resto. Utilice los comandos chown y chmod para proteger el acceso a archivos en su sistema.