Respuestas:
El comando chown se usa para cambiar el propietario y el propietario del grupo de un archivo o directorio. Se requieren privilegios de superusuario para usar este comando. La sintaxis de chown se ve así:
chown [owner][:[group]] file...
chown puede cambiar el propietario del archivo y / o el propietario del grupo de archivos dependiendo del primer argumento del comando. Aquí hay unos ejemplos:
chown owner file
ejemplo:
chown bob file --> Changes the ownership of the file from its current owner to user bob.
chown owner:group file
ejemplo:
chown bob:users file --> Changes the ownership of the file from its current owner to user bob and changes the file group owner to group users.
chown :group file
ejemplo:
chown :admins file --> Changes the group owner to the group admins. The file owner is unchanged.
chown owner: file
ejemplo:
chown bob: file --> Change the file owner from the current owner to user bob and changes the group owner to the login group of user bob.
Lea este bonito tutorial https://www.linode.com/docs/tools-reference/linux-users-and-groups . Esto muestra información sobre usuarios, grupos, permisos, ...
sudo
alguna vez será necesario ejecutar el archivo?
No lo es user:user
, pero user:group
.
Este es el formato de comando
chown [OPTION]... [OWNER][:[GROUP]] FILE...
El grupo de usuarios puede incluir muchos usuarios. Aquí hay información sobre grupos:
Linux usa grupos como una forma de organizar a los usuarios. Los grupos organizan colecciones de cuentas, principalmente como medida de seguridad. El control de la pertenencia a grupos se administra a través del archivo / etc / group, que muestra una lista de grupos y sus miembros. Cada usuario tiene un grupo predeterminado o primario. Cuando un usuario inicia sesión, la membresía del grupo se establece para su grupo primario. Esto significa que cuando un usuario inicia un programa o crea un archivo, tanto el archivo como el programa en ejecución se asociarán con la membresía de grupo actual del usuario. Un usuario puede acceder a otros archivos en otros grupos, siempre que también sean miembros de ese grupo y se establezcan los permisos de acceso. Para ejecutar programas o crear un archivo en un grupo diferente, el usuario debe ejecutar el comando newgrp para cambiar su grupo actual.
Un archivo es propiedad de un usuario y un grupo. De forma predeterminada, es propiedad del usuario que creó el archivo y su grupo predeterminado, a menos que se modifique.
En su caso, el usuario root
es miembro del grupo root
.
root
y root root
¿Qué hace el grupo? Sin embargo
cut -d: -f1 /etc/group
comando, puede ver la lista completa de grupos en su sistema. unix.stackexchange.com/questions/153390/… podría ayudarlo a comprender por qué hay un grupo con nombre de usuario
man chown
da descripción y uso y otra información útil sobre el chown
comando.
NAME
chown - change file owner and group
SYNOPSIS
chown [OPTION]... [OWNER][:[GROUP]] FILE...
chown [OPTION]... --reference=RFILE FILE...
A partir de la información proporcionada por la página de manual, podemos saber que chown $USER:$USER
cambia el propietario y el grupo del archivo de destino a $USER
, mientras que chown $USER
solo cambia el propietario del archivo de destino a $USER
, dejando el grupo del archivo de destino sin cambios.
Los detalles (de la página del manual) siguen:
Owner is unchanged if missing. Group is unchanged if missing, but changed to
login group if implied by a ':' following a symbolic OWNER. OWNER and GROUP may
be numeric as well as symbolic.
Entonces chown $USER:$USER
se puede acortar como chown $USER:
.
Las salidas como root root
desde el namei -l
comando significan que el propietario y el grupo de ese archivo están configurados en root
. Eso no está definido por el propietario ni aparece dos veces. Propietario y grupo son dos conceptos relacionados pero diferentes. Y un archivo siempre tiene un propietario y un grupo.
En cuanto al uso del chown
comando, es muy probable que se requiera el privilegio de superusuario, ya que es probable que uno transfiera la propiedad de un archivo al usar el chown
comando. Sin embargo, esa no siempre es la verdad.
Digamos que tenemos un usuario llamado 'prueba', que pertenece a varios grupos. id
El comando da el siguiente resultado:
uid=1000(test) gid=1000(test) groups=1000(test),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),108(lpadmin),110(sambashare)
Y el usuario 'prueba' posee el siguiente archivo:
-rw-r--r-- 1 test test 0 May 27 23:34 test_file
Entonces podemos cambiar el grupo de test_file
a sambashare
sin privilegio de superusuario, ya que el usuario 'prueba' pertenece al grupo 'prueba' y al grupo 'sambashare' al mismo tiempo, el usuario 'prueba' ya posee suficiente permiso para cambiar el grupo del archivo.