Linux の権限管理コマンド (chmod/chown/chgrp/unmask) の詳細な説明

Linux の権限管理コマンド (chmod/chown/chgrp/unmask) の詳細な説明

Linux オペレーティング システムで複数のユーザーを管理するのは非常に面倒なので、グループの概念を使用してユーザーを管理すると簡単になります。各ユーザーは独立したグループに所属でき、各グループには 0 人以上のユーザーを含めることができます。 Linux における権限管理コマンド (chmod/chown/chgrp/unmask) の詳細な説明を紹介します。具体的な内容は以下のとおりです。

chmod

説明する

コマンド名: chmod コマンド英語の意味: ファイルの権限モードを変更する コマンドパス: /bin/chmod 実行権限: すべてのユーザー 機能の説明: ファイルまたはディレクトリの権限を変更する

文法

chmod [{ugoa}{+-=}{rwx}] [ファイルまたはディレクトリ] 
chmod [mode=421] [ファイルまたはディレクトリ]
 -R 再帰的変更 # 最初の変更方法 chmod [{ugoa}{+-=}{rwx}] [ファイルまたはディレクトリ]
うごあ:
 u: 所有者 g: グループ o: その他 a: 全員 +-=:
 +: ファイルまたはディレクトリに権限を追加します -: ファイルまたはディレクトリの権限を減らします =: 現在の権限に基づいて、ファイルまたはディレクトリに新しい権限を与えます # 2 番目の変更方法 chmod [mode=421] [ファイルまたはディレクトリ]
翻訳:
 r:4
 w:2
 x:1
rwxrw-r--
 許可: 764 (4+2+1=7/4+2=6/4)

# 権限を増やす最初の方法 chmod g+x test.txt
 
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# ls -l test.txt
-rw-r--r-- 1 ルート ルート 11 11月 28 15:39 test.txt
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# chmod g+x test.txt
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# ls -l test.txt
-rw-r-xr-- 1 ルート ルート 11 11月 28 15:39 test.txt

# 権限を増やす2番目の方法: chmod 777 test.txt

[root@izm5e2q95pbpe1hh0kkwoiz tmp]# ls -l test.txt
-rw-r-xr-- 1 ルート ルート 11 11月 28 15:39 test.txt
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# chmod 777 test.txt
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# ls -l test.txt
-rwxrwxrwx 1 ルート ルート 11 11月 28 15:39 test.txt

権限に関する特別な注意

# /tmp の下に新しいフォルダ test を作成します
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# mkdir テスト

# /tmp/test フォルダに新しい test.txt を作成します
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# test/test.txt をタッチします

# テストファイル [root@izm5e2q95pbpe1hh0kkwoiz tmp] の下のファイルを表示します。# ls -l test
合計 0
-rw-r--r-- 1 ルート ルート 0 11月28日 17:54 test.txt

# /tmp/test フォルダの権限を確認します [root@izm5e2q95pbpe1hh0kkwoiz tmp]# ls -ld test
drwxr-xr-x 2 ルート ルート 4096 11月28日 17:54 テスト

# /tmp/test フォルダに完全な権限を付与します [root@izm5e2q95pbpe1hh0kkwoiz tmp]# chmod 777 test
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# ls -ld テスト
drwxrwxrwx 2 ルート ルート 4096 11月28日 17:54 テスト

[root@izm5e2q95pbpe1hh0kkwoiz tmp]# ls -l test/test.txt
-rw-r--r-- 1 ルート ルート 0 11月28日 17:54 test/test.txt

# 新しい一般ユーザーを追加し、パスワードを変更します [root@izm5e2q95pbpe1hh0kkwoiz tmp]# useradd eternity
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# パスワード永遠

# eternity アカウントとパスワード 123456 を使用してサーバーにログインします # 現在のディレクトリを表示します [eternity@izm5e2q95pbpe1hh0kkwoiz ~]$ pwd
/ホーム/永遠

# /tmpディレクトリに入る [eternity@izm5e2q95pbpe1hh0kkwoiz ~]$ cd /tmp

# すべての権限を持つ /tmp/test ディレクトリの権限を確認します [eternity@izm5e2q95pbpe1hh0kkwoiz tmp]$ ls -ld test
drwxrwxrwx 2 ルート ルート 4096 11月28日 17:54 テスト

# test.txt は /tmp/test ディレクトリに存在し、読み取り権限があります [eternity@izm5e2q95pbpe1hh0kkwoiz tmp]$ ls -l test/test.txt
-rw-r--r-- 1 ルート ルート 0 11月28日 17:54 test/test.txt

# /tmp/test の test.txt ファイルを削除します [eternity@izm5e2q95pbpe1hh0kkwoiz tmp]$ rm test/test.txt
rm: 書き込み保護された通常の空のファイル 'test/test.txt' を削除しますか? y

# 削除は成功しました。この時点で、test.txt は /tmp/test ディレクトリに存在しません [eternity@izm5e2q95pbpe1hh0kkwoiz tmp]$ ls -l test/test.txt
ls: test/test.txt にアクセスできません: そのようなファイルまたはディレクトリはありません

管理者のみrwの読み取りと書き込み権限があり、グループとそれ以外は読み取り権限のみ。しかし、このとき一般ユーザーはrの読み取り権限のみでファイルを削除しました。なぜ???ファイルディレクトリ権限のまとめ

代表的なキャラクター権限ファイルへの影響ディレクトリへの影響
r読み取り権限ファイルの内容を表示できますディレクトリの内容を一覧表示できる
書き込み権限ファイルの内容を変更できるディレクトリ内のファイルを作成および削除できます
x実行権限実行ファイルディレクトリに入ることができます

分析する

ファイルに対する書き込み権限があるということは、ファイルの内容を変更できることだけを意味し、ファイルを削除する権限があるわけではありません。

ディレクトリへの書き込み権限を持ち、ディレクトリ内のファイルを作成および削除できる

上記の /tmp/test ディレクトリの権限は 777 であるため、一般ユーザーも /tmp/test ディレクトリ内のファイルを作成および削除する権限を持っています。したがって、一般ユーザーは /tmp/test/test.txt ファイルを削除することもできます。ただし、一般ユーザーは /tmp/test/test.txt ファイルを編集することはできません。vim を使用してファイルを編集すると、警告: 読み取り専用ファイルの変更

チョーン

説明する

コマンド名: chown コマンドの英語の意味: ファイルの所有権を変更する コマンド パス: /bin/chown 実行権限: すべてのユーザー 機能の説明: ファイルまたはディレクトリの所有者を変更する

文法

chown [ユーザー] [ファイルまたはディレクトリ]

Linux では、ファイルの所有者を変更できるのは root のみであり、作成者も変更できません。

# ファイルの所有者を変更します (test.txt の所有者を eternity から root に変更します)
chown ルート /tmp/test/test.txt

[root@izm5e2q95pbpe1hh0kkwoiz ~]# パスワード
/根
[root@izm5e2q95pbpe1hh0kkwoiz ~]# ls -l /tmp/test/test.txt
-rw-r--r-- 1 永遠 永遠 7 11月28日 18:15 /tmp/test/test.txt
[root@izm5e2q95pbpe1hh0kkwoiz ~]# chown root /tmp/test/test.txt
[root@izm5e2q95pbpe1hh0kkwoiz ~]# ls -l /tmp/test/test.txt
-rw-r--r-- 1 ルート永遠 7 11月 28 18:15 /tmp/test/test.txt

chgrp

説明する

コマンド名: chgrp
英語でのコマンドの本来の意味: ファイルグループの所有権を変更する
コマンドパス:/bin/chgrp
実行権限: すべてのユーザー 機能の説明: ファイルまたはディレクトリが属するグループを変更する

文法

chgrp [ユーザーグループ] [ファイルまたはディレクトリ]

# ファイルが属するグループを変更します (test.txt が属するグループを eternity から eternityz に変更します)
chgrp eternityz /tmp/test/test.txt

# 現在のディレクトリ [root@izm5e2q95pbpe1hh0kkwoiz ~]# pwd
/根
# 詳細情報を表示 [root@izm5e2q95pbpe1hh0kkwoiz ~]# ls -l /tmp/test/test.txt
-rw-r--r-- 1 ルート永遠 7 11月 28 18:15 /tmp/test/test.txt
# eternityz グループを追加 [root@izm5e2q95pbpe1hh0kkwoiz ~]# groupadd eternityz
# グループを変更する [root@izm5e2q95pbpe1hh0kkwoiz ~]# chgrp eternityz /tmp/test/test.txt
[root@izm5e2q95pbpe1hh0kkwoiz ~]# ls -l /tmp/test/test.txt
-rw-r--r-- 1 ルート eternityz 7 11月 28 18:15 /tmp/test/test.txt

umask

説明する

コマンド名: umask コマンド英語本来の意味は、ユーザーのファイル作成マスクです。コマンドパス: シェル組み込みコマンド実行権限: すべてのユーザー機能の説明: ファイルのデフォルトの権限を表示/設定します。

文法

umask [-S] -S 新しく作成されたファイルのデフォルトの権限をrwx(大文字のS)の形式で表示します。

# ファイルのデフォルトの権限を表示する umask -S

# umask をチェック
umask

[root@izm5e2q95pbpe1hh0kkwoiz ~]# umask
0022

0022 in 0 特別な権限 022 ----w--w-

# 777と022のすべての権限に対してXOR演算を実行し、デフォルトの権限777を取得します。rwx rwx rwx
022 --- -w- -w-
================
ディレクトリ rwx rx rx
ファイル rwx r-- r--


# デフォルトの権限を変更するには、umask 値を変更します umask 077

# umask値を変更すると、デフォルトの権限は777 rwx rwx rwxになります
077 --- rwx rwx
================
ディレクトリ rwx --- ---
ファイル rw- --- ---

# 以下の実験は、デフォルトの権限を変更する設定に準拠しています [root@izm5e2q95pbpe1hh0kkwoiz ~]# umask 077
[root@izm5e2q95pbpe1hh0kkwoiz ~]# mkdir /tmp/lyf
[root@izm5e2q95pbpe1hh0kkwoiz ~]# ls -ld /tmp/lyf
drwx------ 2 ルート ルート 4096 11月29日 10:55 /tmp/lyf
[root@izm5e2q95pbpe1hh0kkwoiz ~]# /tmp/lyf/lyf をタッチします
[root@izm5e2q95pbpe1hh0kkwoiz ~]# ls -l /tmp/lyf/lyf
-rw------ 1 root root 0 11月29日 10:56 /tmp/lyf/lyf

Linux では、ルートのみがファイル所有者を変更できます。作成者であっても、ファイル作成者をデフォルトの所有者として設定することはできません。この場合、デフォルトのグループがファイル作成者でもあります。Linux のフォルダーのデフォルトの権限は rwxr-xr-x で、ファイルのデフォルトの権限は rw-r--r-- です。新しいファイルには実行権限がありません。

Linux の権限管理コマンド (chmod/chown/chgrp/unmask) の詳細な説明はこれで終わりです。Linux の権限管理コマンドに関するより詳しい内容については、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Linux の一般的なコマンド chmod を使用して、ファイルの権限 777 と 754 を変更します。
  • Linux でファイル権限を変更する chmod コマンドの詳細な分析
  • Linux のファイル権限を変更するコマンド: chmod コマンドの詳細な説明
  • Linux でファイル権限を変更する chmod コマンドの詳細な分析

<<:  MySQL サーバー ログイン エラー ERROR 1820 (HY000) の解決方法

>>:  Rails APIを使用してReactアプリケーションを構築するための詳細な手順

推薦する

MySQL ストアド プロシージャのクエリ コマンドの概要

以下のように表示されます。 mysql.proc から名前を選択します (db='データベー...

HTML2 キャンバス SVG が認識されない場合の解決策

ウェブページを画像としてキャプチャする新機能があったので、人気のhtml2canvasを使ってみまし...

HTMLポップアップ透明レイヤーインスタンスのサイズを設定でき、比例することができます

コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBLIC "...

JavaScript の矢印関数と通常の関数の違いの詳細な説明

この記事では、JavaScriptにおけるアロー関数と通常の関数の違いについて解説します。具体的な内...

Antdesign-vueとsortablejsを組み合わせて、2つのテーブルをドラッグして並べ替える機能を実現

目次成果を達成するsortablejs の紹介具体的な実装成果を達成する最初は、antdesign ...

デザイナーが再びハマーの公式サイトに不満を述べる

昨年、この公開書簡は大ヒットし、羅永浩氏を驚かせた。今日、著者が新しい章を発表するとは思ってもみなか...

Linux で最も頻繁に使用されるターミナル コマンドのトップ 10 のリストを取得します。

私が最も頻繁に使用するコマンドは次の通りです:選択肢CDギットls ssh須藤数週間前、私はこの R...

Linuxシステムにおけるキー認証に基づくSSHサービスのプロセス

ご存知のとおり、SSH は現在、リモート ログイン セッションやその他のネットワーク サービスにセキ...

SQL と NoSQL の違いのまとめ

主な違い: 1. タイプSQL データベースは主にリレーショナル データベース (RDBMS) とし...

IE6/7 は混乱するだろう: 空のテキスト ノードの高さの問題

序文: ietester でドキュメント コードを表示するには、debugbar を使用します。すべ...

Nginx がサーバーの生存状態をパッシブにチェックする詳細な説明

導入定期的にヘルスチェックを送信して、アップストリーム グループ内の HTTP サーバーのヘルスを監...

Linuxのファイル権限の詳細な紹介

Linux の優れた点は、マルチユーザー、マルチタスク システムにあります。 Linux では通常、...

Centos7.3 Nginx をインストールして展開し、https を設定する方法

設置環境1. gccのインストールnginxをインストールするには、まず公式サイトからダウンロードし...

Vue で HTML 5 ドラッグ アンド ドロップ API を使用する方法

ドラッグ アンド ドロップ API は、ドラッグ可能な要素を HTML に追加し、ドラッグ可能な豊富...

バランスの取れたデジタルスクロール効果を実現するJavaScript

目次1. 実施の背景2. 実装のアイデア3. 実施プロセス1. 実施の背景先週、ユーザーがタスクを完...