我在使用 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
。
答案1
只有在交互式 shell 中使用bind
才有意义。在 somescript.sh 中检查 shell 是否是交互式的并且只有在满足条件时才运行bind
。例如,
if [ -n "$PS1" ]; then
bind -x '"\e[M":'$'"ls -l"';
fi