Bash

在所有使用者的 sudo su / login 之後執行 bash 命令的最佳位置?

  • August 12, 2016

我正在使用基於 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是多餘的,因為兩者sudosu都是為了提升特權。只考慮sudo -sor sudo -i(取決於您是否需要登錄 shell,它會影響讀取哪些啟動文件)。

如果您想在啟動會話時執行其他東西/etc/profile並且~/.bash_profile應該適用於登錄 shell(即使用 SSH 或使用 登錄時sudo -i)。(這裡有血淋淋的細節

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