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