Bash
在 sudo su - appuser 之後執行命令的 shell 腳本
我的組織不允許我訪問 root,並且有一些非常奇怪的身份驗證,如下所述:
- 我通過 ssh 終端使用我的使用者名和密碼組合登錄到 RHEL 伺服器
- 我不允許使用我的帳戶,必須使用以下命令切換到伺服器帳戶:
sudo su - appuser
- 不允許對上述命令進行任何排列。意思
sudo su -p appuser
是不允許sudo su appuser
是不允許的。它必須是sudo su - appuser
。在切換到 appuser 之前,我必須輸入密碼- 現在我在沒有 sudo 權限的 appuser 中。我現在做我的工作。
最近我開始使用 git,在 git 中你可以指定使用者名和密碼。好吧,如果我的 6 人團隊使用它,他們都將擁有相同的使用者名。除非他們在切換到 appuser 後執行以下命令行來獲取他們的真實使用者名:
git config --global user.name $(logname)
所以,我試圖通過製作一個腳本來導航這個我無法控制的糟糕的基礎設施,該腳本允許我在切換到 appuser 後立即切換使用者並設置我的 git 使用者。
我目前擁有的是這個(這不起作用,因為我因為第 1 行而被要求輸入密碼):
sudo su - appuser git config --global user.email $(logname)
除了去 IT 部門尋求我知道他們不會提供的解決方案之外,我還有哪些選擇?
您可以根據您的登錄名設置環境變數:
case $logname in shnisaka) export GIT_AUTHOR_NAME="your name" export GIT_COMMITTER_NAME="your name" export GIT_AUTHOR_EMAIL="your.name@compa.ny" export GIT_COMMITTER_EMAIL="your.name@compa.ny" ;; olqs) export GIT_AUTHOR_NAME="my name" export GIT_COMMITTER_NAME="my name" export GIT_AUTHOR_EMAIL="my.name@compa.ny" export GIT_COMMITTER_EMAIL="my.name@compa.ny" ;; esac
我們的個人資料設置中有類似的配置。嘗試把它放在 appuser 的 .bashrc 中