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

推薦する

HTML ウェブページでのアンカー(名前付きアンカー)の使用の概要

以下の情報はインターネットから収集したものです1. アンカーは、Web ページ作成におけるハイパーリ...

CSS における要素の表示モード

CSS では、要素タグは、要素の表示モードの違いに応じて、インラインレベル要素とブロックレベル要素の...

ウェブページ上の写真プレビューナビゲーションを設計するためのヒント

<br />ナビゲーションとは、ウェブサイトの上部にあることが多いナビゲーション バーの...

MySQL のダウンロードとインストールの詳細グラフィックチュートリアル

1. MySQLデータベースをダウンロードするには、公式Webサイトにアクセスしてください:http...

MySQLはデフォルトのエンジンと文字セットの詳細を変更します

目次1. データベースエンジン1.1 ビューデータベースエンジン1.2 デフォルトのデータベースエン...

WiFi 開発 | WiFi ワイヤレス テクノロジーの紹介

目次WiFiワイヤレステクノロジーの紹介1. WiFiテクノロジーの概要2. ESP8266の紹介W...

HTML ボディタグと HTML でよく使われる制御タグの詳細な説明

1. <body> タグ: Web ページの本体をマークするために使用されます。body...

Navicat Premier の MySQL へのリモート接続エラー 10038 の解決方法

MySQL へのリモート接続が失敗する場合は、次の理由が考えられます。 1. 若い男性/女性の方は、...

K8Sの5つのコントローラーの紹介と使用

目次k8sのコントローラータイプポッドとコントローラの関係デプロイメント(ステートレスアプリケーショ...

dockerコンテナは直接実行され、pingを介してパブリックIP操作を取得します。

コンテナを通じてローカル パブリック IP アドレスを取得します。ローカル IP アドレスを使用して...

PSを使用して2分でxhtml+cssウェブサイトのホームページを作成します

xhtml+css のウェブサイト再構築、ウェブ標準などについては、記事が多すぎるので繰り返しません...

MySQL マスタースレーブレプリケーションでエラーをスキップする方法

1. 従来のbinlogマスタースレーブレプリケーション、エラー報告をスキップする方法 mysql&...

史上最もシンプルな MySQL データのバックアップと復元のチュートリアル (パート 2) (パート 36)

データのバックアップと復元パート2は次のとおりです基本的な概念:バックアップ、現在のデータまたはレコ...

Linuxでのソフトウェア(ライブラリ)の更新コマンドの詳しい説明

Ubuntu サーバーにパッケージをインストールする場合、sudo apt-get install ...