新しい 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 の小さなタグの使用に関するヒント

<em></em> などのフレーズ要素を使用すると、意図した視覚スタイルを維...

良いリファクタリングを行うには、コードをリファクタリングするだけでなく、人生をリファクタリングすることも重要です。

職業的な観点からも、人生の観点からも、良い再建をすることは本当に簡単ではありません。楽観的で熱心で前...

背景画像の配置におけるbackground-position属性の自己理解

最近、プロジェクトではラベルやボタンなどの断片的な画像をたくさん使用する必要があります。また、CSS...

MySQLでビューを作成する方法

基本的な構文CREATE VIEW ステートメントを使用してビューを作成できます。構文の形式は次のと...

MySQL 文字列連結関数 GROUP_CONCAT の詳細な説明

前回の記事では、クロステーブル更新について書きました。自分が書いた SQL を見たとき、自分がバカみ...

Linux mysql-5.6 でルート パスワードをリセットする方法

1. MySQL サービスが起動しているかどうかを確認します。起動している場合は、MySQL サービ...

子ども向けウェブサイトの視覚構造レイアウト設計手法の分析

1. 温かくて優しい関連アドレス: http://www.web-designers.cn/post...

MySQLの再帰問題

MySQL自体は再帰構文をサポートしていませんが、自己接続を通じていくつかの単純な再帰を実現できます...

ミニプログラムは左スライドのドロワーメニューをネイティブに実装します

目次WXS レスポンス イベントプランAページ構造とスタイルWXS イベントコールバック関数WXS ...

Vueは要素ツリーコントロールを通じてツリーテーブルを実装します

目次実装効果図依存関係をインストールするカスタムツリーコントロールその他の実装要約するVueでは、要...

CSS フロート(float, clear)の人気の解説と体験談

私はかなり昔に CSS に触れましたが、フローティングについてはいつも混乱していました。私の理解が浅...

Dockerはnginxをデプロイし、フォルダとファイル操作をマウントします

この間、私は docker を勉強していたのですが、nginx をデプロイするときに行き詰まりました...

iframe src 割り当ての問題 (サーバー側)

今日この問題に遭遇しました。サーバー側でiframeのsrc値を再割り当てし、iframeにIDを追...

Linux インストール Apache サーバー構成プロセス

袋を用意するインストールApacheがすでにインストールされているかどうかを確認するrpm -qa ...

jQuery エディタ プラグイン tinyMCE の使い方

簡略化されたファイル サイズを変更し、サンプルをダウンロードします。ファイルをローカル コンピュータ...