Se il binario è in /usr/bin/binary
e lo script invoca il binario senza specificare il percorso completo, ma si basa invece su /usr/bin
essere in PATH
quindi puoi semplicemente aggiungere la posizione del nuovo binario all'inizio del PATH
dell'utente . Metti qualcosa del genere nel loro ~/.bashrc
:
PATH=/mount/new_version:$PATH
Per motivi di sicurezza, gli script spesso specificano il percorso completo dei file binari per impedire questo genere di cose.
Se hai accesso al file binario puoi eseguirne il backup e creare un collegamento simbolico.
mv /urs/bin/binary /urs/bin/binary.bkp
ln -s /mount/new_version/binary /urs/bin/binary
[MODIFICA]
Spiacenti, non ho visto la modifica deve essere effettuata per un solo utente.
Puoi creare una funzione da chiamare al posto del binario.
A seconda di come esegui il binario (percorso completo o solo nome) devi creare una funzione adatta , come:
# Full path
function /urs/bin/binary () { command /mount/new_version/binary "[email protected]"; }
export -f /urs/bin/binary
# Name
function binary () { command /mount/new_version/binary "[email protected]"; }
export -f binary
Se il file binario non accetta/necessita di argomenti, rimuovi "[email protected]" .
Per automatizzare la creazione della funzione, inserire le righe della funzione nel file .profile nella home directory dell'utente.
alias commandname=/mount/new_version/binary
nel .bashrc sopra l'istruzione/esportatore del percorso nel profilo sarà abbastanza facile.