Установка переменной EDITOR приводит к ошибке «E886 :Невозможно переименовать файл viminfo» при редактировании Crontab

Возможно, не так просто подключиться как root, но ограничить ключ, используемый для подключения, только для выполнения определенных вызовов rsync; для этого требуется запись /root/.ssh/authorized_keysв соответствии с строками

 from="192.0.2.*",command="/root/limit-rsnap" ssh-rsa AAAAB3N...

который ограничивает как место, где ожидается резервное копирование из (, это может быть не идеально для всех настроек )и, что более важно, в сценарии /root/limit-rsnapв системе, подключенной только к определенным вызовам rsyncразрешены:

#!/bin/bash

shopt -s extglob

test -n "$SSH_ORIGINAL_COMMAND" || exit 1

case "$SSH_ORIGINAL_COMMAND" in
  'rsync --server --sender -'+([vnlHogDtprRxe.isfLS])' --numeric-ids. '*)
    RSYNCPATH="${SSH_ORIGINAL_COMMAND#rsync --server --sender -+([vnlHogDtprRxe.isfLS]) --numeric-ids. }"
    test -e "$RSYNCPATH" && exec $SSH_ORIGINAL_COMMAND || exit 1
    ;;
  *)
    exit 1
  ;;
esac
0
16.10.2020, 08:25
1 ответ

Оказывается, это было вызвано политикой Selinux, запрещающей Crontab писать в домашние каталоги. Аналогичный случай описан в багтрекере Red Hat :

.

Runing "crontab -e" with EDITOR=vim and do some changes to the cron file. When quit from the vim, always gets a warning message: E138: Can't write viminfo file /home/hpt/.viminfo! and some avc messages in /var/log/messages:

Jun 15 13:51:24 localhost kernel: type=1400 audit(1245045084.399:17236): avc: denied { write } for pid=24910 comm="vim" name="hpt" dev=dm-6 ino=2301953 scontext=unconfined_u:unconfined_r:admin_crontab_t:s0-s0:c0.c1023 tcontext=system_u:object_r:user_home_dir_t:s0 tclass=dir Jun 15 13:51:24 localhost kernel: type=1400 audit(1245045084.400:17237): avc: denied { create } for pid=24910 comm="vim" name="v69994" scontext=unconfined_u:unconfined_r:admin_crontab_t:s0-s0:c0.c1023 tcontext=unconfined_u:object_r:tmp_t:s0 tclass=dir Jun 15 13:51:24 localhost kernel: type=1400 audit(1245045084.400:17238): avc: denied { write } for pid=24910 comm="vim" name="hpt" dev=dm-6 ino=2301953 scontext=unconfined_u:unconfined_r:admin_crontab_t:s0-s0:c0.c1023 tcontext=system_u:object_r:user_home_dir_t:s0 tclass=dir Version-Release number of selected component (if applicable):

Решение заключается в изменении политики, чтобы разрешить это.У меня нет подробностей об этом изменении, так как у меня нет доступа Sudo к этой машине, поэтому изменение было сделано кем-то другим.

2
18.03.2021, 22:57

Теги

Похожие вопросы