GNU/Linux >> Linux Esercitazione >  >> Linux

Quale percorso usa `sudo ` per cercare “?

Ho installato eclipse nella mia home directory e ho inserito il suo percorso in PATH in ~/.profile .

Quindi funziona da

$ eclipse 

Ma quando chiamalo con sudo , eclipse non viene trovato:

$ sudo eclipse 
sudo: eclipse: command not found

Quale PATH fa sudo eclipse utilizzare per cercare eclipse ? È l'utente root 's PATH ?

Grazie.

Risposta accettata:

sudo per impostazione predefinita usa un minimo PATH , per renderlo sicuro per l'uso da parte della root utente. Non è necessariamente lo stesso di PATH otterresti accedendo come root utente, o facendo

sudo su -

Ad esempio, nelle versioni più recenti di Red Hat, ho notato che il percorso omette /usr/local/bin .

La pagina del manuale riassume questo in una sezione intitolata Note sulla sicurezza :

sudo cerca di essere sicuro durante l'esecuzione di comandi esterni.

Esistono due modi distinti per gestire le variabili di ambiente. Per impostazione predefinita, il env_reset l'opzione sudoers
è abilitata. Ciò fa sì che i comandi vengano eseguiti con un ambiente minimo contenente TERM , PATH , HOME , SHELL , LOGNAME , USER e USERNAME oltre alle variabili del processo di invocazione
consentite da env_check e env_keep opzioni sudoers. Esiste effettivamente una whitelist per
variabili di ambiente.

Ulteriori letture:

  • sudoers – elenco di quali utenti possono eseguire cosa

    secure_path
    Percorso utilizzato per ogni comando eseguito da sudo. Se non ti fidi che le persone che eseguono sudo per
    abbiano una sana variabile di ambiente PATH, potresti voler usare questa. Un altro utilizzo è se
    si desidera che il "percorso radice" sia separato dal "percorso utente". Utenti nel gruppo
    specificato da exempt_group opzione non sono interessati da secure_path . Questa opzione non è
    impostata per impostazione predefinita.

  • sudo:esegue un comando come un altro utente


Linux
  1. Come utilizzare il comando "trova" per cercare più nomi di file (estensioni) in Linux

  2. Debian vs. Ubuntu per l'uso del server, quale scegliere

  3. Per quale carico di lavoro hai utilizzato per la prima volta i container Linux?

  4. Python:come fa /usr/bin/env a sapere quale programma utilizzare?

  5. In che modo un proxy di calze trasparenti sa quale IP di destinazione utilizzare?

"nohup Sudo ..." non richiede Passwd e non fa nulla?

Modo per cercare le pagine man per uno scenario d'uso tipico?

Come utilizzare Grep per cercare un motivo che inizia con un trattino (-)?

Usa Trova e trova per cercare file in Linux

Pipe output da usare come specifica di ricerca per grep su Linux

Cosa significa 'cd-'?