vimが新しいファイルを生成するための完全な権限設定はありますか?これはumaskによって制限され、vimで生成されたファイルでのみ機能します。すでに存在するファイルの一部を変更しないでください。 /bin/のファイルにxビットを設定するか、#!で始まる解決策を見たことがありますが、vimはumaskだけに従い、umaskだけに従いたいと思います。
ベストアンサー1
この質問は、以前にも多くの場所で提起されたことがあります。簡単に言えば、vimはumask
(他のアプリケーションと同様に)閉じる権限のみを使用しますが、スクリプトを使用してファイル権限を変更できます。
ほとんどのアプリケーション(テキストエディタなど)は、出力を次のように処理します。データ、いつ開く0666、0644、0600などのデータスタイル権限を使用してファイルを生成します。同様に、ほとんどのプログラムはumask自体を設定せず、既存の設定に依存しています減らす特定のユーザーに提供する権限。
開く既存の文書化は別の問題です。多くの編集者は同じ方法でファイルを再生成したり名前を変更したりせずに更新されたファイルを作成します。インデックスノード。これはファイルの権限(および所有権)を保存するために発生します。一部(たとえば、vimやvile)には、「読み取り専用」ファイルに書き込むためにファイル権限を一時的に変更する条項があります。これを行うには、元の権限が何であるかを知る必要がありますが、これはumask
結果ファイルの権限とは何の関係もありません。
さらなる読書のために
- Vimはファイルを生成します存在する根ファイルの先頭に「#!」があることを確認し、ファイルが「/bin/」のあるディレクトリに書き込まれているかどうかを確認するサンプルスクリプトを示します。
- vim:+ xビットでファイルを生成するこれを繰り返して別の例を追加します。
- addexecmod.vim:ファイルを保存するときに実行権限を自動的に追加します。単に「#!」だけをチェックするプラグインです。