EDITOR変数を設定すると、Crontabを編集すると「E886:viminfoファイルの名前を変更できません」と表示されます。

EDITOR変数を設定すると、Crontabを編集すると「E886:viminfoファイルの名前を変更できません」と表示されます。

私はVimをエディタとして使用します。

.Crontabを使って編集するときに構文の色を指定したいと思いますcrontab -e。フォローするこれ答え。変数を設定しEDITOR=vimてエクスポートすると、crontab -e目的の構文の色が表示されます。 Sudoを使わずに私のユーザーとしてCrontabを編集しています。

ただし、Crontabを閉じるとエラーが発生します。

/tmp/crontab.019kNj" 4L, 278C written
E886: Can't rename viminfo file to /home/me/.viminfo!
Press ENTER or type command to continue

これは、変更を保存するときと保存せずに閉じたときに発生します。このエラーはCrontabを使用している場合にのみ発生し、Vimを使用して直接ファイルを編集することは問題ではありません。VISUAL代わりに変数を使用しても動作は似ていますEDITOR

ファイルは.viminfo私のホームディレクトリにあり、適切な権限を持っています。

-rw-------.  1 me me  11K 15.10. 12:49 .viminfo

権限/home/me も意味があります。

drwx------. 33 me me   4,0K 15.10. 13:13 me

OSバージョンはRed Hat Enterprise Linux Workstation release 7.9 (Maipo)、VimバージョンはVIM - Vi IMproved 7.4 (2013 Aug 10, compiled Jan 29 2020 08:09:16)、シェルはですGNU bash, version 4.2.46(2)-release (x86_64-redhat-linux-gnu)。クローンタブのバージョンはcrontabs-1.11-6.20121102git.el7.noarch

このエラーメッセージの原因は何ですか? Crontabを編集するときに構文の色付けを有効にする方法は?

編集する:

.viminfoエラーの名前を変更すると、次のように変更されます。

E138: Cannot write viminfo file /home/me/.viminfo!

ベストアンサー1

これは、Crontabがホームディレクトリに書き込むのを防ぐSelinuxポリシーが原因であることがわかりました。同様のケースが報告されましたRed Hat バグトラッカー:

EDITOR = vimで "crontab -e"を実行し、cronファイルをいくつか変更します。 vimを終了すると、常に警告メッセージが表示されます。E138:viminfoファイル/home/hpt/.viminfoを書き込めません!および/var/log/messagesにいくつかのavcメッセージがあります。

6月15日 13:51:24 localhost カーネル: type=1400 audit(1245045084.399:17236): avc: pid=24910 comm="vim" name="hpt" dev=dm-6 ino =2301953 scontext= {write} unconfined_u:unconfined_r:admin_crontab_t:s0-s0:c0.c1023 tcontext=system_u:object_r:user_home_dir_t:s0 tclass=dir 6月15日 13:51:24 localhost kernel:type=1450 : avc :deny{ 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 13:51:24 localhost カーネル: タイプ=1400 監査(1245045084.400:17238): avc: pid=24910 comm=24910 comm="vim" name="hpt" dev=dm-6 ino= 2301953 scontextの {write} 拒否: admin_crontab_t:s0-s0:c0.c1023 tcontext=system_u:object_r:user_home_dir_t:s0 tclass=dir 選択したコンポーネントのバージョン - リリース番号 (該当する場合):

解決策は、これが起こるようにポリシーを変更することです。このマシンへのsudoアクセス権がないため、変更に関する詳細はありません。だから他の人が変更しました。

おすすめ記事