GNU/Linux >> Znalost Linux >  >> Linux

Proč se při běhu Via Sudo a Su liší proměnné cesty?

Na mém virtuálním počítači s fedorou mám při spuštění s uživatelským účtem /usr/local/bin v mé cestě:

[[email protected] ~]$ env | grep PATH
 PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/justin/bin

A podobně při spuštění su :

[[email protected] ~]$ su -
Password: 
[[email protected] justin]# env | grep PATH
PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/justin/bin

Nicméně při spuštění přes sudo , tento adresář není v cestě:

[[email protected] justin]# exit
[[email protected] ~]$ sudo bash
[[email protected] ~]# env | grep PATH
PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/sbin:/bin:/usr/sbin:/usr/bin

Proč by se cesta při spuštění přes sudo lišila ?

Přijatá odpověď:

Podívejte se na /etc/sudoers . Výchozí soubor ve Fedoře (stejně jako v RHEL a také Ubuntu a podobně) obsahuje tento řádek:

Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin

Což zajišťuje, že vaše cesta je čistá při spouštění binárních souborů pod sudo. To pomáhá chránit před některými obavami uvedenými v této otázce. Je to také výhodné, pokud nemáte /sbin a /usr/sbin svou vlastní cestou.


Linux
  1. Vytvořit soubor jako jiný uživatel a skupina?

  2. Kdy a proč používat Docker

  3. Proměnné uživatelského prostředí S „su“ a „sudo“ v Linuxu

  1. Jak zachovat proměnné prostředí při použití sudo

  2. Proč se mi při spuštění ssh-add odepírá oprávnění?

  3. Proč se heslo 'sudo' liší od hesla 'su root'

  1. Kdy je Dd vhodné pro kopírování dat? (neboli, kdy jsou čtení() a zápis() částečné)?

  2. Kdy a proč bych měl používat Apt-get Update?

  3. Proč se telefonní čísla systému Linux v x86 a x86_64 liší?