Tabla de contenidos
Los archivos y directorios en los sistemas Linux pertenecen a alguien. Puede cambiar su propiedad con el chown
comando. 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. Por defecto, este es un grupo que comparte el mismo nombre que su nombre de usuario y fue creado 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 root, 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 groups
comando.
grupos
Para obtener una lista de los grupos, sus ID numéricos y su UID y GID , use el id
comando:
carné de identidad
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 -l
opción (lista larga) con ls
.
ls -l
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 de la derecha dave
nos 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 mary
y el grupo al que pertenece el archivo es mary's
un grupo privado.
ls -l
Este archivo es propiedad del usuario oscar
, pero se llama al grupo al que pertenece el archivo researchlab
. Esto significa que otros miembros del researchlab
grupo 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 ls
para ver los cambios en las propiedades del archivo.
ls -l mientras.c
Puede utilizar chown
para 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 mary
como 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 chown
lugar 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 -d
opció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 -R
opción (recursiva). Esta opción cambiará la propiedad del usuario de todos los archivos dentro de la archive
carpeta.
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 chown
comando. 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 chown
y chmod
para proteger el acceso a archivos en su sistema.