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

推薦する

CSS flex 複数列レイアウト

基本的な3列レイアウト 。容器{ ディスプレイ: フレックス; 幅: 500ピクセル; 高さ: 20...

MySQL ジョイントインデックスの使用ルール

結合指数は複合指数とも呼ばれます。複合インデックスの場合: MySQL はインデックス内のフィールド...

CocosCreatorで複数のタイマーを使用する方法の詳細な説明

1.タイムアウトを設定する3 秒後に abc を印刷します。一度だけ実行します。 setTimeou...

CentOS 7 での Docker プロキシの設定 (Linux での Systemd サービスの環境変数設定)

Docker デーモンは、 HTTP_PROXY 、 HTTPS_PROXY 、およびNO_PRO...

Nginx を使用して IP アドレスが悪意を持って解決されるのを防ぐ方法

Nginxを使用する目的Alibaba Cloud ECS クラウド サーバーを使用して、まずは著者...

Vue.jsはシンプルなタイマー機能を実装します

この記事では、参考までに、簡単なタイマー機能を実装するためのvue.jsの具体的なコードを紹介します...

ドラッグアンドドロップでVueユーザーインターフェースを生成する方法

目次序文1. 技術原理1.1 レイアウト1.2 コンポーネント1.3 ステータス1.4 イベント1....

MySQLクエリのパフォーマンスを分析する方法

目次スロークエリの基礎: データ取得の最適化データベースから不要なデータが要求されていないか確認する...

mysql 5.6.21 のインストールと設定の詳細な手順

1. 概要MySQL バージョン: 5.6.21ダウンロードアドレス: https://dev.my...

CSS3 rgb と rgba (透明色) の使い方の詳しい説明

誰もが色にとても敏感だと思います。私たちの目が見るところにはどこにでも色があります。では、CSS で...

Nginx でアクセス頻度、ダウンロード速度、同時接続数を制限する方法

1. アクセス頻度、同時接続、ダウンロード速度を制限するために使用されるモジュールと命令の概要ngx...

preタグを自動的に折り返すためのサンプルコード

pre 要素は、フォーマット済みのテキストを定義します。 pre 要素で囲まれたテキストでは、通常、...

負荷分散と動的および静的分離操作を実現するDocker NginxコンテナとTomcatコンテナ

Tomcat8 イメージをダウンロード [root@localhost ~]# docker sea...

SSM VUE Axios の詳細な説明

目次SQL ログを表示するにはどうすればいいですか? ? SpringMVC でのパラメータ渡しの説...

MySQLクエリ条件におけるonとwhereの配置の違いの分析

導入今日SQLを書いているときに、問題が発生しました。要件は、データを照会し、スコアと過去 1 週間...