私は最近 Linux を学び始めました。Ma Ge の umask に関する Linux コースを読んだ後、umask についての理解を深め、umask についてよくわからないブロガーの役に立ちたいと思い、このブログを書きました。 1 umaskとは何か システムにログインしてファイルを作成すると、デフォルトの権限が設定されます。では、この権限はどこから来るのでしょうか?これが umask の機能です。 umask は、ユーザーがファイルまたはディレクトリを作成するためのデフォルトの権限を設定するために使用されます。umask は権限の「補数」を設定しますが、ファイルの権限コードを設定するには chmod を使用することが多いです。 umask 値は通常、/etc/profile、HOME/.bashprofile、または HOME/.profile に設定されます。 2 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 0022 [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 です。 3 基本的な権限の説明 umask の使用方法を説明する前に、ファイルの基本的な権限について説明する必要があります。 Linux のファイル権限
4 umask計算権限 ファイルとディレクトリの場合、最大の権限は実際には 777 です。ただし、実行権限はファイルに対しては非常に恐ろしいものですが、ディレクトリに対しては基本的な権限です。したがって、ディレクトリのデフォルトの最大権限は 777 であり、ファイルのデフォルトの最大権限は 666 です。 ルートユーザーのumask=022の場合、権限777のバイナリコードは(111)(111)(111)、権限022のバイナリコードは(000)(010)(010)です。
umask 002 のファイルのデフォルトの権限を計算する方法
umask 002 のディレクトリのデフォルトの権限を計算する方法
umask 023 のディレクトリのデフォルトの権限を計算する方法
umask 023 でファイルのデフォルト権限を計算する方法
上記はumaskの通常の計算処理ですが、面倒すぎます。素早く計算するために、次の簡単な方法を使用します。
上記の方法は計算に非常に便利です。奇数になったときになぜ +1 を加算する必要があるのでしょうか? ファイルの最大権限は 666 で、すべて偶数です。奇数を取得した場合、umask が奇数であることを意味します。読み取り数は 4、書き込み数は 2 で、すべて偶数であるため、実行権限があることを意味します。 umask=023 を例にとると、他のユーザー権限を計算すると、6-3=3 となり、6 は読み取りと書き込み、3 は書き込みと実行となります。実際には、書き込み権限は読み取り権限から読み取り権限を減算することで取得する必要があり、これは実行権限を減算することと同じです。したがって、結果は 1 増加します。 5 umaskの変更 umask の変更には、一時的と永続的の 2 種類があります。 一時的な変更: [root@bogon テスト]# umask 023 [root@bogon テスト]# umask 0023 [root@bogon テスト]# 永久的な変更: 次のファイルを編集して、umask=022 を追加できます。 対話型ログイン構成は次のように有効になります。 /etc/profile < /etc/profile.d/*.sh < ~/.bash_profile < ~/.bashrc </etc/bashrc [/etc/bashrc の設定は最も効果的で、以前の設定を上書きできます] 非対話型ログイン構成が有効になります: ~/.bashrc < /etc/bashrc < /etc/profile.d/*.sh 6 よく使われるumask [root@bogon テスト]# umask 002 [root@bogon テスト]# umask 0002 [root@bogon テスト]# umask 022 [root@bogon テスト]# umask 0022 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Vueタブとキャッシュページを切り替えるいくつかの方法
MySQL 変数には、システム変数とシステム変数が含まれます。今回の学習課題はユーザー定義変数です。...
今日はdockerを使ってイメージをpullしたのですが、速度が悪くて見れず最後まで待ち続けました。...
1. RTMP RTMP ストリーミング プロトコルは、Adobe が開発したリアルタイムのオーディ...
目次1. イメージをプルする1.1 関連するイメージをプルして実行する1.1.1 関連する画像を取得...
ファイルをディレクトリに解凍しますこれは解凍後のディレクトリですmy.iniファイルを入力しますダブ...
目次1. DOM の違い2. 同じレイヤーの同じタイプの要素にキー属性を追加する3. キーはインデッ...
HTML で色を表す方法は 3 つありますが、最もよく使われるのは 6 桁の 16 進コード表現です...
目次序文準備する要約する継承方法プロトタイプ継承プロトタイプチェーン継承コンストラクタの借用(クラス...
序文最近、仕事の都合で、APP ショッピングカートの注文支払いに取り組んでいました。テスト中にバグが...
目次MySQL Shell import_table データのインポート1. import_tabl...
Dockerは参考までにMySQLバージョン8.0.20をインストールします。具体的な内容は以下のと...
1. CSS ボックスモデルボックスには、余白、境界線、パディング、コンテンツが含まれます境界線の接...
目次1. Dockerをインストールする2. GitLabをインストールする3. GitLabを初期...
問題の原因: 最初は CentOS 8 のデフォルトの yum ソースを正常に使用できますが、次のコ...
最初のステップはmysqlコンテナを作成することです docker exec -it コンテナID ...