Bash

/etc/profile 不是為 sudo su 獲取的

  • December 2, 2016

我已經PATH=foo設置/etc/profile

根據/etc/password和使用者已作為登錄shell rootmyaccount``/bin/bash

當我以 身份登錄時myaccountPATH已從 正確設置/etc/profile。如果我那麼sudo suPATH不包括中設置的值/etc/profile

如果我sudo su -改為然後/etc/profile是來源。*我知道無論如何這樣做是一個好習慣,*但我不明白為什麼有必要為了 source /etc/profile

為什麼sudo suclobber PATH,無視/etc/profile以及我如何使它不呢?

sudo su是應被詛咒到地極的可憎之物。

解決了這個問題,你會問你應該做什麼。

# sudo asks for *your* password and must be configured via /etc/sudoers
sudo -s             # Shell for superuser
sudo -i             # Login shell for superuser
sudo -u jimmy -s    # Shell for user "jimmy"
sudo -u jimmy -i    # Login shell for user "jimmy"

# su asks for the root password and usually requires no configuration
su                  # Shell for superuser
su -                # Login shell for superuser
su jimmy            # Shell for "jimmy"
su - jimmy          # Login shell for "jimmy"

僅登錄 shell 源/etc/profile

引用自:https://unix.stackexchange.com/questions/327551