Vimは許可なくファイルを作成しています。

Vimは許可なくファイルを作成しています。
$ ls sess.vim -lh              
-rw-r--r-- 1 root root 11K Feb 26 18:52 sess.vim

私はこのファイルを誰でも読むことができますが、root以外の誰も書き込めないようにしたいと思います。だから644権限と所有権をroot:root

$ echo "text" >> sess.vim      
zsh: permission denied: sess.vim

よさそうだねvimでいくつかの変更を行った後に実行:w!(強制書き込み)を行ったところ、ファイルは正常に保存されました。今:

$ ls sess.vim -lh
-rw-r--r-- 1 MY_USERNAME users 11K Feb 26 19:06 sess.vim

重量..なぜ?どのように?

ベストアンサー1

vimで次のように使用します:w!

echo 'test' > sess.vim.temp
mv sess.vim.temp sess.vim

このmvコマンドは、ファイル権限ではなくディレクトリ権限にのみ関心があります。これは、ファイルに書き込むのではなく、ディレクトリを変更するためです。目標を達成するには、ファイルがあるディレクトリの権限も調整する必要があります。

おすすめ記事