私はGeanyを使ってにあるすべてのサブディレクトリとファイルを編集します/var/www
。/var/www
すべてのサブディレクトリとファイルの所有者とグループはですwww-data:www-data
。私のユーザーアカウントはグループのメンバーであり、私のユーザーとしてファイルを編集します。時々、Genieは編集されたファイルの所有者とグループを私のユーザーと私のグループに変更するようです。
Geanyを使用してファイルを編集するときにユーザー:グループが変更されないようにするにはどうすればよいですか?
私はGeanyヘルプで次の手がかりを見つけました。
アトミックファイルを使用して保存
Geany がファイルをディスクに保存するモードを定義します。無効にすると、Geanyは文書の内容をディスクに直接書き込みます。ディスクにファイルを保存するための空き容量がなくなると、データが失われる可能性があります。 trueに設定すると、Geanyは最初にコンテンツを一時ファイルに保存し、成功すると一時ファイルを物理ファイルに移動して保存します。これにより、使用可能なディスク容量がなくなった状況でより良いエラーチェックが得られます。ただし、元のファイルとその権限へのハードリンクも失われます(例:実行可能フラグのリセット)。重大な問題を引き起こす可能性がありますのでご注意ください。より良いアプローチは、ディスクに空き容量が不足しないようにすることです。
現時点では無効になっています。これはファイルが直接作成されることを意味するので、私の問題が発生するのを防ぐと思います。
この質問にはいくつかの関連情報が含まれています。 ファイルを編集してACL / SELinuxセキュリティコンテキストを維持する方法は?
答え1
見ているジニーのウィキ、このオプションを無効にする必要があります。
use_gio_unsafe_file_saving
これはデフォルトでオンになっており、GIOライブラリで提供されています。
このオプションは、他の方法に関連する問題をできるだけ処理しようとします。
- 上記の原子名変更の保存方法を使用しようとしますが、できるだけ多くの問題を解決しようとします。
- 一時ファイルのメタデータを確認し、既存のファイルからメタデータをコピーしようとします。
- メタデータが正しい場合は一時ファイルに書き込まれ、上記のように名前が変更されます。
- メタデータが間違っている場合は、非原子的で安全な方法を使用してください。
- 既存のファイルを一時ファイルにコピーする
- 既存のファイルを切り捨てて上書きできない場合は、一時ファイルを再コピーまたは使用できるはずですが、以下の欠点を参照してください。
- デフォルトのファイルシステムで名前変更が可能であることを確認し、名前変更が失敗した場合は非原子的方法を使用します。
利点:
- 最も多様な条件を扱うため、ほとんどのファイルシステムで最も正確に動作します。これがデフォルトの理由です。
欠点:
- 一つある長続きするバグまたは、データファイルの書き込みに失敗した場合に非原子保存から一時ファイルを削除するGIOライブラリの設計バグです。これは、古いデータが回復されないか、ユーザーが回復できないため、単純な上書き方法よりも安全ではないことを意味します。
- 非原子的アプローチは、ネットワーク全体にコピーデータを3回保存します(一時ファイルを作成するために読み書き、出力ファイルに書き込み)。これにより、リモートネットワークで速度が遅くなる可能性があります。
- ディスク容量を2倍にします。
- かなり複雑です。
- Geanyが動作を変更できないように、ライブラリコードを使用します。
ファイルを保存するのは本当に奇妙な方法です。オプションと同じ「原子的」保存が発生する可能性がありますuse_atomic_file_saving
。