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アプリケーションを構築するための詳細な手順

推薦する

VirtualBox の仮想ディスク vdi ファイルの容量を拡張する方法 (グラフィック チュートリアル)

VirtualBoxのインストールディレクトリを見つけます。ディレクトリ内には容量を拡張するために...

Vue.jsでタブ切り替えと色変更操作を実装する解説

この機能を実装するにあたり、本家ブロガーさんから拝借した方法では色の切り替えが実現できず、長い間考え...

フォーム要素の簡単な実装コードでは登録を例に挙げています

コード実装:コードをコピーコードは次のとおりです。 <!DOCTYPE html> &l...

Dockerのデフォルトネットワークセグメントの正しい変更手順

背景同僚がセキュリティ プロジェクトに取り組んでおり、AWS サーバーに秘密兵器を展開する必要があり...

Linuxの相対パスと絶対パスの使用

01. 概要絶対パスと相対パスはシェル環境でよく使用され、それぞれに独自の用途があります。相対パスの...

sql_mode を変更する際の MySQL エラーの解決方法

目次ERR 1067による殺人事件2番目の問題の原因はsql_modeです3. sql_modeを設...

MySQL 5.7.17 圧縮パッケージのインストール不要の構成プロセス図

MySQL データベース管理ソフトウェアには、エンタープライズ エディションとコミュニティ エディシ...

デスクトップ仮想化を実現するために Hyper-V を展開する手順 (グラフィック チュートリアル)

Hyper-V を展開するためのハードウェア要件は次のとおりです。 64 ビット プロセッサ、具体...

デザイン協会: なぜ間違った場所を探したのですか?

数日前、バスで仕事に行きました。バスのカードリーダーの実際の使用シーンを実際に見て、カードリーダーの...

Kali Linux Vmware 仮想マシンのインストール (図とテキスト)

準備: 1. VMwareワークステーションソフトウェアをインストールする2. Kali Linux...

React refsの詳細な紹介

1. 何ですかRefs 、コンピューターでは Resilient File System (ReF...

MySQLデータベースのQPSとTPSの意味と計算方法

DB ベンチマーク テストを実行する場合、qps と tps はデータベースのパフォーマンスを測定す...

SpringBoot を MySQL に接続してデータを取得し、バックエンド インターフェースに書き込む方法

目次1. 新しいプロジェクトを作成する2. 依存関係を追加する3. SpringコンテナにDrive...

魔法のMySQLデッドロックトラブルシューティング記録

背景MySQL のデッドロックについて言えば、私は以前 MySQL のロックに関する基本的な紹介記事...