デフォルトのファイル権限755を取得するためにumaskする方法は?

デフォルトのファイル権限755を取得するためにumaskする方法は?

umaskデフォルトのファイル権限が755であることを確認するために使用できないようです。CentOSバージョン管理でスクリプトファイルをチェックアウトするたびにx権限がなく、手動で実行する必要があるため、このファイルが必要ですchmod +x script.sh。デフォルトのファイル権限755を取得するためにumaskする方法は?ファイルのumask計算がファイルの最大権限で777ではなく666に基づいているのはなぜですか?

答え1

ファイルが取得する権限はumaskを介してのみ削減できるため、権限を追加するために使用することはできません。また、あなたが主張するのとは異なり、マスクビットを減らす前の権限は、0666または0777ではなく、問題のプログラムで設定されたものです。一般的な方法は、モード0666で汎用ファイルを作成し、モード0777でディレクトリを作成し、umaskに他のユーザーへのアクセス制限を処理させることです。ただし、特に個人用ファイルを作成するプログラムは起動権限として0600を使用します。

特定の権限を持つファイルを生成するためにアプリケーションが必要な場合は、アプリケーションレベルでそれを変更する必要があります。 Subversionについては、以下を参照してください。svn:executable財産

答え2

1つのオプションは、.bashrc(bashを使用している場合)に2つのことを行う関数を作成することです。

  1. スクリプトを見る
  2. chmod +x script.sh

    myfunction () {
    #do things with parameters like $1 such as
    checkout_command $1
    chmod +x $1
    }
    
    #calls `myfunction` to checkout the script and chmod on the fly.
    myFunction my_script.sh 
    

関連情報