umask値に基づいてファイルとディレクトリの権限を表示する

umask値に基づいてファイルとディレクトリの権限を表示する

デフォルトのファイルとディレクトリのアクセス許可を設定するためにumask値を使用する方法に関するホームページがありますが、次の問題が発生します。

umask = 0541がある場合

  • 0666 - 0541 = 0125、ファイル権限:---x-w-r-x
  • 0777 - 0541 = 0236、ディレクトリ権限:d-w--wxrw-

しかし、Linux端末の実際の結果は次のとおりです。

  • d-w--wxrwディレクトリ用
  • --w--w-rw-ファイルについて説明してください!

ベストアンサー1

umaskは減算ではなく、umaskに基づく論理AND演算であることに注意してください。

バイナリ権限を検討してください。

したがって、0666のライセンスは次のようになります。

110 110 110

今umask 0541

101 100 001

結果を計算するためにumaskを無効にします。

010 011 110

その後、許可を受けてAND演算を実行します。

だから

110 110 110  AND
010 011 110
=== === ===
010 010 110

これは-w--w-rw-にマップされます。

おすすめ記事