¿Qué es el comando Chown en Linux y cómo usarlo?
En los sistemas operativos Linux, cada archivo está asociado con la propiedad de un grupo y un propietario. Un comando chown de Linux es una abreviatura para “change owner” (cambiar de propietario). El superusuario puede usarlo en cualquier sistema similar a Unix. Aquí aprenderás cómo puede beneficiarte y cómo comenzar a usarlo en tu servidor VPS.
Con las opciones chown, se puede cambiar la propiedad de los archivos, directorios y enlaces. Si un usuario normal desea realizar ciertos cambios en un archivo, un superusuario puede usar comandos chown para cambiar la propiedad y permitirlos.
Tabla de Contenidos
Visualizando la información de propiedad
Primero, deberás iniciar sesión en tu VPS utilizando SSH. Si necesitas un recordatorio, aquí hay un tutorial que cubre todo lo que necesitas saber.
Antes de usar el comando chown, tendríamos que confirmar la información del usuario y del grupo. Puedes obtener esta información mediante el uso de cd y navegando al directorio requerido.
Por ejemplo, si la ruta del archivo es /tmp/TestUnix, ve allí con el siguiente comando:
cd /tmp/TestUnix
Aquí puedes listar los archivos dentro del directorio con el siguiente comando:
ls -l
Para este tutorial creamos un archivo llamado chownSample.txt en el directorio. El resultado del comando anterior sería:
-rw-r--r-- 1 root root 0 Feb 20 17:35 chownSample.txt
Aquí la primera parte -rw-r–r–, representa los permisos del archivo. La primera raíz representa la información de propiedad y la segunda raíz representa la información del grupo. En el ejemplo anterior, chownSample.txt tiene propiedad de la raíz (root) y la raíz pertenece al grupo raíz.
Chown para archivos
Para cambiar el propietario de un archivo, el formato básico del comando es:
chown user filename(s)
Para el mismo archivo chownSample.txt, cambiemos la propiedad para que ya no sea la raíz sino otro usuario llamado whales. A continuación se muestra una muestra de este comando:
chown whales chownSample.txt
Para verificar el cambio de propiedad, puedes usar nuevamente el comando ls -l. Esto dará la salida como se muestra a continuación:
-rw-r--r-- 1 whales root 0 Feb 20 17:45 chownSample.txt
El comando se puede modificar para cambiar el grupo. El formato básico para cambiar la propiedad y el grupo es:
chown user[:group] filename(s)
Si queremos cambiar el mismo archivo chownSample.txt al propietario whales y al grupo aquatic, entonces el comando será:
chown whales:aquatic chownSample.txt
Para verificar el cambio de propiedad y grupo, puede usar ls -l. La salida de este comando es:
-rw-r--r-- 1 whales aquatic 0 Feb 20 17:50 chownSample.txt
Si solo se debe cambiar el grupo, entonces podemos omitir al propietario. Como ejemplo, podrías escribir esto en la línea de comando:
chown :aquatic chownSample.txt
Chown realiza funciones similares a chgrp cuando no se proporciona la información del propietario. Este comando también se puede usar con múltiples opciones.
Una estructura genérica del comando chown con opciones sería:
chown [OPTIONS] [USER] [:GROUP] filename(s)
Chown para directorios
Chown también se puede aplicar para directorios. Este puede contener solo archivos o solo directorios o una combinación de ambos.
Digamos que tenemos un directorio con el nombre TestUnix, podemos usar el comando ls -l para ver los permisos. Una muestra de esta salida será:
drwxr-xr-x 2 root root 4096 Feb 20 17:35 TestUnix
Aquí la primera parte drwxr-xr-x, representa el permiso para la carpeta. La primera raíz es la información de propiedad y la segunda raíz es la información del grupo. En este ejemplo, TestUnix tiene propiedad raíz y grupo raíz.
De manera similar a los archivos, podemos cambiar la propiedad y el grupo de los directorios. Una muestra de este comando será:
chown whales /TestUnix
Para cambiar solamente el grupo, puedes usar:
chown :aquatic /TestUnix
Para cambiar el propietario y el grupo del archivo, puedes usar:
chown whales:aquatic /TestUnix
El mismo comando también se puede utilizar para proporcionar múltiples archivos o directorios. Una muestra de este comando tiene el formato:
chown [OPTIONS] [USER][:GROUP] file1 file2
Una muestra de dicho comando es:
chown whales:aquatic /tmp/TestUnix/chownSample.txt /tmp/TestUnix
Chown para enlaces
El comando Chown se puede usar en enlaces simbólicos o enlaces blandos. Un enlace simbólico es una referencia a un archivo físico existente. El comando ln se usa para crear enlaces blandos. Para un archivo chownSample.txt, se puede crear un enlace simbólico como:
ln -s chownSample.txt symlink
Para verificar la propiedad y la información del grupo, podemos usar el comando ls -l. Esto producirá resultados como se muestra a continuación:
-rw-r--r-- 1 root root 0 Feb 19 22:01 chownSample.txt lrwxr-xr-x 1 root root 5 Feb 19 7 22:01 symlink -> chownSample.txt
Hay dos entradas disponibles. Una es para el archivo físico y la otra para el enlace simbólico. Para hacer esto, si intentamos cambiar la propiedad usando el siguiente comando:
chown whales symlink
El comando anterior cambia la propiedad del archivo chownSample.txt. Entonces, la salida del comando ls -l para esto será como se ve a continuación:
-rw-r--r-- 1 whales root 0 Feb 19 22:01 chownSample.txt lrwxr-xr-x 1 root root 5 Feb 19 7 22:01 symlink -> chownSample.txt
Si queremos cambiar la propiedad del enlace simbólico, debemos usar la opción -h. El comando sería:
chown -h whales symlink
Aquí, si usamos el comando ls -l, la salida será la que se ve a continuación, donde la propiedad del enlace simbólico ha cambiado:
-rw-r--r-- 1 whales root 0 Feb 19 22:01 chownSample.txt lrwxr-xr-x 1 whales root 5 Feb 19 7 22:01 symlink -> chownSample.txt
Uso recursivo de Chown
El comando Chown se puede usar sobre directorios; sin embargo, podríamos tener una estructura de directorio recursiva y podríamos querer cambiar la propiedad de todos los archivos y directorios.
El uso recursivo del comando chown garantiza que todos los directorios y subdirectorios puedan tener un cambio de propiedad o grupo.
Para una operación recursiva, necesitamos usar la opción -R. Una muestra de este comando sería:
chown -R [USER][:GROUP] Directory
Si tenemos un directorio como TestUnix con varios subdirectorios, entonces el siguiente comando cambiará la propiedad de todos los directorios y subdirectorios al usuario whales.
chown -R whales /TestUnix
Conclusión
Eso es todo, ahora ya sabes los conceptos básicos del comando chown de Linux. Los sistemas Unix proporcionan una página de manual para cada comando. Esto te ayudará a dominar completamente el comando y sus posibilidades. Puedes encontrar el manual ejecutando man chown. Esperamos que esto te ayude a administrar tus archivos del VPS de una manera segura y eficiente.