Cuando copia un archivo a un sistema de archivos diferente, lo que sucede debajo del capó es que usted crea un nuevo archivo y copia el contenido. El traslado de un archivo a un sistema de archivos diferente se realiza copiando y eliminando la fuente. Por lo tanto, no tiene más privilegios para copiar un archivo que en cualquier otro momento en que esté creando un archivo.
Cuando creas un archivo, te pertenece. Muchas variantes de Unix restringen el cambio del propietario ( chown
) a la raíz. Incluso aquellos que permiten al propietario de un archivo regalarlo borran los bits setuid y setgid cuando lo hacen. Los cambios en la propiedad del grupo ( chgrp
) también eliminan los bits de setxid a menos que se invocen con privilegios de root. Y necesitas ser propietario del archivo o ser root para cambiar sus permisos. Por lo tanto, no puede crear un archivo setxid para un usuario o grupo al que no tiene permiso para ejecutar programas como.
Un vector diferente para la inyección de archivos setxid es el montaje del sistema de archivos. La mayoría de las configuraciones solo permiten los bits setxid en sistemas de archivos montados directamente por la raíz (a diferencia de las entradas /etc/fstab
con la opción user
en Linux, Samba, FUSE, ...). A veces, por ejemplo, con montajes NFS, depende del administrador del sistema asegurarse de que los sistemas de archivos estén montados con la opción nosuid
.