Linuxのファイルとフォルダの権限を操作する方法

Linuxのファイルとフォルダの権限を操作する方法

Linux のファイル権限

まず、現在のディレクトリ内のファイルの内容を確認しましょう。

ls -l 現在のディレクトリ内のファイルのリストを表示します
ls -l xxx.xxx (xxx.xxxはファイル名) 指定されたファイルを表示します


ファイルの権限は、合計 10 桁の -rw-rw-r-- です。

そのうち、最初のものはタイプを表します(詳細は下の図に示されています)

  1. 中央の3つのrw-は所有者(ユーザー)を表します。
  2. 3 つの rw- はグループを表します。
  3. 最後の 3 つの R は他者を表します。

それでは、次の 9 つの数字について説明します。

  1. rはファイルが読み取り可能であることを意味する
  2. wはファイルが書き込み可能であることを意味します(書き込み)
  3. x はファイルが実行可能であることを意味します(プログラムの場合)

- 対応する権限が付与されていないことを示します

ファイルおよびフォルダの操作権限:

権限略語通常のファイルへの影響フォルダへの影響
読むrファイルの内容を表示フォルダ内のファイルを一覧表示する (ls)
書くファイルの内容を変更するフォルダ内のファイル(フォルダ)を削除、追加、または名前変更する
埋め込むxファイルはプログラムとして実行できるフォルダにcd



注意すべき点は、ディレクトリの内部ファイルを開いて表示するには、ディレクトリに読み取り権限と実行権限の両方が必要であり、ディレクトリ内に他のファイルを作成するには、ディレクトリに書き込み権限が必要であることです。これは、ディレクトリ ファイルが実際にはディレクトリ内のファイルのリストなどの情報を格納するためです。

補充:

特別な権限 SUID、SGID、Sticky
Linux システムには、ユーザー ID に関連しない 3 つのファイル権限属性があります。つまり、SUID、SGID、Sticky です。
SUID (ユーザーIDの設定、4):
この属性は、実行権限を持つファイルに対してのみ有効であり、ディレクトリに対しては有効ではありません。 SUID 権限でプログラムを実行すると、結果として得られるプロセスの所有者は、プログラムを開始したユーザーではなく、プログラム ファイルの所有者になります (両者が同一人物である場合を除く)。たとえば、プログラムの所有者が root であり、SUID 属性を持っている場合、通常のユーザーがプログラムを実行すると、root がプログラムを実行した場合と同じになります。 (このプロパティはシェル スクリプト プログラムでは無効であることに注意してください。) このプロパティにより、一部の特殊なプログラム (lpr など) の起動が容易になります。しかし、場合によってはセキュリティ上のリスクも生じます。たとえば、SUID 属性を持つプログラムが実行中にシェルを実行すると、ユーザーはそれを使用してシステムの最高の権限を取得できます。 SUID は次のように表すことができます。

$ ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root 47032 2014年2月16日 /usr/bin/passwd

SGID(グループIDの設定、4):
実行可能ファイルの場合、SGID は SUID に似ており、生成されたプロセスのグループはプログラム ファイルが属するグループになります。ディレクトリの場合、SGID 属性により、ディレクトリ内に新しく作成されたファイルはディレクトリと同じグループに属するようになります。 SGID は次のように s で表すこともできます。

$ ls -l /var
drwxrwsr-x 2 ルートスタッフ 4096 2014年4月10日 ローカル
drwxrwxr-x 15 ルート syslog 4096 4月4日 19:57 ログ

スティッキー、1:
ディレクトリに対してのみ有効です。スティッキー属性を持つディレクトリの下のファイルまたはディレクトリは、所有者によって削除または名前変更することができます。スティッキー属性は、次のようなディレクトリを作成するためによく使用されます。グループ ユーザーはこのディレクトリに新しいファイルを作成したり、ファイルの内容を変更したりできますが、ファイル所有者だけが自分のファイルを削除したり名前を変更したりできます。システム内の /tmp フォルダなど。属性文字列では、これは通常 t で表されます。

$ ls -l /
drwxrwxrwt 8 ルート ルート 4096 4月 4日 23:57 tmp

ユーザーに応じたファイルやフォルダの操作権限を変更する

他のユーザーに読み取り、書き込み、または実行を許可したくないファイルがある場合は、ファイルの権限を変更する必要があります。これを行うには 2 つの方法があります。

方法1: バイナリデジタル表現


各ファイルに対する 3 つの権限セット:

  1. uは所有者(ユーザー)を表します
  2. g は所有者が所属するグループを表します。
  3. o はその他を表しますが、u と g (その他) は除きます。
  4. aはu、g、oを含むすべての人を表します
  5. 上図によれば、rwx は数字に置き換えることもできます。
  6. r------------4
  7. w -----------2
  8. × ------------1
  9. -------------0

上記を全員が理解すれば、次の一般的な権限も簡単に理解できるようになります。

  1. -rw------- (600) 所有者のみが読み取りおよび書き込み権限を持ちます
  2. -rw-r--r-- (644) 所有者のみが読み取りと書き込みの権限を持ち、グループとその他のユーザーは読み取りの権限のみを持ちます
  3. -rwx------ (700) 所有者のみが読み取り、書き込み、実行権限を持ちます
  4. -rwxr-xr-x (755) 所有者のみが読み取り、書き込み、実行権限を持ち、グループとその他のユーザーは読み取りと実行権限のみを持つ
  5. -rwx--x--x (711) 所有者のみが読み取り、書き込み、実行権限を持ち、グループとその他のユーザーは実行権限のみを持つ
  6. -rw-rw-rw- (666) 全員に読み取りおよび書き込み権限があります
  7. -rwxrwxrwx (777) 全員に読み取り、書き込み、実行権限がある

実際の運用について

test の権限を確認した後、所有者には読み取り、書き込み、および実行の権限があります。


その後、ファイルにいくつかのコンテンツを追加し、権限を変更し(700:-rwx------)、shiyanlou(所有者)でファイルを読み取ろうとしたところ、読み取り可能でした。


下の図のように、別のユーザー Peter に変更して再度読み取りを試みます。権限が不十分で読み取りができないことがわかります。


方法2: 加算と減算の代入演算

  1. uは所有者(ユーザー)を表します
  2. g は所有者が所属するグループを表します。
  3. o はその他を表しますが、u と g (その他) は除きます。

aはu、g、oを含むすべての人を表します

+ と - はそれぞれ対応する権限の追加と削除を示します。 + 記号は通常は表示されません (学習を始めたばかりのときは追加します)

ターミナルに次のように入力します:

chmod o+w xxx.xxx
chmod ow xxx.xxx は、他のユーザーにファイル xxx.xxx への書き込み権限を与えることを意味します。

chmod go-rw xxx.xxxは、xxx.xxx内のグループとその他のユーザーの読み取りおよび書き込み権限を削除することを意味します。
chmod ug-r xxx.xxx



ファイルまたはフォルダの所有者/グループを変更する

ディレクトリまたはファイルの所有権 (所有者/グループ) を変更するには、chown コマンドを使用します。

注: ここで言及されている断続的な内容は、次の内容 (ユーザー/グループの追加、削除、変更、クエリ) を学習した後に補足されます。

ファイルやディレクトリの権限を変更できるだけでなく、それらの所有権や所属するユーザー グループも変更できます。権限の設定と同様に、ユーザーはグラフィカル インターフェイスを使用して権限を設定するか、chown コマンドを実行して権限を変更できます。
まず ls -l を実行してディレクトリを確認しましょう:

テスト ファイルが属するユーザー グループは root であり、所有者は root であることがわかります。
次のコマンドを実行して、上図のテスト ファイルの所有権をユーザー peter に譲渡します。
# chown ピーター テスト


グループを変更し、テスト ファイルをルート グループから Peter グループに転送するには、次のコマンドを使用します。
# chown:peterテスト


ユーザーとグループを一緒に変更します。以下に示すように、フォルダーまたはファイル test の所有者を shiyanlou に変更し、それが属するグループを shiyanlou に変更します。


以上が、編集者が紹介した Linux のファイルとフォルダの権限操作方法についての詳細な説明です。皆様のお役に立てれば幸いです。ご質問がございましたら、メッセージを残していただければ、編集者がすぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

以下もご興味があるかもしれません:
  • Linux ファイル ディレクトリのデフォルトの権限 (詳細な説明)
  • Linux ファイルのアップロード、ファイルまたはディレクトリに Apache 権限を追加する方法
  • Linux でディレクトリ ファイルの権限 (コマンド) を表示および変更する
  • Linux におけるファイル権限とディレクトリ権限の意味と、ファイルディレクトリに対する権限の重要性
  • Linux でディレクトリとファイルの権限を変更するための簡単なコマンドの説明
  • Linux システムでファイルの読み取りおよび書き込み権限を表示および変更する方法
  • Linuxでフォルダをアップロードおよびダウンロードする方法
  • Linux シェルでフォルダ内のファイル名を取得する方法
  • フォルダとファイルを削除する Linux コマンド (空でないファイルを含む強制削除)
  • Linuxでフォルダを圧縮する方法

<<:  node.js が大規模プロジェクトに適さない理由

>>:  mysqlは昨日の日付、今日の日付、明日の日付、前の時間と次の時間の時刻を取得します

推薦する

カルーセル効果を実現するネイティブJavaScript

この記事では、カルーセルの効果を実現するためのJavaScriptの具体的なコードを参考までに共有し...

MySQL データベースの最適化: テーブルとデータベースのシャーディング操作の詳細な説明

この記事では、例を使用して、MySQL データベースの最適化のためのテーブルおよびデータベース シャ...

Docker でローカルにイメージをインポート/保存/読み込み/削除する方法

1. Dockerはローカルイメージをインポートする場合によっては、イメージをローカルまたは別の友人...

MySQL 5.7 でルートパスワードを忘れた後に変更する方法の詳細なチュートリアル

序文長い間、MySQL のアプリケーションおよび学習環境は MySQL 5.6 以前のバージョンであ...

VUE ユニアプリの基本コンポーネントの簡単な紹介

1. スクロールビュー垂直スクロールを使用する場合は、固定の高さを指定して CSS で高さを設定する...

CSS3 のメディアクエリと rem レイアウトを組み合わせてモバイル画面に適応

CSS3 構文: (750 ピクセルのデザインの場合、1rem = 100 ピクセル) @media...

Vueはログイン認証コードを実装する

この記事では、ログイン認証コードを実装するためのvueの具体的なコードを例として紹介します。具体的な...

VMware15.5でcentos8.1をインストールし、物理メモリが不足する問題に対処する最も完全なチュートリアル

1. 仮想マシンの準備1. 新しい仮想マシンを作成する 2. 仮想マシンのカスタマイズを選択する 3...

最も完全なpackage.json分析

目次1. 概要2. 名前フィールド3. バージョンフィールド4. 説明フィールド5. キーワードフィ...

VMware インストール エラー VMware Workstation が VMware 認証サービスを開始できませんでした

背景: SAP ECC サーバーをインストールし、XP をプレインストールしたいと考えています。XP...

Nginx の書き換え正規マッチング書き換え方法の例

Nginx の書き換え機能は、リダイレクトと同様に、URL アドレスを一時的または永続的に新しい場所...

Visual Studio Code + Reactをベースに開発環境を構築するプロセス

開発環境ウィンドウ開発ツール Visual Studio Codeノードのインストールとnpm Wi...

SQL における distinct と row_number() over() の違いと使い方

1 はじめにデータベース内のデータを操作するための SQL 文を記述するときに、いくつかの不快な問題...

16 の XHTML1.0 と HTML の互換性ガイドラインの概要

1.ページを XML タイプとして宣言しないでください。ページでは UTF-8 または UTF-16...

elasticsearchを使用してインデックスデータを定期的に削除する

1. ESを使うこともあるリソースが限られている、またはビジネス上のニーズにより、最新の期間のデータ...