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 をインストールする手順

推薦する

Vue ページ印刷で自動ページングを実装する 2 つの方法

この記事では、ページ印刷の自動ページングを実現するためのVueの具体的なコードを例として紹介します。...

Redmine の Docker インストール手順

イメージをダウンロードします(オプションの手順です。省略した場合は、手順 3 と 4 で自動的にイン...

Linuxサーバーのファイアウォールを変更してポートへのリモートアクセスを許可する方法

1. 問題の説明セキュリティ上の理由から、新しく構築されたサーバー クラスターでは、指定されたポート...

CSS3は、大きな円のドット分布と回転効果を実現するためにtransform-originを使用します。

まず、transform-origin 属性を使用する必要があります。transform 属性は必ず...

ReactHooks バッチ更新状態とルートパラメータの取得例の分析

目次1. 一括更新の方法コンソール出力2. フックがルーティングパラメータを取得する方法実行効果1....

Ansibleを使用してTomcatをバッチでデプロイする方法

1.1 ディレクトリ構造の構築この操作は、nginx+mysql+tomcat+dbのディレクトリ構...

Vue Router の 10 の高度なヒントのまとめ

序文Vue Router は、Vue.js の公式ルーティング マネージャーです。 Vue.js の...

クリックイメージ反転効果を実現するJavaScript

最近、顔コレクションに関するプロジェクトに取り組んでいましたが、フロントエンドモジュールを書いている...

nginx を介してローカルでリバースプロキシを構成するプロセス全体

序文Nginx は、イベント駆動型の非同期非ブロッキング処理フレームワークを使用する軽量 HTTP ...

メタタグにおける http-equiv 属性の使用の概要

metaはhtml言語のhead領域にある補助タグです。おそらく、これらのコードは不要だと思うかもし...

jsはreduceメソッドを使用してコードをよりエレガントにします

序文実際のプロジェクトでは、最も一般的な処理は計算とループロジックである可能性があります。配列でre...

Linux で open-vswitch をインストールおよびアンインストールする方法

1. ソースコードからovsをコンパイルしてインストールします。依存関係をインストールします: # ...

Vue 関数のアンチシェイクとスロットリングの正しい使用方法

序文1. デバウンス: 高頻度イベントがトリガーされた後、関数は n 秒以内に 1 回だけ実行されま...

IIS 7.5では、HTMLはSHTMLのようなinclude関数(モジュールマッピングの追加)をサポートします。

最初はたくさんのエラーを見つけましたが、実際には非常に簡単です。shtm の元の設定を参照するだけで...

Python スクリプトを Ubuntu で直接実行する方法

翻訳プログラムを例に挙げてみます。前回はWindowsでのアプリケーションのパッケージ化についてお話...