Emacsはなぜスーパーユーザーが許可なしにファイルを編集するのを防ぎますか?

Emacsはなぜスーパーユーザーが許可なしにファイルを編集するのを防ぎますか?

編集したいファイルがあれば、rootとして権限に関係なくファイルを変更できるはずです。しかし、すべてのテキストエディタ、特にemacsではそうではありません。

-rw-r--r--、、、、-r--rw-r--root権限など、次のいずれかの権限を持つテキストファイルがある場合は、-r--r--rw-問題なくファイルを編集できます。ただし-r--r--r--、書き込み権限がまったくない場合、emacsルートはバッファを変更できません。 Vimも少し奇妙な方法で動作します。最初の3つのケースでは、ルートはその:wコマンドを使用して変更を保存できますが、最後の場合はルートはオーバーライドコマンドを:w!使用して保存する必要があります。

どちらもnano正常に動作し、gedit常にスーパーユーザーに書き込み権限を与えます。

emacsandのこの迷惑な行動の原因が何であるかを知っている人はいますかvim?私はこれがvimの行動に基づく意図的な設計ではなく、何かの副作用だと思う傾向がありますが、これが原因であることが何であるかはわかりません。

ベストアンサー1

vimこれは事件に近く、emacs後ろから何が起こっているのかを明らかにすることです。ファイルに使用可能な書き込み権限がない場合、ファイルはその場所で編集されません。代わりに、ファイルは完全に置き換えられます(これはファイル権限ではなくディレクトリ権限によって異なります)。

emacsM-x toggle-read-only書き込み権限なしでファイルを保存するには、またはを使用できますC-x C-q。これで変更内容を保存できます。

おすすめ記事