Linux

可以從 /etc/profile.d 腳本中排除使用者嗎?

  • February 20, 2014

我在使用 Rsync/SSH 與特定使用者在伺服器上進行 Amanda 備份時遇到問題。

rsync -e 'ssh -i /var/lib/amanda/.ssh/id_rsa_amdump' -az otherserver:/dir/to/copy /copy/dir

我注意到它在 /etc/profile.d 中的腳本上給出了各種錯誤,並且無法使用 SSH 密鑰登錄。如果我嘗試使用 SSH 登錄使用者帳戶,它只會顯示錯誤並且不會給出提示。有沒有辦法告訴使用者不要閱讀 /etc/profile.d 或將其設置為跳過/排除該使用者?

它在嘗試使用 SSH 登錄時給出的錯誤是:

/etc/profile.d/somescript.sh line 125: bind: warning: line editing not enabled

它在腳本中至少有 20 行不同的行顯示此錯誤。對於任何其他使用者,我都沒有收到此錯誤。此外,Amanda 備份使用者的主目錄/var/lib/不在/home.

僅在互動式 shell 中使用bind才有意義。在 somescript.sh檢查 shell 是否是互動式的,只有bind在它是互動式的時候才執行。例如,

if [ -n "$PS1" ]; then
   bind -x '"\e[M":'$'"ls -l"';
fi

引用自:https://serverfault.com/questions/577194