Configurare l'ambiente dopo aver eseguito su senza trattino


0

Come potreste impostare le variabili di ambiente corrette e qualsiasi altra impostazione che dovrebbe essere impostata usando il comando su - username , ma senza il trattino?

vale a dire

Se io uso

su - fooUser

Come simulerei quanto sopra dopo aver eseguito su senza il trattino?

su fooUser

Cosa devo eseguire qui per impostare tutta la configurazione e tutto il resto impostato dal trattino?

Risposte:


1

Risposta breve: non puoi.

La risposta più lunga e corretta: puoi spostare tutto da /etc/profileed equivalente a /etc/bashrced equivalente (i dettagli dipendono dalla (e) shell (e) che stai usando) e avere la prima fonte la seconda; che ti avvicinerà il più possibile (con l'avvertenza che alcune cose potrebbero aver bisogno di test extra se / elif / fi se dovrebbero o non dovrebbero essere eseguiti per le shell di login).

Il trattino in più è un corto di mano per "-l" o "--login", che racconta su(1)come richiamare la shell: Per convenzione, un guscio sa che si tratta di un "login" guscio se argv[0](il nome che viene detto è è stato avviato come, che non ha bisogno di essere come il nome del suo file binario) inizia con un trattino; per esempio, bash si troverà "chiamato" -basho -/bin/bash. Puoi confermarlo accedendo alla console ed eseguendolo ps o pid,comm,args $$: "args" inizierà con un trattino. Una shell di accesso utilizza un diverso set di file di avvio, che è la differenza principale; per i dettagli, consultare la pagina man delle proprie shell (ad es. invocazione di bash). Ci sono alcune sottigliezze rimanenti sull'ambiente che sono impostate prima dell'inizio di bash, ma che possono essere risolte in quei file di avvio.

A questo punto, è utile fare un passo indietro e considerare: quale problema stai cercando di risolvere? Cambiare la tua identità non dovrebbe essere qualcosa che fai abitualmente; se ti accorgi di averne bisogno, dovresti cercare di capire come risolvere la cosa che stai cercando di fare per non richiederla.


Grazie. Non cercando di risolvere un problema, ero solo interessato. Non so perché non ho guardato la manpage su, probabilmente solo perché era un trattino e non l'ho pensato come un argomento.
SDK,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.