![¿Es fakechroot una falla de seguridad?](https://rvso.com/image/1642386/%C2%BFEs%20fakechroot%20una%20falla%20de%20seguridad%3F%20.png)
Recientemente sé más sobre fakechroot
. AFAIK, parece peligroso ya que aumenta los privilegios del usuario, incluso si está en chroot. Lo sé, fakeroot
pero no es lo mismo ya que no puedes hacer nada con él que requiera root.
Sin embargo, con fakechroot
usted puede ejecutar cosas que requieren privilegios de root dentro de chroot. Entonces, ¿eso significa que fakechroot
el usuario normal tiene la posibilidad de rootear el chroot y luego convertirse en root en el host?
Leí en su página de manual que fakechroot
no aumenta los privilegios del usuario, lo cual no estoy seguro de entender completamente.
Respuesta1
Algunas aplicaciones de Linux sólo funcionarán si el usuario actual es root
. La mayoría de estas aplicaciones se relacionan con el cambio del propio Linux, por lo que están protegidas de los usuarios comunes.
Sin embargo, a veces, cuando trabajamos como un usuario común, nos gustaría ejecutar dichos comandos sin elevación a root
, solo para usarlos temporalmente para un propósito específico.
Dichos comandos no son una falla de seguridad, porque se ejecutan bajo el usuario actual y sin ningún efecto real sobre la versión de Linux en ejecución.
El mejor ejemplo de este tipo de comandos es fakeroot
. Su función espretenderque es el usuario actual root
, sin que esto suceda realmente.
Esto permite que los programas que esperan ejecutarse como root se ejecuten realmente como un usuario normal, mientras piensan erróneamente que las operaciones que requieren root tienen éxito.
Esto se utiliza normalmente al compilar un paquete, de modo que el proceso de instalación del paquete que se está instalando pueda continuar sin errores, incluso si ejecuta chown root:root
, o install -o root
, etc.
fakeroot
recuerda la propiedad falsa que pretendía otorgar a estos archivos, por lo que las operaciones posteriores que examinan el La propiedad será vista root
como el propietario en lugar del real.
Esto permite, por ejemplo, que tar
ejecuciones posteriores almacenen archivos como propiedad de root. fakeroot
En este caso creará un tarball que contiene archivos propiedad de root y suid. Sin embargo, no podrá extraer ese archivo tar y conservar esos permisos a menos que lo haga como root, sin escalada de privilegios.
fakeroot
luego permite ejecutar una compilación como usuario normal, preservando al mismo tiempo los efectos que la compilación habría tenido si se hubiera ejecutado como root, lo que permite reproducirlos más tarde. La aplicación de los efectos "de verdad" requerirá privilegios de root reales, para los cuales fakeroot
no se proporciona ningún método para adquirirlos.
Otro ejemplo esraíz falsa.
fakechroot
es un programa regular no setuid. No mejora los privilegios de un usuario ni disminuye la seguridad del sistema. Crea un entorno donde es posible utilizar el comando chroot(8) sin privilegios de root, útil para llamar apt
para instalar paquetes sin necesidad de privilegios de root. De esta manera, el usuario crea un entorno raíz dentro de su propia pequeña burbuja sin afectar a nadie más en el sistema.
fakechroot
no proporciona la fakeroot
funcionalidad, por lo que requiere llamar fakechroot
mediante el fakeroot
comando. Estos dos comandos son complementarios y muchas veces se usan juntos.