umask umaskの使用法umask は、新しく作成されたファイルとディレクトリのデフォルトの権限を設定します。 ルートによって作成されたディレクトリは755で、ファイルは644であることがわかります。 [root@zaishu zaishu]# タッチテスト.txt [root@zaishu zaishu]# mkdir テスト [root@zaishu zaishu]# ls -l 合計 0 drwxr-xr-x 2 ルート ルート 6 11月 25 16:29 テスト -rw-r--r-- 1 ルート ルート 0 11月25日 16:28 test.txt 通常ユーザー 一般ユーザーが作成したディレクトリは775個、ファイルは664個あることがわかります。 [mysql@zaishu ~]$ touch test.txt [mysql@zaishu ~]$ mkdir テスト [mysql@zaishu ~]$ ls -l 合計 0 drwxrwxr-x 2 mysql mysql 6 11月25日 16:30 テスト -rw-rw-r-- 1 mysql mysql 0 11月25日 16:30 test.txt これらのデフォルトの権限値は、umask 設定を使用して計算されます。 原理Linux は、umask のデフォルト権限を使用して、新しく作成されたすべてのファイルとディレクトリに初期権限を割り当てます。では、umask のデフォルト権限の値をどのように知るのでしょうか? umask コマンドを使用するだけです: 1. umask値[root@zaishu ~]# umask 0022 [mysql@zaishu ~]$ umask 0002 #ルートユーザーのデフォルト値は0022、一般ユーザーのデフォルト値は0002です umask のデフォルトの権限は、実際には 4 つの 8 進数で構成されています。最初の数字は、ファイルの特別な権限 (SetUID、SetGID、Sticky BIT) を表し、最初は無視されます。最後の3桁「022」は----w-w-に対応します。 2. ファイルディレクトリの最大権限Linux システムでは、ファイルとディレクトリの最大のデフォルト権限は異なります。 ファイルの場合、最大のデフォルト権限は 666、つまり rw-rw-rw- です。 x は最大のファイル権限です。新しいファイルが作成されるときには付与されず、ユーザーが手動でのみ付与できます。 ディレクトリの場合、最大のデフォルト権限は 777、つまり rwxrwxrwx です。 3. 従来の計算ファイルとディレクトリの初期権限は次のように計算されます。 ファイル(またはディレクトリ)の初期権限 = ファイル(またはディレクトリ)の最大デフォルト権限 - umask 権限 [mysql@zaishu ~]$ umask 0002 [mysql@zaishu ~]$ mkdir テスト [mysql@zaishu ~]$ ll -d テスト drwxrwxr-x 2 mysql mysql 6 Nov 26 10:50 test // ディレクトリのデフォルトの権限は最大 777 です。777-002 = 775 [mysql@zaishu ~]$ h.txt をタッチする [mysql@zaishu ~]$ ll h.txt -rw-rw-r-- 1 mysql mysql 0 Nov 26 10:52 h.txt // 最大ファイル権限 666、666-002 (一般ユーザー) 666-002 = 664 [root@zaishu ~]# h2をタッチ [root@zaishu ~]# ls -l h2 -rw-r--r-- 1 root root 0 Nov 26 10:53 h2 // 最大ファイル権限 666, 666-002 (root) 666-022 = 644 4. 厳密な計算ファイルまたはディレクトリの初期権限を計算する場合、最大のデフォルト権限と減算用の umask 権限の数値形式を直接使用するのは厳密ではありません。たとえば、umask のデフォルトのパーミッション値が 033 の場合、ファイルの初期パーミッションは数値形式で計算され、666-033=633 になりますが、アルファベット形式で計算すると、(rw-rw-rw-) - (----wx-wx) = (rw-r–r--) となり、数値形式では 644 になります。 ここでの減算は実際には「マスキング」を意味します。つまり、umask 権限に共通する最大デフォルト権限の部分は減算操作によってマスクされ、残りの「最大デフォルト権限」がファイルまたはディレクトリに最終的に付与される初期権限になります。 umask値を変更する1. 一時的な効果(現在のセッション)umask 権限値は直接変更できます。 [root@localhost ~]# umask 002 [root@localhost ~]# umask 0002 [root@localhost ~]# umask 033 [root@localhost ~]# umask 0033 この方法で変更された umask は一時的なものであり、システムを再起動するか再ログインすると無効になります。 2. 永続的な効果変更を永続的にするには、対応する環境変数設定ファイル /etc/profile を変更する必要があります。 [root@zaishu~]# vim /etc/profile ...一部省略... [ $UID -gt 199]&&[ "'id -gn'" = "'id -un'" ]; の場合 umask 002 #UIDが199(一般ユーザー)より大きい場合はこのumask値を使用し、それ以外の場合は umask 022 #UIDが199未満(スーパーユーザー)の場合は、このumask値を使用します 要約するLinux での umask コマンドの使用原理と計算方法についてはこれで終わりです。Linux での umask コマンドの詳しい説明については、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: HTMLリンクを書くときは、HTTPリクエストを減らすためにサブフォルダに必ずスラッシュを追加してください。
この記事では、参考までに、Navicat for MySql の CSV ファイルのビジュアルインポ...
この記事では、参考までに、ファイルのオンラインプレビューを実現するためのvue-pdfの具体的なコー...
序文:テーブルをクリアしたいときは、truncate ステートメントをよく使用します。ほとんどの場合...
略語を使用すると、CSS ファイルのサイズが小さくなり、読みやすくなります。 CSS 省略形の主なル...
序文:ある日、DockerでMySQLサービスを構築したところ、MySQLのコマンドラインで中国語の...
ylbtech_html_print HTML 印刷コード、ページめくりをサポートコードをコピーコー...
MySQL データベースを使用する際、何らかの理由で長期間 MySQL にログインしていない場合、ま...
提案: コードをできるだけ手書きすると、学習の効率と深さを効果的に向上できます。デフォルトでは、&l...
言語では、DSL を実装するためにマクロがよく使用されます。マクロを使用すると、開発者は JSX 構...
注意: 計画、設計、開発のいずれの場合でも、これらの間違いは避けなければなりません。 1. ナビゲー...
CocosCreator バージョン: 2.3.4 Cocos には List コンポーネントがない...
目次環境説明Windows 10 に Docker for Windows をインストールするWin...
序文この記事は主に、MySQL の Innodb で 2T の大きなテーブルをすばやく削除する方法に...
最近、小さなプログラムを書いています。その小さなプログラムの公式ウェブサイトはhttpsを使用する必...
目次1. 場所オブジェクト1. URL 2. 場所オブジェクトのプロパティ3. ロケーションオブジェ...