新しい 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 でレイヤー管理に常駐ノードを使用する方法

推薦する

Vueはシンプルなショッピングカートの例を実装します

この記事では、参考までに、Vue の具体的なコードを共有して、簡単なショッピングカートを実装します。...

MySQL インデックスの最適化: ページング探索の詳細な紹介

目次MySQL インデックス最適化ページングの調査ケース1ケース2 MySQL インデックス最適化ペ...

MySQL グループレプリケーションの設定手順 (推奨)

MySQL-Group-Replication は、MySQL-5.7.17 で開発された新しい機...

JavaScript でドラッグ可能なプログレスバーを実装する

この記事では、ドラッグ可能なプログレスバーを実装するためのJavaScriptの具体的なコードを参考...

Vue シングルページ SEO の 4 つのソリューションについての簡単な説明

目次1.Nuxtサーバーサイドレンダリングアプリケーションの展開(SSRサーバーレンダリング)利点:...

Docker コンテナ入門から夢中になるまで(推奨)

1. Docker とは何ですか?仮想マシンについては誰もが知っています。Windows に Li...

初心者向けWebサイト構築ガイド⑥:FlashFXPの詳しい使い方

今日は、サイトの設定やウェブサイトのアップロードなど、FlashFXP の最も基本的な機能を紹介しま...

Vueライフサイクルの詳細な説明

目次ライフサイクルを理解する理由ライフサイクルとはライフサイクルフック関数作成され、マウントされたフ...

js Promise同時制御メソッド

目次質問背景アイデアと実装質問次のように、同時実行 Promise の数を制御するメソッドを記述する...

4種類のMySQL接続とマルチテーブルクエリの詳細な説明

目次MySQL 内部結合、左結合、右結合、外部結合、複数テーブルクエリビルド環境: 1. 内なる慈恩...

VueにおけるAxios非同期通信の詳細な説明

1. まず、インタラクティブに使用するための .json ファイルを作成します。json データ形式...

MySQL CHARとVARCHARの保存と読み取りの違い

導入保存時と読み取り時に CHAR 型と VARCHAR 型の違いを本当にご存知ですか?まずいくつか...

MySQL マスタースレーブレプリケーションの原理と注意点

前面に書かれた最近、Mycat で特別なトピックを書いています。最近、多くの友人が面接に出かけている...

img タグの src 属性値が空の場合の 2 つのリクエストの問題 (IE 以外のブラウザ)

img src 値が空の場合、リクエストが 2 つ行われます。一部の学生は以前に同様の状況に遭遇した...

MySQLが間違ったインデックスを選択する理由と解決策

MySQL では、テーブルに複数のインデックスを指定できますが、ステートメントの実行時に、使用するイ...