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 が更新ステートメントを実行するときに、元のデータと同一の (つまり...

Docker Compose の実践とまとめ

Docker Compose は、Docker コンテナ クラスターのオーケストレーションを実現しま...

MySQL監視ツールmysql-monitorの詳細な説明

1. 概要mysql-monitor MYSQL 監視ツール、最適化ツール、1 つの Java Sp...

DockerはMariaDBのサブライブラリとサブテーブル、および読み書き分離機能を実装します

目次1. はじめに2. 環境整備1. 基本環境3.Mysqlマスタースレーブ構成をインストールする1...

Docker のタイムゾーンの問題とデータ移行の問題

最新のソリューション: -v /usr/share/zoneinfo/Asia/Shanghai:/...

Linux のソフトリンクとハードリンクの詳細な説明

目次1. ファイルとディレクトリの基本的な保存2. Inコマンドの紹介(1)lnコマンドの基本情報を...

無効にしてHTMLフォーム入力を送信した後にフォーム値が取得されない問題を解決する方法

フォーム入力ボックスの入力をdisable属性に設定して送信すると、入力ボックスの値を取得できなくな...

nginxとIISで使用できるSSL証明書を作成する

目次SSL証明書の作成1. 秘密鍵を生成する2. 証明書要求ファイルを生成する3. CRT証明書ファ...

Dockerイメージのエクスポートとインポート操作

基本イメージが以前に構成されていて、これらのイメージが他の場所でも必要な場合はどうなりますか?回答:...

JavaScript での HTML キャンバスとページ ストレージ テクノロジの使用に関する詳細な説明

目次1. JavaScriptはHTMLでキャンバスを使用する2. ページストレージ技術1. Jav...

JavaScript DOM オブジェクト操作

目次1. コア1. Domノードを取得する2. ノードの更新2.1 実践演習3. Domノードを削除...

フロントエンドにアニメーション遷移効果を実装する方法

目次導入従来のトランジションアニメーションCSS トランジションアニメーションjsアニメーション従来...

Linuxでmysqlの定期的なコールドバックアップを実装するためにmysqldump+expect+crontabを使用するアイデアの詳細な説明

目次1. 遭遇した問題2. アイデア3. コード1. 遭遇した問題私たちは皆、mysqldump を...

IE7でソースファイルを含むページを開くとページが空白になる問題の解決方法

質問:私のブログのエンコーディングは utf-8 です。ページを開くと空白になっていることもあります...