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