¿Qué permisos se necesitan para ejecutar chmod, comando chown en una carpeta / elemento?

9

Siempre he estado ejecutando comandos chmod / chown como usuario de sudo. Pero hoy me pregunté si no uso sudo, ¿qué permisos necesito para ejecutar el chmod/chowncomando en una carpeta / archivo? He intentado buscar en Google la pregunta, pero no apareció nada que responda específicamente a esta pregunta.

Maxim Koretskyi
fuente

Respuestas:

18

En Linux:

chown : "Solo un proceso privilegiado (Linux: uno con la CAP_CHOWN capacidad) puede cambiar el propietario de un archivo". (Fuente: chown (2)) La manera fácil de ser un proceso de este tipo es ejecutarla root. Consulte explain_chownpara obtener ayuda para descubrir por qué chownfalló un particular . Consulte las capabilitiesformas de dar a los procesos esa capacidad que no sea ejecutar como root.

chmod : el propietario del archivo o rootpuede cambiar los permisos, además de otros procesos con la CAP_FOWNERcapacidad. (Fuente)

chgrp : "El propietario de un archivo puede cambiar el grupo del archivo a cualquier grupo del que sea miembro. Un proceso privilegiado (Linux: con CAP_CHOWN) puede cambiar el grupo arbitrariamente". (vestido (2))

cxw
fuente
1
Linux comenzó a implementar capacidades alrededor de 2004, pero la propuesta POSIX relacionada ya se retiró en 1997. Si está en un sistema operativo moderno como Solaris, hay PRIV_FILE_CHOWNque cebar todos los archivos locales y PRIV_FILE_CHOWN_SELFlos archivos locales de su propiedad. Por cierto: un sistema operativo que permite compartir archivos remotos desde NFS puede verse como un riesgo secundario. En HP-UX, cualquier usuario normal puede compartir sus archivos y esto también se considera un riesgo de seguridad.
schily
PD: la propuesta POSIX de capacidad se retiró porque solo maneja los privilegios entre un usuario normal y el usuario raíz histórico. Solaris tiene el doble de privilegios específicos que Linux y permite eliminar privilegios como, por ejemplo, fork () y exec ().
schily
Tenga en cuenta que en Linux, cuando no tiene privilegios, puede chownusar los archivos que posee, pero solo la parte gid (para cualquiera de los grupos de los que es miembro). Puedo hacer chown stephane:other-group myfile(o chown :other-group) mientras sea miembro de other-group.
Stéphane Chazelas
¿Qué pasa con el chgrpcomando? ¿Puedes agregar una explicación para eso?
Maxim Koretskyi
@ StéphaneChazelas, gracias, en base a su respuesta, ¿supongo que un propietario puede ejecutar con éxito chgrpsin ser un usuario privilegiado?
Maxim Koretskyi