chown - Diferencia entre usuario y usuario: usuario

11

Cuál es la diferencia entre:

sudo chown $USER:$USER

y

sudo chown $USER

¿Por qué es 2 veces? ¿Está equivocado el usuario? Cuando miro los permisos con namei -l, a menudo veo cosas como root rooto proxy proxy.

¿Por qué el propietario tiene que ser definido y listado 2 veces?

TheBro21
fuente

Respuestas:

15

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

Maythux
fuente
Gracias. Sin embargo, ¿cuál es el beneficio incluso de usar grupos? ¿Es que todos los usuarios del grupo lo poseen, no solo Bob?
TheBro21
supongamos que desea dar permiso a algunos usuarios que no sean el propietario !! es por eso que use grupos, puede hacer un grupo para ellos y otorgarle permisos
Maythux
Necesita grupos principalmente en máquinas de servidor que se utilizan para múltiples usuarios. Supongamos que tiene un servidor donde las personas que trabajan para su empresa en el proyecto ay el proyecto b tienen cuentas de usuario. Ahora puede otorgar permiso al grupo de la compañía para los archivos a los que todos necesitan acceder, y establecer la propiedad de todos los archivos del proyecto a para el grupo "proyecto a". De esa manera, nadie del proyecto b podrá acceder al proyecto a archivos.
til_b
También se necesitan grupos en el escritorio, por ejemplo, para sudo, marcado, escaneo, etc.
Pilot6
Si un usuario es el propietario, ¿ sudoalguna vez será necesario ejecutar el archivo?
Matthew
5

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 rootes miembro del grupo root.

Piloto6
fuente
¿Cuál es la diferencia entre user y group? No veo la diferencia entre rooty root root¿Qué hace el grupo? Sin embargo
TheBro21
Cuando agrega un usuario a Linux, crea un grupo con ese nombre. El grupo contiene usuarios. Digamos que tiene un departamento de contabilidad y desea que sus departamentos de cuentas le den acceso de lectura y escritura. Puede agregar todas las personas al grupo de cuentas y otorgar permiso de lectura y escritura a la carpeta / archivo relevante.
dedunumax
Si ejecuta el cut -d: -f1 /etc/groupcomando, 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
dedunumax
2

man chownda descripción y uso y otra información útil sobre el chowncomando.

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:$USERcambia el propietario y el grupo del archivo de destino a $USER, mientras que chown $USERsolo 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:$USERse puede acortar como chown $USER:.

Las salidas como root rootdesde el namei -lcomando 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 chowncomando, 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 chowncomando. Sin embargo, esa no siempre es la verdad.

Digamos que tenemos un usuario llamado 'prueba', que pertenece a varios grupos. idEl 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_filea sambasharesin 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.

pallxk
fuente