Linux のファイル権限とグループ変更コマンドの詳細な説明

Linux のファイル権限とグループ変更コマンドの詳細な説明

Linux では、すべてがファイルであり (ディレクトリもファイルです)、各ファイルにはユーザーに対する読み取り (read)、書き込み (write)、および実行 (execute) 権限があります。ディレクトリの実行操作は、そのディレクトリに入る権限があるかどうかを示し、ファイルの実行操作は、そのファイルを実行できるかどうかを示します。各ファイルはユーザーとユーザー グループに属し、各ファイルにはファイル所有者、ファイルが属するグループ、およびその他のユーザー グループに対する特定の権限があります。

上図のように、ファイルの種類を示す最初の文字を除いて、それに続く文字は 3 つにグループ化され、"rwx" の 3 つのパラメータの組み合わせになります。 [r] は読み取り可能 (read)、[w] は書き込み可能 (write)、[x] は実行可能 (execute) を表します。同時に、それらはそれぞれ数字に対応し、[r]は4、[w]は2、[x]は1に対応します。これらの数字は、ファイルのパーミッションを変更するときに使用できます。[rwx]にパーミッションがない場合は、代わりにマイナス記号[-]が使用されます。

最初のグループはファイル所有者のファイルに対する操作権限、2 番目のグループはファイルのグループのファイルに対する操作権限、3 番目のグループは他のグループのユーザーの操作権限です。たとえば、ファイルの権限データが「rwxr-xr--」の場合、最初の 3 文字は、ファイルの所有者がファイルの読み取り、書き込み、および実行を実行できることを示します。真ん中の 3 文字は、ファイルが属するグループがファイルの読み取りと実行を実行できることを示します。最後の 3 文字は、他のグループのユーザーはファイルの読み取りのみを実行できることを示します。

ファイルの権限を変更する: chmod
ファイルの権限を変更するには、chmod コマンドを使用します。ファイルの権限は、3 人のユーザー (自分、グループ、その他) の 3 種類の読み取り、書き込み、実行権限に対応しています。権限は合計 9 つあり、グループごとに 3 つあります。各グループの権限を合計して数値を取得します。たとえば、[rwxrwx---] に対応する数値は次のとおりです。

所有者 = rwx = 4+2+1 = 7
グループ = rwx = 4+2+1 = 7
その他= --- = 0+0+0 = 0

ユーザーがファイルへの書き込み権限を持っている限り、そのユーザーはファイルに対する他のユーザーの操作権限を更新できます。コマンドは次のとおりです。

chmod [-R] xyz ファイルまたはディレクトリ
  • xyz: 3 種類のユーザー権限値の合計に対応します。
  • -R: 再帰的な変更を実行します。つまり、サブディレクトリ内のすべてのファイルが変更されます。

例えば:

[root@www ~]# ls -al .bashrc
-rw-r--r-- 1 ルート ルート 395 7月 4日 11:45 .bashrc
[root@www ~]# chmod 777 .bashrc # すべてのユーザーが読み取り、書き込み、実行できるように変更します [root@www ~]# ls -al .bashrc
-rwxrwxrwx 1 ルート ルート 395 7月 4日 11:45 .bashrc

chmod では、数字を使用してファイル権限を変更するだけでなく、記号を使用してファイル権限を変更することもできます。u、g、o、a は、それぞれユーザー、グループ、その他、すべて (すべてのユーザー) の略語です。r、w、x は、それぞれ読み取り、書き込み、実行の略語です。chmod では、これらの略語を使用してファイル権限を変更できます。

ug +(増加) r
chmod o -(削除) w ファイルまたはディレクトリ a =(値の割り当て) x

例えば:

# 自分自身に読み取り、書き込み、実行権限を与え、ユーザーグループと他のユーザーに読み取りと実行操作を許可します chmod u=rwx,go=rx .bashrc
#すべてのユーザーに書き込み権限を追加 chmod a+w .bashrc
# すべてのユーザーの書き込み権限を削除します chmod aw .bashrc

グループを変更する chgrp

ファイルのグループを変更するには、change group の略語である chgrp コマンドを使用します。コマンドの形式は次のとおりです。

chgrp [-R] グループ名 ディレクトリ名/ファイル名

-R はディレクトリとサブディレクトリのファイルを再帰的に変更します。groupname は、システム上の /etc/group ファイルに存在するグループである必要があります。

# 現在のディレクトリとそのサブディレクトリ内のすべてのファイルのグループを mysql グループに更新します chgrp -R mysql 。

ファイルの所有者を変更する chown

ファイルの所有者を変更するには、change owner の略語である chown コマンドを使用します。コマンドの形式は次のとおりです。

chown [-R] 所有者 ディレクトリ名/ファイル名

または

chown [-R] 所有者:グループ ディレクトリ名/ファイル名

chown コマンドは、ファイルの所有者を変更するだけでなく、ファイルのグループも変更できます。所有者の後にグループ名を追加するだけです。

# install.log を mysql ユーザーに変更します chown mysql install.log
# install.log を root ユーザーと root グループに変更します chown root:root install.log

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Linux でファイル権限を変更する chmod コマンドの詳細な分析
  • Linux のファイル権限を変更するコマンド: chmod コマンドの詳細な説明
  • Linux でディレクトリ ファイルの権限 (コマンド) を表示および変更する
  • Linux でディレクトリとファイルの権限を変更するための簡単なコマンドの説明
  • Linux システムでファイルの読み取りおよび書き込み権限を表示および変更する方法

<<:  MySQL 8 の新機能: 非表示のインデックス

>>:  antd pro に基づく SMS 認証コード ログイン機能 (プロセス分析)

推薦する

Zen Coding 簡単で素早いHTMLの書き方

禅コーディングテキストエディタプラグインです。 Zen Coding を使用するテキスト エディター...

WindowsにMySQL5.7圧縮パッケージを素早くインストールする

この記事では、Windows に MySQL 5.7 圧縮パッケージをインストールする方法について説...

今日と昨日の 0:00 タイムスタンプを取得する MySQL の例

以下のように表示されます。昨日: UNIX_TIMESTAMP(CAST(SYSDATE() AS ...

el-table のテーブルを最適化するために仮想リストを使用する方法についての簡単な説明

目次序文解決具体的な実装満たすべき前提条件質問序文テーブルをよく使用します。データ量が多い場合は直接...

MySQL データベースのエンコーディングを utf8mb4 に変更する方法

utf8mb4 エンコーディングは utf8 エンコーディングのスーパーセットであり、utf8 と互...

CSS でのフィルタープロパティの使用に関する詳細な説明

フィルター属性は要素の視覚効果を定義しますぼかし画像にガウスぼかしを適用します。 「半径」の値は、ガ...

Docker View プロセス、メモリ、カップ消費量

Docker プロセス、メモリ、カップ消費量を表示dockerコンテナを起動し、dockerinsp...

vscode で console.log を書く 2 つの簡単な方法の詳細な説明

(I) 方法 1: 事前にスクリプト タグ内に直接定義します。この HTML ファイルにのみ適用され...

MYSQL の binlog 最適化に関する考察の要約

質問質問 1: トランザクションをコミットするときに REDO ログをフラッシュすることによって発生...

Dockerデータを完全にクリーンアップする方法

目次定期的に剪定するミラーエビクションコンテナのクリーンアップネットワークソート体積の蒸発完全にクリ...

WeChatアプレットbindtapとcatchtapの違いの詳細な説明

目次1. イベントとは何ですか? 2. イベントの使い方3. バインドタップとキャッチタップの違い4...

Nginx ログのカスタマイズとログ バッファの有効化の詳細な説明

序文ウェブサイトのアクセス元をカウントしたい場合は、PHP を使用して情報を取得してデータベースに記...

Vueは透かし効果を簡単に実現します

序文: Vueプロジェクトで透かし効果を使用するには、コンテナを指定できます効果画像: 1. コンテ...

Vueプロジェクトでのトークン検証ログイン(フロントエンド部分)

この記事の例では、Vueプロジェクトでのトークン検証ログインの具体的なコードを参考までに共有していま...

DockerコンテナでLNMPをコンパイルする例

目次1. プロジェクトの説明2. Nginxイメージの作成3. MySQLイメージの作成4. PHP...