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

推薦する

MySQLループは数千万のデータを挿入する

1. テストテーブルを作成する テーブル `mysql_genarate` を作成します ( `id...

MySQL水平および垂直テーブル変換操作の実装方法

この記事では、例を使用して、MySQL の水平テーブルと垂直テーブル間の変換操作を実装する方法を説明...

MYSQL 文字関数を使用してデータをフィルタリングすることに関する質問

問題の説明:構造:テストには2つのフィールドがあります。これらは col1 と col2 で、どちら...

HTML tbody の使用

構造化テーブル (IExplore のみ) 1) 行ごとにグループ化<thead> .....

MySQL 8.0.18 のインストールと設定方法のグラフィックチュートリアル

この記事は、参考のためにMySQL 8.0.18のインストールと設定のグラフィックチュートリアルを記...

Vueは商品詳細ページの虫眼鏡機能を実装します

この記事では、商品詳細ページの虫眼鏡を実装するためのVueの具体的なコードを参考までに共有します。具...

CSS レスポンシブ レイアウト システムの例コード

レスポンシブ レイアウト システムは、今日の一般的な CSS フレームワークではすでに非常に一般的で...

Ubuntu での CUDA と CUDNN のインストールとアンインストールの実装

目次序文グラフィックドライバーをインストールするCUDAをアンインストールするCUDAをインストール...

Dockerはホスト間のネットワーク通信を実現するためにMacvlanを導入する

基本的な概念: Macvlanの動作原理: Macvlan は、Linux カーネルでサポートされて...

MySQL 8.0.12 クイックインストールチュートリアル

MySQL 8.0.12 のインストールには 2 日かかり、さまざまな問題が発生しました。以下にまと...

他の人が私のウェブページを保存したり、サイトをコピーしたりするのを防ぐためのヒント

現在、インターネット上でウェブサイトをコピーすることは非常に一般的です。では、他人が私たちのウェブサ...

サイトマップをウェブページの下部に配置するメリットと例

以前は、ほとんどすべての Web サイトに、すべてのページをリストしたサイトマップ ページがありまし...

Vue Notepadの例の詳細な説明

この記事の例では、メモ帳機能を実装するためのVueの具体的なコードを参考までに共有しています。具体的...

JS を使用して HTML で回転するクリスマスツリーを実装する

<!DOCTYPE ヘムル パブリック> <html> <ヘッド&g...

閲覧時に作成されたWebページの下部にある余分な空白スペースを削除する方法

Dreamweaver または FrontPage を使用して HTML Web ページを作成する場...