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 認証コード ログイン機能 (プロセス分析)

推薦する

ReactにおけるuseRefの具体的な使い方

React の経験がある人なら、コンポーネントインスタンスオブジェクトや DOM オブジェクトを取得...

JavaScript 配列の Reduce() メソッドの構文と例の分析

序文Reduce() メソッドは関数を累積器として受け取り、配列内の各値 (左から右へ) が単一の値...

jsを使用してスライダーをドラッグする効果を実現します

この記事では、jsでスライダーをドラッグする方法の具体的なコードを参考までに共有します。具体的な内容...

シンプルな虫眼鏡効果を実現するJavaScript

大きな箱の中に写真があります。マウスをその上に置くと、半透明のマスク レイヤーが表示されます。マウス...

Mysqlマスタースレーブ同期の実装原理

1. MySQL マスター/スレーブ同期とは何ですか?マスター データベースのデータが変更されると、...

HTMLバージョン宣言DOCTYPEタグ

通常のウェブサイトのソースコードを開くと、ソースコードは<!DOCTYPE htmlで始まる必...

クリックナンバーゲームを実装するネイティブJS

参考までに、クリックナンバーゲームをネイティブJSで実装しました。具体的な内容は以下のとおりです。最...

JavaScript の Set データ構造の詳細な説明

目次1. セットとは何か2. セットコンストラクタ2.1) 配列2.2) 文字列2.3) 議論2.4...

Zabbix設定 DingTalkアラーム機能実装コード

必要Zabbix で DingTalk アラームを設定する方法は、Prometheus で Ding...

数千万のデータを扱うMySQLのページングクエリのパフォーマンスを最適化する

MySQL のデータ量が多い場合、制限ページングが使用されます。ページ数が増えると、クエリの効率が低...

Docker で Oracle 11g イメージ構成をプルダウンする際の問題を分析する

1. イメージをプルするdocker pull レジストリ.cn-hangzhou.aliyuncs...

MySQLがデータの削除を推奨しない理由

目次序文InnoDB ストレージ アーキテクチャInnodb テーブルスペースインドストレージディス...

MySQL エラー番号 1129 の解決方法

SQLyog が MySQL に接続する際にエラー番号 1129 が発生します: mysql エラー...

HTML テーブル マークアップ チュートリアル (40): ヘッダーの暗い境界線の色属性 BORDERCOLORDARK

テーブルヘッダーでは、暗い境界線の色を個別に定義できます。基本的な構文<TH 境界線の色を暗く...

TypeScript 名前空間のマージの説明

目次同じ名前の名前空間をマージする名前空間とその他の種類のマージ同じ名前の名前空間とクラスをマージす...