Linux
如何在不執行 /etc/profile.d 中的腳本的情況下登錄
我錯誤地在 /etc/profile.d 中放置了一個 sh 腳本,以便在登錄後自動執行一些命令。第一個腳本正在執行
#!/bin/bash sudo su - userb several normal commands
但是,當我以“usera”身份登錄,然後執行腳本時,需要輸入 userb 密碼才能執行下一個命令。問題是我沒有 userb 密碼,我嘗試了 ctrl-c 並輸入了幾次錯誤的密碼,它們導致直接會話結束。ctrl-z 也不起作用
是否可以不執行腳本或返回“usera”以便我可以手動刪除腳本?
--noprofile
通過使用參數指定 bash 登錄。從文件中:
–noprofile
不讀取系統範圍的啟動文件 /etc/profile 或任何個人初始化文件 ~/.bash_profile、~/.bash_login 或 ~/.profile。預設情況下,bash 在作為登錄 shell 呼叫時會讀取這些文件(請參閱下面的 INVOCATION)。
要使用這個:
ssh usera@yourserver bash --noprofile
如果這似乎不起作用,請不要驚慌,如果登錄成功,您將一無所獲,甚至沒有提示(這都是由登錄腳本設置的)。但是您可以照常使用伺服器。