¿Por qué el chowncomando es solo de raíz? ¿Por qué los usuarios no root pueden usar chown para regalar los archivos que poseen?
permissions
not-root-user
chown
flema
fuente
fuente

chownpara regalar archivos que poseen? (He visto sistemas en los que, dependiendo de la configuración del sistema de archivos, se puede.)Respuestas:
La mayoría de los sistemas Unix evitan que los usuarios "regalen" archivos, es decir, los usuarios solo pueden ejecutarse
chownsi tienen los privilegios de usuario y grupo objetivo. Dado que el usochownrequiere ser propietario del archivo o ser root (los usuarios nunca pueden apropiarse de los archivos de otros usuarios), solo el root puede ejecutarsechownpara cambiar el propietario de un archivo a otro usuario.La razón de esta restricción es que regalar un archivo a otro usuario puede permitir que sucedan cosas malas en situaciones poco comunes pero importantes. Por ejemplo:
chownpara que ese archivo sea propiedad de otro usuario Bill. El archivo entonces contaría bajo la cuota de disco de Bill, aunque solo Alice puede usar el archivo.fuente
/bin/bash, configurarlo y luegochownenviarlo a quien quiera. Ahora tienen acceso de shell como esa persona.chownsiempre borra los bits setuid y setgid.drwxr-xr-x ring0 ring0 .) en el que la raíz tiene un archivo normal (-rw-r--r-- root root file), ¿por qué no puedo hacerlochown ring0 fileya que de todos modos está permitido hacerlo, comoring0,cp file x ; rm file ; mv x file(y algunos opcionalestouch sometime file...)?En Linux, necesita la capacidad CAP_CHOWN para hacer chown. la raíz se le otorga tal. Consulte: http://vouters.dyndns.org/tima/Linux-OpenVMS-C-Implementing_chown.html para obtener explicaciones. Si tiene la intención de dar la capacidad CAP_CHOWN, cree su código con libcap-ng o libcap como lo demuestra: http://vouters.dyndns.org/tima/Linux-PAM-C-Pluggable_Authentication_Modules_programming_example.html donde tiene que reemplazar simplemente CAP_AUDIT_WRITE con CAP_CHOWN.
fuente
Puede iniciar el comando, pero no funcionará si no es root. Es fácil: imagine un usuario que pueda cambiar un software a usuario root. Puede agregar el bit setuid y, ¡voilà, el tipo es root! Entonces, el uso puede agregar el bit con chmod, pero no hay posibilidad de cambiar el propietario de los archivos.
fuente