De vez en cuando, se enfrentará a la posibilidad de cambiar los permisos de archivos y carpetas. El comando chown de Linux le permite modificar los permisos de archivos y directorios según lo considere oportuno. Esto resulta útil, especialmente al configurar funciones y servicios. Veamos cómo se puede usar el comando.
Sintaxis del comando chown de Linux
La sintaxis para el uso del comando chown es la siguiente:
chown [option] [owner]:[group] file
Echemos un vistazo a un par de opciones que vienen con el comando.
Cambiar la propiedad del archivo
¿Cómo se cambia la propiedad de un archivo? La sintaxis es bastante simple, como se muestra a continuación.
chown [owner] file
Veamos un archivo 'newfile.txt'
creado por el usuario 'james'. De forma predeterminada, este archivo pertenece al usuario "james" y al grupo "james", como se muestra en el resultado a continuación.
ls -l
como se muestra a continuación.
Salida de muestra
Como se ilustra, el primer atributo después de los permisos del archivo denota el usuario quién es el propietario del archivo y el segundo atributo indica el grupo al que pertenece el archivo.
Para cambiar la propiedad del archivo a un usuario diferente, por ejemplo, usuario raíz, ejecute:
chown root newfile.txt
Para verificar el cambio de propiedad, una vez más use el ls -l
comando.
Salida de muestra
A veces, puede enfrentar problemas de permisos al ejecutar el comando chown. Por ejemplo, cambiar la propiedad de un archivo que pertenece a otro usuario. En ese caso, ejecute el comando con sudo y asegúrese de que el usuario tenga los privilegios de sudo.
Cambiar el grupo al que pertenece un archivo
Del ejemplo anterior, logramos cambiar la propiedad de un archivo de un usuario a otro. Sin embargo, si fue lo suficientemente entusiasta, debe haber observado que el grupo no cambió. Cambiar el grupo al que pertenece un archivo es muy similar a cambiar el usuario. La sintaxis difiere un poco como se muestra
chown :[group-name] [file-name]
Por ejemplo, para cambiar la propiedad del grupo a raíz ejecución de usuario
chown :root newfile.txt
Salida de muestra
Esta vez, hemos logrado cambiar el grupo del archivo.
Cambiar el usuario y el grupo al que pertenece el archivo en un solo comando
Si desea facilitar su trabajo y cambiar tanto el usuario como el grupo al que pertenece el archivo, utilice la sintaxis
chown user:group newfile.txt
Por ejemplo, para cambiar tanto el usuario como el grupo a 'james 'ejecutar:
chown james:james newfile.txt
Salida de muestra
Cambiar la propiedad del directorio
Hablemos ahora sobre cambiar la propiedad de los directorios. La sintaxis sigue siendo bastante similar,
chown user:group ./directory-name/
Tengo un directorio llamado linux
creado por el usuario root y contiene 3 archivos de texto:
file1.txt
file2.txt
file3.txt
Para cambiar el usuario y el grupo a "james", ejecute
chown james:james ./linux/
Salida de muestra
Como bien ha observado, a pesar de cambiar el usuario y el grupo al que pertenece el directorio, el contenido del directorio permanece inalterado. Para distribuir en cascada las propiedades de los archivos hasta el contenido de la carpeta, vamos a cambiar los permisos de forma recursiva, como aprenderá en el siguiente subtema.
Cambia recursivamente los permisos de archivo de un directorio
Para efectuar los permisos de archivo de forma recursiva, use -R
opción
chown -R root:root linux
Salida de muestra
De la salida, podemos ver claramente que los permisos de archivo se han efectuado en los archivos contenidos en el directorio 'linux'.
Cambiar UID y GID de un archivo
En lugar de especificar el usuario o grupo en el comando chown, se puede optar por especificar el GID o UID al que pertenecerá el archivo. Para lograr esto, use la sintaxis
chown uid:gid [filename]
Por ejemplo, para cambiar el newfile.txt
a uid 1000 y gid 1000 ejecutar:
chown 1000:1000 newfile.txt
Salida de muestra
Mostrar salida detallada
Puede optar por mostrar la operación que se está realizando en el terminal a medida que se modifican los permisos. Para hacer esto, use -v
opciones
chown root:root newfile.txt -v