Bash
在所有使用者的 sudo su / login 之後執行 bash 命令的最佳位置?
我正在使用基於 debian 的 turnkeylinux LAMP 伺服器。當我登錄時,我的 shell 基本上只是 $,沒有顏色,沒有目錄名,非常基本。我必須使用 bash 命令然後初始化所有內容,以便我有顏色,vim 是正確的,路徑顯示在終端等中。
每次我 sudo su 進入另一個使用者時,我都必須這樣做。每當我登錄或使用者 su 時,我是否可以更改以執行 bash 命令的主要位置?
我的登錄“打字”是這樣的。
type myusername type mypassword type bash <- so when i exit from su, i know i'm really back. Why can't this auto run? type sudo su developer type bash <- again so i know where i am. Auto run this command after the su
這只是一個小煩惱,我似乎無法弄清楚。
謝謝。
您的登錄 shell 很可能
/bin/sh
,請檢查getent passwd username
。(行中的最後一個欄位。)您可以使用 更改它chsh
,或者不帶參數,以便它會詢問您想要什麼,或者使用類似chsh -u user /bin/bash
. 另一個帳戶也一樣。chsh
除非您是root使用者,否則會詢問您的密碼。
sudo su
是多餘的,因為兩者sudo
和su
都是為了提升特權。只考慮sudo -s
orsudo -i
(取決於您是否需要登錄 shell,它會影響讀取哪些啟動文件)。如果您想在啟動會話時執行其他東西
/etc/profile
並且~/.bash_profile
應該適用於登錄 shell(即使用 SSH 或使用 登錄時sudo -i
)。(這裡有血淋淋的細節)