新しい Linux ファイル権限設定における umask の詳細な理解

新しい Linux ファイル権限設定における umask の詳細な理解

序文

起源は質問 1 です: umask が 022 に設定されている場合、作成するファイルのデフォルトの権限は何ですか?

これは、私が尋ねられた別の質問 2 を思い出させます: 777 はどのような権限を表していますか?

ユーザーグループの説明

-rwxrw-r--1 ルート ルート 1213 2月 2 09:39 abc
  • 最初の文字はファイル (-)、ディレクトリ (d)、またはリンク (l) を表します。
  • 残りの文字は3つのグループ(rwx)、読み取り(r)、書き込み(w)、実行(x)にグループ化されます。
  • 最初のグループrwx: ファイル所有者の権限は読み取り、書き込み、実行です
  • 2番目のグループrw-:ファイル所有者と同じグループのユーザーは読み取りと書き込みの権限を持ちますが、実行はできません。
  • 3番目のグループr--: ファイル所有者と同じグループに属していない他のユーザーの権限は読み取り権限ですが、書き込み権限と実行権限はありません。
  • これは、r=4、w=2、x=1 のようにデジタルで表現することもできます。rwx は 3 つの 2 進数を表すため、これらの数値は正確に計算できます。

デジタル著作権の説明

質問 2 に戻ると、777 は 3 桁の 8 進数で、111111111 に相当します。つまり、3 つのグループすべてが読み取り可能、書き込み可能、​​実行可能であることを意味します。次のように使用できます。

chmod 755 abc //chmod はファイル abc の権限を、ファイル所有者が読み取り、書き込み、実行できるように変更し、同じグループおよび他のグループのユーザーが読み取り、実行できるように変更します。

umaskの説明

umask は、デフォルトの権限を表す権限マスクです。ファイルの最大デフォルト値 666 とフォルダーの 777 に基づいて、ユーザーが作成した新しいオブジェクトのデフォルトの権限を計算するために使用されます。

たとえば、質問1では、ファイルを作成するためのデフォルトの権限は666-022=644で、これは-rw-r--r--です。

umask は何に使用されますか?

デフォルトの umask 値は 022 です (umask コマンドを使用して表示できます)。このとき、作成するファイルのデフォルトのパーミッションは 644 (6-0、6-2、6-2)、作成するディレクトリのデフォルトのパーミッションは 755 (7-0、7-2、7-2) です。ls -l で確認できます。これで、デフォルトのパーミッションを制御するという umask の目的がわかったはずです。

[root@bogon テスト]# id
uid=0(ルート) gid=0(ルート) グループ=0(ルート) コンテキスト=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@bogon テスト]# umask
[root@bogon test]# touch a.txt
[root@bogonテスト]# ls -l
合計 0
-rw-r--r--. 1 ルート ルート 0 7月 3 00:40 a.txt
[root@bogon test]# mkdir b
[root@bogonテスト]# ls -l
合計 0
-rw-r--r--. 1 ルート ルート 0 7月 3 00:40 a.txt
drwxr-xr-x. 2 ルート ルート 6 7月 3 00:41 b

上記のように、root の umask は 022 (最初の 0 は特別な権限ビットを表しますが、ここでは考慮されません)、作成されたファイルのデフォルトの権限は 644、作成されたディレクトリのデフォルトの権限は 755 です。

umask の使用方法を理解する前に、ファイルの基本的な権限について説明する必要があります。

Linux のファイル権限
rx
書類ファイルの内容を表示できますファイルを変更できます実行中のプログラムとしてファイルを起動することができます
目次ls を使用してディレクトリ内のファイル名を表示できます。ディレクトリ内のファイルを作成または削除できます (w 権限だけでは作成できません。x 権限が必要です)このディレクトリに入るにはcdを使用し、ディレクトリ内のファイルのメタデータ情報を表示するにはls -lを使用します。

要約する

上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に一定の参考学習価値を持つことを願っています。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM を応援していただきありがとうございます。

以下もご興味があるかもしれません:
  • Linux での umask の使用に関する詳細な説明
  • Linuxにおけるumaskコマンドの使用原理と計算方法の詳しい解説

<<:  MySQL 5.7 における部分テーブルのデュアルマスター同期の実装プロセスの詳細な説明

>>:  CocosCreator でレイヤー管理に常駐ノードを使用する方法

推薦する

MySQL外部キーの3つの関係例の詳細な説明

この記事では、例を使用して、MySQL 外部キーの 3 つの関係について説明します。ご参考までに、詳...

Linux 環境の Apache サーバーでセカンダリドメイン名を設定する方法の詳細な説明

この記事では、Linux 環境の Apache サーバーでセカンダリ ドメイン名を構成する方法につい...

VMware に Linux システム (Redhat8) と仮想マシンのネットワーク構成をインストールする方法

目次1. VMwareをインストールする1.1 VMwareworkstationsをダウンロードし...

データベース接続プール Druid の使用手順

総合的なパフォーマンス、信頼性、安定性、スケーラビリティ、使いやすさなどの要素に基づいて、最適なデー...

SSM VUE Axios の詳細な説明

目次SQL ログを表示するにはどうすればいいですか? ? SpringMVC でのパラメータ渡しの説...

Layuiはログインインターフェース検証コードを実装します

この記事の例では、ログインインターフェース検証コードを実装するためのlayuiの具体的なコードを参考...

MySQL 5.7.21 解凍版のインストールと設定方法のグラフィックチュートリアル (win10)

MySQL 5.7.21 解凍版のインストールと設定方法は参考までに。具体的な内容は以下のとおりで...

MYSQL 文字列強制変換メソッドの例

序文2 つのテーブル内の同じフィールドの型が異なっていたり、エンコード タイプが異なっていたりするた...

JavaScript におけるセミコロンの詳細

序文JavaScript ではセミコロンはオプションであり、使用するかどうかは主にコーディング スタ...

MySQLデータの挿入、更新、削除の詳細

目次1. 挿入2. 更新3. 削除1. 挿入 顧客に挿入( 顧客.顧客住所、 顧客.cust_cit...

Tomcat の静的ページ (html) で中国語の文字化けが発生する問題の究極の解決策

tomcatでは、jspは文字化けしませんが、htmlの中国語は文字化けします理由はいくつかあります...

無視されたDOCTYPE記述の分析

doctype もその 1 つです。 <!DOCTYPE HTML PUBLIC "...

一般的な nginx コマンドをシェル スクリプトに組み込む方法の詳細な説明

1. nginxシェルスクリプトを保存するフォルダを作成する /usr/local/タスク/ngin...

WeChat アプレット開発フォーム検証 WxValidate の使用

個人的には、WeChat アプレットの開発フレームワークは VUE と概ね似ていると感じていますが、...

JavaScript の for ループと二重 for ループの詳細な説明

forループfor ループは配列の要素をループします。文法: for (初期化変数; 条件式; 繰り...