linux - Bash: ejecutar comandos desde un chroot y cambiar de usuario
unix (3)
Opción básica:
cat << EOF | chroot /chroot_dir
touch aaaaa
touch bbbbb
EOF
opción con shell diferente (por ejemplo, si usa bash pero en un entorno chroot no existe)
cat << EOF | chroot /chroot_dir /bin/sh
touch aaaaa
touch bbbbb
EOF
Estoy escribiendo un guión que debería hacer esto ...
chroot /chroot_dir/ su -
./startup.sh (This should run within the su environment)
He intentado este enfoque:
chroot /chroot_dir /bin/bash -c " su -; ./startup.sh"
Esto intenta ejecutar el cambio de usuario y el script como un comando de cadena para bash ... sin embargo, lo que hace es que se "detiene" después de "su -" y no ejecuta el script. Sin embargo, una vez que abandono el entorno "su -", intenta ejecutar startup.sh pero, por supuesto, no puede encontrarlo.
Básicamente, necesito anidar "startup.sh" para ejecutarse dentro del entorno "su -" ...
¿Algunas ideas?
Muchas gracias
tratar
chroot /chroot_dir /bin/bash -c "su - -c ./startup.sh"
chroot /chroot_dir /bin/bash -x <<''EOF''
su -
./startup.sh
EOF