web-dev-qa-db-ja.com

`Sudo crontab-e`に` sudoedit`環境を使用させるにはどうすればよいですか?

sudoedit <file>の代わりにSudo vim <file>を使い始めました。利点の1つは、ローカルの~/.vimrcを使用することです。ただし、Sudo crontab -eを使用する場合は、代わりに/root/.vimrcを使用します。 Sudo crontab -eにローカルの~/.vimrcを使用させる方法はありますか?

sudoeditvimdiffの使用についての 関連する質問 です。ただし、vimdiffcrontab -eに置き換えても機能しません。

6
Sparhawk

wantrootのc​​rontabを編集すると仮定すると、Sudoはroot権限を与える必要があります。その後、crontab${VISUAL:-${EDITOR:-vi}}を呼び出します(存在しない場合は$VISUALを使用します。存在しない場合は、$EDITORを使用します。存在しません。その場合はviを使用します)。

いくつかの可能な解決策があります。これらはすべてSudoによって提供されるセキュリティを破壊しますが、これらの問題をすでに認識している必要があります(そして、.vimrcを保護する用意があります)。そうしないと、でsudoeditを使用しません。そもそも。

おそらく最善の方法は、HOMEコマンドラインのSudo変数に割り当てを追加して、crontabがHOMEディレクトリが異なると見なすようにすることです。

Sudo HOME=$HOME crontab -e

(ホームディレクトリパスに空白がある場合、このコマンドは機能しません!)

1
Azhrei