Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

272
Vistas
¿Cómo ejecutar comandos como otro usuario durante el aprovisionamiento en Vagrant?

Vagrant ejecuta mis scripts como root durante la provisión. Pero me gustaría ejecutar, durante el tiempo de aprovisionamiento, algunos comandos como otro usuario. Así es como lo estoy haciendo en este momento:

 su - devops -c "git clone git://github.com/sstephenson/rbenv.git .rbenv" su - devops -c "echo 'export PATH=\"$HOME/.rbenv/bin:$PATH\"' >> ~/.bash_profile" su - devops -c "echo 'eval "$(rbenv init -)"' >> ~/.bash_profile" su - devops -c "git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build" su - devops -c "echo 'export PATH=\"$HOME/.rbenv/plugins/ruby-build/bin:$PATH\"' >> ~/.bash_profile" su - devops -c "source ~/.bash_profile"

Pero me gustaría hacer esto más agradable, algo como esto:

 #become devops user here git clone git://github.com/sstephenson/rbenv.git .rbenv echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile echo 'eval "$(rbenv init -)"' >> ~/.bash_profile git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bash_profile source ~/.bash_profile # back to the root user here

Es posible ? ¡Gracias!

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

al ejecutar el aprovisionamiento, es cierto que vagrant se ejecutará como root de forma predeterminada, puede cambiar este comportamiento haciendo el aprovisionamiento como

 config.vm.provision "shell", privileged: false blablabla

vagabundo luego usará el usuario definido como config.ssh.username , si no está configurado, su usuario vagabundo por defecto

Si tiene varios usuarios en su sistema y todavía quiere usar otro usuario, lo que haría sería escribir un script y ejecutarlo como su -l newuser -c "path to shell script"

over 4 years ago · Santiago Trujillo Denunciar

0

Si desea tener la secuencia de comandos en línea con el resto, puede usar una secuencia de comandos como la siguiente.

 sudo -u devops /bin/sh <<\DEVOPS_BLOCK # Become devops user here id whoami # Back to the root user here DEVOPS_BLOCK
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda