Una ventana de terminal en un sistema Linux

Los archivos y directorios en los sistemas Linux pertenecen a alguien. Puede cambiar su propiedad con el chowncomando. 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 chown comando 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.

¿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 utilizar 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 raíz, pero desea que sea accesible para un usuario específico.

Visualización de sus grupos, UID y GID

Para enumerar los grupos en los que se encuentra, puede usar el groupscomando.

grupos

Para obtener una lista de los grupos, sus ID numéricos  y su UID y GID, use el idcomando:

identificación

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

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

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

ls -l

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

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 maryy el grupo al que pertenece el archivo es mary'sun grupo privado.

ls -l

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

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

Podemos usar lspara ver los cambios en las propiedades del archivo.

ls -l mientras.c

Puede utilizar chownpara cambiar la propiedad de varios archivos a la vez.

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

Esto cambia la propiedad del usuario de los tres archivos.

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

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

Todos los archivos ahora tendrán  marycomo propietario. Tenga en cuenta que no se ha cambiado ninguna propiedad del grupo.

ls -l maría c *. *

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

sudo chown mary ./archive/

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

ls -l -d ./archive/

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

sudo chown -R mary ./archive/

Ahora veamos los archivos en el directorio de archivos.

ls -l ./archive/

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

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

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

ls -l encanto.c

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

ls -l mayúsculas.c

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

ls -l en.c

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 chowncomando. Este comando establecerá la propiedad del usuario y del grupo en mary.

sudo chown 1001: 1001 at.c

ls -l en.c

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

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