2016-04-12 12 views
1

Ich möchte benutzerdefinierte Skripts auf meiner VM nach dem Ausführen homestead provision ausführen. Das after.sh, das mit Homestead bereitgestellt wird, führt alle Befehle wie sudo aus, das wiederum relativ zu dem Stammverzeichnis und mit Administrator-Rechten ausgeführt wird.Benutzerdefinierte Skript nach Gehöft Bereitstellung ausführen

Gibt es eine Möglichkeit für mich, die after.sh als Nicht-Admin zu verwenden?

Antwort

1

Sie können die Vagrantfile bearbeiten, nach dem Teil, wo Sie

if File.exists? afterScriptPath then 
    config.vm.provision "shell", path: afterScriptPath 
end 

Sie sehen Ihre eigenen Provisioning wie

config.vm.provision "shell", path: confDir + "/afterNonRoot.sh", privileged: false 

und erstellen Sie eine afterNonRoot.sh Skriptdatei mit dem gewünschten Befehl hinzufügen zu rennen. Speichern Sie die Datei neben dem Standard after.sh

Hinzufügen der privileged: false stellt sicher, dass das Skript als Vagabund Benutzer mit nicht Admin-Rechten ausgeführt werden

Wenn Sie nicht wollen, etwas in der Art und Weise vagrant ändern/Gehöft läuft die Skript, die einzige Sache, die ich mir vorstellen kann, ist immer noch die after.sh als root Benutzer ausführen, aber Sie können Befehle wie su -u vagrant -c xxx wo xxx ist der Befehl, den Sie ausführen möchten

+0

Ich bin eigentlich auf der Suche nach einer Möglichkeit, wo ich draußen bleiben kann des 'Composer/Vendor'-Verzeichnisses, in dem die' VagrantFile' gespeichert ist –

+2

ok du wirst nicht viel haben Wählen Sie als Befehl 'su -u vagrant -c' aus –

Verwandte Themen