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は昨日の日付、今日の日付、明日の日付、前の時間と次の時間の時刻を取得します

推薦する

Mysql 8.0.18 ハッシュ結合テスト (推奨)

ハッシュ結合ハッシュ結合は実行にインデックスを必要とせず、ほとんどの場合、現在のブロックネストループ...

CocosCreator Huarongdaoデジタルパズルの詳しい説明

目次序文文章1. パネル2. 華容島ソリューション3. コード4. 注記序文華容路とは何ですか? 誰...

MySQL5.6.31 winx64.zip インストールと設定のチュートリアル

#1. ダウンロード # #2. ローカルに解凍し、必要な構成のmy*.iniを変更します。 #3....

MySQL 操作: JSON データ型の操作

前回の記事では、MySQL データ保存手順パラメータの詳細な例を紹介しました。今日は、JSON デー...

サーバーから返される14の一般的なHTTPステータスコードの詳細な説明

HTTP ステータス コードステータス コードは 3 桁の数字と理由フレーズ (最も一般的なもの: ...

VMware12.0 インストール Ubuntu14.04 LTS チュートリアル

私は、デスクトップ バージョンとサーバー バージョンの両方で、仮想マシンにさまざまなイメージを何度も...

MySQL の遅いクエリの最適化方法と最適化の原則

1. 日付のサイズを比較するには、XML に渡される日付形式は 'yyyy-MM-dd...

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

セルでは、暗い境界線の色を個別に定義できます。基本的な構文<TD ボーダーコロダーク=colo...

Linux でネットワーク パケット損失と遅延をシミュレートする方法

netem と tc: netem は、Linux カーネル バージョン 2.6 以降で提供されるネ...

VMware Workstation Pro 16 ライセンス キーと使用方法のチュートリアル

VMware Workstation は、開発、テスト、デモンストレーション、展開のために仮想マシン...

Vue3 の使用 (パート 1) Vue CLI プロジェクトの作成

目次1. 公式ドキュメント2. Vue CLIプロジェクトを作成する1. Vue CLIをインストー...

sqlalchemy に基づいて MySQL で追加、削除、変更、クエリ操作を実装する

需要シナリオ:上司は、クロ​​ーラーを使用してMySQLデータベースにデータを書き込んだり更新したり...

MySQL 4 の一般的なマスタースレーブレプリケーションアーキテクチャ

目次1つのマスターと複数のスレーブのレプリケーションアーキテクチャマルチレベルレプリケーションアーキ...

Mysql SSHトンネル接続を使用するための基本的な手順

序文セキュリティ上の理由から、MySQL の root ユーザーはローカルにのみログインでき、外部ネ...