Estoy tratando de escribir un bootstrapper para una distribución mínima de linux de origen.
Me gustaría construir en un entorno similar a chroot. Esto debería simplificar el embalaje. No me importa la seguridad en este momento. El programa de arranque no debe requerir ningún comando de terceros no estándar. Sería genial si no hay necesidad de ser root, tampoco.
Es por eso que fakechroot (1) fakeroot (1) chroot (1) no es exactamente lo que estoy buscando.
¿Es posible falsificar / usar unshare (1) y / bin / sh?
chroot
not-root-user
namespace
unshare
Rooties
fuente
fuente
unshare(1)
es una envoltura bastante delgada en torno a una colección de llamadas de sistema solo de raíz, y (al menos en Fedora 18) no es SUID, por lo que dudo mucho que eso funcione para usuarios no root.Respuestas:
Si. Si su núcleo admite espacios de nombres de usuario (y están habilitados) , primero puede "simular el usuario raíz", que luego obtiene el derecho de invocar
chroot
(como un usuario raíz real). (Lo que anteriormente solo debía restringirse al usuario raíz debido a la posibilidad de que un usuario normal escale los privilegios (por ejemplo, a través de binarios set-UID-root y bibliotecas personalizadas en el directorio chroot)).Puedes probar esto en tu shell:
fuente
unshare
de util-linux-2.30.2-alt 1Simplemente agrupa o instala fakeroot / fakechroot, ya que son perfectamente apropiados para esto. Mira cdebootstrap para inspirarte.
fuente