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

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

Linux の優れた点は、マルチユーザー、マルチタスク システムにあります。 Linux では通常、ファイルにアクセスできる ID を所有者、グループ、その他の 3 つのカテゴリに分類し、3 つの ID それぞれに読み取り、書き込み、実行の権限が与えられます。

権威の3つのアイデンティティ

ファイルの所有者

ユーザー レベルのファイル権限 (通常はファイルの作成者) は、chown によって変更できます。

ユーザーグループ

ユーザー グループをチームと比較すると、ユーザーはそのメンバーとなり、チーム メンバーはファイルに対して同じ権限を持ちます。ファイルのユーザー グループは chgrp を通じて変更できます。

ユーザー グループの最も便利な使用法の 1 つは、チームとしてリソースを開発する場合です。 2 つのプロジェクト、project1 と project2 が 2 つのチームによって開発されています。プロジェクトにはそれぞれユーザー グループ権限 1 と 2 が割り当てられており、スーパーバイザーは権限 1 と 2 を同時にサポートします。つまり、各アカウントは複数のユーザー グループのサポートを受けることができます。

その他

ファイルの所有者ではなく、ファイルのユーザー グループに属していない、つまりその他すべてのユーザー。

ファイルの権限

定義と見解

ファイル関連の情報を表示するには、サーバー上で次のコマンドを実行します。

[root@iz2zedcscvry6t0psspzswz ~]# ls -al
合計 44
dr-xr-x---。5 root root 4096 9月9日 12:11 。
dr-xr-xr-x. 18 root root 4096 9月9日 12:39 ..
-rw-r--r--. 1 ルート ルート 18 12月 29 2013 .bash_logout
-rw-r--r--. 1 ルート ルート 176 2013年12月29日 .bash_profile
-rw-r--r--. 1 ルート ルート 176 2013年12月29日 .bashrc
drwx------ 3 ルート ルート 4096 2017年10月15日 .cache
-rw-r--r--. 1 ルート ルート 100 2013年12月29日 .cshrc
drwxr-xr-x 2 ルート ルート 4096 2017年10月15日 .pip
-rw-r--r-- 1 ルート ルート 64 2017年10月15日 .pydistutils.cfg
drwx------ 2 ルート ルート 4096 9月 9日 12:11 .ssh
-rw-r--r--. 1 ルート ルート 129 2013年12月29日 .tcshrc

次の例は、各列の意味を示しています。

ファイル権限 接続数 ファイル所有者 ユーザーグループ ファイルサイズ 更新日 ファイル名
drwxr-xr-x 2 ルート ルート 4096 2017年10月15日 .pip

ファイル権限部分では、drwxr-xr-x の最初の文字はファイルの種類を表し、ここでの d はディレクトリを表します。 d = ディレクトリ、- = ファイル、l = リンクファイル。

以下は 3 つのグループです。最初のグループ rwx はファイル所有者の権限を表し、2 番目のグループ rx はユーザー グループの権限を表し、3 番目のグループ rx はその他のユーザーの権限を表します。

サンプル ファイルでは、ファイル所有者の root には読み取り、書き込み、実行の権限があり、root ユーザー グループのユーザーには読み取りと実行の権限があり、その他のユーザーには読み取りと実行の権限があります。

  • ファイルが作成または変更された特定の日付を表示します: ls -al --full-time
  • ls の詳細な使用方法を表示するには、man ls または info ls を実行します。

ファイルの権限を変更する

  • chgrp (グループの変更): ファイルが属するユーザーグループを変更する
  • chown(所有者の変更): ファイルの所有者を変更する
  • chmod (change mod): ファイルの権限を変更する

ユーザーグループの変更

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

# install.logのユーザーグループをusersに変更する
chgrp ユーザーのインストール.log

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

chownはファイルが属するユーザーグループを変更することもできます

chown [-R] アカウント名: グループ名 ファイルまたはディレクトリ # install.log のユーザーグループと所有者を root に変更します
chown root:root インストール.log

ファイルの権限の変更

重量配分: r:4 w:2 r:1

# ファイルの権限を -rwxr-xr に設定する

chmod 754 ファイル名

# 実行可能ファイルを他のユーザーが変更できないように設定します chmod 755 filename # -rwxr-xr-x

シンボリックタイプはファイルの権限を変更します

注文身元操作する書類
chmodウゴア+ (追加) - (削除) = (設定) RXファイルまたはディレクトリ

アイデンティティの解釈: u = ユーザー、g = グループ、o = その他、a = すべて

# ファイルに実行権限を持たせるが、元の権限は分からない chmod a+x filename

ディレクトリとファイルの権限の意味

Linux ファイルが実行可能かどうかは、「x」権限によって決定され、ファイル名とは絶対的な関係はありません。

ファイルは実際のデータが保存される場所であり、ディレクトリの主な内容は記録されたファイル名のリストです。

ファイル権限の説明

  • r: ファイルの内容を読み取ることができます
  • w: ファイルの内容を編集できます
  • x: ファイルはシステムによって実行される権限を持っています

ディレクトリ権限の説明

  • r: ディレクトリ内のファイル名データを照会します(lsを使用できます)
  • w: 作成、削除、名前変更、エスケープ
  • x: このディレクトリに入ることはできますか?

権限設定ファイル

  • アカウント情報: /etc/passwd
  • 個人パスワード: /etc/shadow
  • グループ名: /etc/group

【総合事例】

[質問 1.1] 2 つのユーザー グループ (group1 と group2) と 3 人のユーザー (dennis、daniel、abigale) を作成し、最初の 2 人のユーザーを group1 に割り当て、最後の 1 人のユーザーを group2 に割り当てます。

【質問1.2】ユーザーdennisとしてログインし、Hello.javaファイルを作成します。

【質問1.3】ユーザーdanielとしてログインし、/home/dennisディレクトリにアクセスして、そこに作成されたHello.javaファイルを読み書きできるかどうかを確認します。

[質問 1.4] ユーザー dennis としてログインし、ディレクトリ /home/dennis とファイル Hello.java の読み取りおよび書き込み権限を変更します (訂正: ディレクトリ権限を変更するときは、760 ではなく 770 を使用する必要があります。そうしないと、権限が不十分になります)

【質問1.5】繰り返し【質問1.3】

【質問1.6】abigaleのユーザーグループをgroup2からgroup1に変更する

その後、cat /etc/passwdを使用して確認することができます。

【参照】

-groupadd グループ名、Linux でグループを追加

-vi /etc/group、Linuxのすべてのグループ情報を表示し、表示および編集できます

-cat /etc/group、Linux のすべてのグループ情報を表示します。表示のみ可能で編集はできません。

-useradd-g グループ名 ユーザー名、ユーザーを作成するときに、ユーザーが割り当てられるグループを指定します

-vi /etc/passwd、Linuxのすべてのユーザー情報を表示し、表示および編集できます

-cat /etc/passwd、Linuxのすべてのユーザー情報を表示、表示のみ可能、編集は不可

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

以下もご興味があるかもしれません:
  • Linux のファイル権限をバックアップおよび復元する方法
  • Linux ファイル ディレクトリのデフォルトの権限 (詳細な説明)
  • Linux のファイル権限を変更するコマンド: chmod コマンドの詳細な説明
  • Linux ファイルのアップロード、ファイルまたはディレクトリに Apache 権限を追加する方法
  • Linux でディレクトリ ファイルの権限 (コマンド) を表示および変更する
  • Linux のファイルとディレクトリの権限の詳細な紹介
  • Linuxのファイル権限とディレクトリ管理の詳細な説明
  • Linux でファイルの権限 (所有権) を変更する

<<:  Node の SMS API で検証コード ログインを実装するためのサンプル コード

>>:  Windows Server 2008 R2 に MySQL 5.7.10 をインストールする手順

推薦する

ファイアウォールルールの設定とコマンド(ホワイトリスト設定)の詳しい説明

1. ファイアウォールルールを設定する例1: ポート8080を外部に公開する ファイアウォールコマン...

史上最も簡単な MySQL データのバックアップと復元のチュートリアル (パート 2) (パート 37)

データのバックアップと復元パート3の詳細は次のとおりです基本的な概念:バックアップ、現在のデータまた...

WeChat アプレットのカスタム下部ナビゲーション バー コンポーネント

この記事の例では、WeChatアプレットの下部ナビゲーションバーコンポーネントの具体的な実装コードを...

Dockerイメージのインポートとエクスポートの実装

GitLabのDocker使用法gitlab ドッカー起動コマンド docker run -d -p...

doctype のマークアップ検証

しかし最近、この方法を使用すると問題が発生することがわかりました。コードを参照してください。コードを...

CSS シャドウアニメーションの最適化のヒント

このテクニックは、この記事から来ています - シルキーでスムーズなパフォーマンスでボックスシャドウを...

Vue エクスポート Excel 機能の全プロセス記録

目次1. フロントエンドのリーディングプロセス: 2. プラグインの使用と初期化2.1 vue-ad...

Dockerでコンテナを作成するときにコンテナIPを指定する実装例

Docker はコンテナを作成するときに、デフォルトでブリッジ ネットワークを使用し、IP アドレス...

アリババの中秋節ロゴとウェブサイトのデザインプロセス

<br />まずアイデアを考え、次にスケッチを描き、次にマウスでスケッチし、最後にフラッ...

MySQL でのワイルドカードを使用したファジークエリの実装に関する簡単な説明

MySQL データベースでは、あいまいクエリが必要な場合にワイルドカードを使用します。まず、演算子と...

VueコンポーネントライブラリElementUIはテーブルリストのページング効果を実現します

ElementUIはテーブルリストのページング効果のチュートリアルを実装しています。参考までに。具体...

MySQL全文検索の使用例

目次1. 環境整備2. データの準備3. ショーを始める4. 単語分割エンジン要約する参考文献1. ...

2018 年にリリースされる Apache Spark 2.4 の新機能は何ですか?

この記事は、2018 年 9 月 19 日に Adob​​e Systems Inc で開催された ...

jQuery は呼吸カルーセルを実装します

この記事では、ブレッシングカルーセルを実装するためのjQueryの具体的なコードを参考までに共有しま...

MySQLファイルストレージの詳細な説明

ファイルシステムとは何かInnoDB や MyIASM などのストレージ エンジンはテーブルをディス...