У меня проблема с использованием 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
.
С помощью bind
имеет смысл только в интерактивной оболочке. В somescript.sh проверьте, является ли оболочка интерактивной и только беги bind
если это. Например,
if [ -n "$PS1" ]; then
bind -x '"\e[M":'$'"ls -l"';
fi