Usar chown para cambiar el propietario del grupo de un directorio no está permitido ... ¿Por qué?

10

Estoy intentando ejecutar chownen un directorio que tiene los siguientes permisos y propietarios:

drwxrwxr-x 2 justin devs  4096 Jan  1 20:42 test

Estoy tratando de ejecutar simplemente lo siguiente como justinusuario:

chown justin:nginx test

Básicamente, simplemente cambie el propietario del grupo a nginx, pero estoy obteniendo:

chown: changing ownership of `test/': Operation not permitted

¿Algunas ideas?

Justin
fuente

Respuestas:

15

Primero, use el chgrpcomando en lugar de chown y eso funcionará.

En el caso de usar chown ..... Por razones de seguridad en la mayoría de los contextos de Linux, cualquier cambio de propiedad está restringido al usuario raíz aunque esté marcado como el propietario del archivo, directorio, etc. o no. En un caso, esto es para evitar que los usuarios evadan las cuotas estableciendo los bits de permiso de archivo en 777 y cambiando la propiedad de un archivo a otro usuario desconocido y consumiendo su cuota.

Por lo tanto, usar el chowncomando en un contexto de usuario, especialmente cuando la propiedad no está cambiando, no debe usarse solo para cambiar el grupo de un archivo.

NOTA: debe ser miembro del grupo al que intenta cambiar el archivo. Esto puede ser verificado por id -a. Si no está en el grupo, recibirá este mensaje aunque sea el propietario del archivo.

mdpc
fuente
1
Lo mismo con chgrp nginx test, Operación no permitida.
Justin el
Si está ejecutando el comando chgrp como propietario del inodo, esto debería funcionar. ¿Su sistema de archivos está montado LEER SOLAMENTE?
mdpc
No, no funciona. Aquí hay un caso de prueba:$ mkdir test $ chgrp nginx test/ chgrp: changing group of test/: Operation not permitted $ ll total 4 drwxrwxr-x 2 justin justin 4096 Jan 1 21:18 test
Justin
1
Lo tengo ... no puede cambiar la propiedad a un grupo en el que no tiene permitido estar. Verifique id -apara verificar que el grupo al que está tratando de cambiar el archivo esté disponible.
mdpc
1
Sí, esa es la solución.
mdpc
4

Debe ser parte del grupo para poder cambiar la propiedad actual del grupo a. Puede editar el /etc/groupsarchivo como root para asegurarse de que el usuario justin sea parte del grupo nginx. Después de realizar cambios para el grupo, debe volver a iniciar sesión en el sistema para que tenga efecto o para cambiar al grupo sin reiniciar / cerrar sesión, puede usar cmd newgrp nginx.

Ahora debería poder cambiar el grupo del archivo o carpeta con cmd chgrp nginx testcomo usuario justin.

Cloudmeteor
fuente