Linuxパーミッションの「その他」とは誰ですか?「実行」とはどういう意味ですか?


13

これら3つの質問に対する答えは見つかりませんでした。

  • 私たちのサーバー上のすべてのサービスにユーザーを与えた場合、「その他」は誰ですか、「その他」は正しく存在しませんか?たとえば、Apacheをユーザーに/var/www配置しapache、chowned をに設定して、chmod 700それが機能するはずであると入力した場合、

  • 「実行」と「読み取り」の違いは何ですか?

  • クリーンインストール(Ubuntuなど)後のシステム全体のデフォルトのファイル権限は何ですか?

回答:


16

私たちのサーバー上のすべてのサービスにユーザーを与えた場合、「その他」は誰ですか、「その他」は正しく存在しませんか?たとえば、Apacheをユーザーに/var/www配置しapache、chowned をに設定して、chmod 700それが機能するはずであると入力した場合、

権限がどのように機能するかを簡単に説明します。

  • 最初の数字は、ファイルの実際の所有者である(とファイルを所有しています誰がチェックls -lし、それを修正chown

  • 第二の数字は、(ファイルの所有者は、必ずしもファイルを所有している同じグループ内にあってはならないが)ファイルのグループのためのものです

  • 3桁目は意味、他の誰でないグループ内のファイルの所有者と誰もいないし。

したがって、chmod700までのファイルがによって所有されapacheている場合、「通常の」ユーザーであっても、そのファイルを読み取り、書き込み、または実行することはできません。これは非常に制限的であり、まれな場合にのみ必要です。たとえば、SSH秘密鍵を保護したい場合は、600アクセス許可を取得します。Apacheの場合、通常のユーザーアカウントではファイルを編集できなくなるという事実は別として、他の問題が発生する可能性もあります/var/www

したがって、一般的に言えば、x00他のユーザーの読み取り権限()を削除する必要はありません。

ディレクトリをapache所有させることもできます/var/wwwが、644(他のユーザーには読み取り専用)を使用することもできます。私がよく使用するもう1つの方法は、自分のユーザー Apacheユーザーを新しいwww-usersグループに追加してから、ファイルをに移動/var/wwwすること775です。このようにして、あなたとApacheの両方がファイルに書き込むことができます。詳しくはこちらをご覧ください:Apacheのグループ権限


「実行」と「読み取り」の違いは何ですか?

実行可能ファイルは、シェルから直接、ユーザーが直接実行できます。これを実証するために、短いファイルを書き、それを「テスト」と呼びましょう。次のコンテンツを追加します。

echo "I am executable"

ファイルを保存します。次に、シェルでを入力してみます./test。「-bash:./test:Permission denied」エラーが発生します。これは、デフォルトでは、新しく作成されたファイルには実行権限がないためです。実行権限を追加すると機能します。

$ chmod +x test
$ ./test
I am executable

これは単なるテストスクリプトですが、通常、すべてのバイナリファイル(コンパイル済みプログラムなど)にも実行権限セットが必要なため、読み取りだけでなく、実際に実行して何かを実行できます。

たとえば、これらは主ににあるシステムプログラム/binです。実行ls -l /binして、権限を調べます。ご覧のとおり、それらはによって所有されてrootおり、変更することはできませんが、いつでも実行できます。

したがって、一部のユーザーに対して特定のスクリプトおよびバイナリの実行を制限できるため、これもセキュリティ機能の一部です。

Unixパーミッションの詳細については、ウィキペディアの記事をご覧ください。"read-write-execute"として知られている基本的なアクセス許可は長い間使用されてきましたが、アクセス制御リストと呼ばれるものの一部にすぎません。これは、これよりもはるかに多くの機能を提供します。


クリーンインストール(Ubuntuなど)後のシステム全体のデフォルトのファイル権限は何ですか?

ディレクトリと所有者によって異なります。一部のファイルとディレクトリはシステムによって予約され、が所有していrootます。それでも、ほとんどの場合、通常のユーザーアカウントでそれらを読むことができます。

ホームフォルダーのような他のディレクトリは明らかにユーザーに属しています。複数のユーザー間で共有されている場合、マシン上の他のユーザーへの読み取りアクセス許可を拒否することは理にかなっています。結局のところ、プライベートなものを公開したくない場合です。

最後に、一部のファイルはデフォルトで実行可能です(例:)が、他のファイルは実行可能で/binはありません(例:の構成ファイル/etc)。

ファイルシステム階層標準は、 Linuxシステムで見つかったディレクトリの使用目的を指定します。ディレクトリで何をしたいかに基づいて、どのようなアクセス許可を設定するかをほぼ「推測」できます。


本当に本当にありがとうございました!もう1つ質問があります。「ファイル」と「実行可能」の間の行はどこにありますか。たとえば、Apacheによって実行または読み取られるPHPファイルはどこにありますか?もう一度ありがとう!
randomKek

.php通常、ファイルは実行可能ではありません。これらは、簡単に言えば、たとえばブラウザでブラウザをポイントしたときにのみApacheによって読み取られますhttp://example.com/file.php。Apacheが出力を表示できるようになる前に、PHPインストールによって解釈される必要がありますが、Apacheが処理します。あなたはできる理論的にPHPファイルを実行可能にし、スクリプトのようにそれを実行します-同じ調子で私たちは私たちのと同じようにtestファイルが、これはほとんど使用されません。
slhck 2012年

5

実行権限がディレクトリに対して異なる有効な意味を持つことを追加したいだけです。

以下のためのファイル

  • 読み取り:ファイルの内容を読み取ることができる場合
  • 書き込み:ユーザーまたはプロセスがファイルに書き込むことができる場合(その内容を変更)
  • 実行:ファイルを実行できる場合

フォルダ

  • 読む:ディレクトリリストを取得できる場合
  • 書き込み:ユーザーまたはプロセスがディレクトリの内容を何らかの方法で変更できる場合:ディレクトリ内に新しいファイルを作成するか、既存のファイルを削除するか、ファイルの名前を変更します。
  • 実行:ユーザーまたはプロセスがディレクトリにアクセスできる場合、つまり、そこに移動します(現在の作業ディレクトリにする)

いいえ、ディレクトリを個別に削除する権限はありません。

(この情報はここにあります。)


0

私はLinuxの専門家ではありませんが、それでも答えようとしています。

各ファイルシステムエントリには、関連付けられたユーザーとグループがあります。ユーザーの権限は、「ユーザー」フラグによって処理されます。同じグループに属するユーザーのユーザー権限は、「グループ」フラグによって処理されます。他のすべてのユーザーは、「その他」のフラグによって処理されます。

「読む」とは、それが言うことを意味します。「実行する」とは、ファイルを起動できる(コマンドなど)か、ディレクトリを一覧表示できることを意味します。

デフォルトの権限については、よくわかりません。どうやら設定できるので、ユーザーごとに違うかもしれません。


0

質問2にきちんとした答えを与えるために、少なくとも、これはあなたができる/できないことを示す要約表です:

+--------------------------------------------------+
| Execute Yes (./file.sh) | Read Yes (vim file.sh) |
|--------------------------------------------------|
| Execute Yes (./file.sh) | Read No (ERROR)        |
|--------------------------------------------------|
| Execute No (ERROR)      | Read Yes (vim file.sh) |
|--------------------------------------------------|
| Execute No (ERROR)      | Read No (ERROR)        |
+--------------------------------------------------+

覚えておくべき重要なことは、それを実行するためにユーザーがファイルをメモリに読み込むのではなく、カーネルがユーザーに代わってそれを行うことです。


0

他のすべてを除外する場合は注意が必要です。私の/ etc / passwdファイルからこのリストを見てください(許可と明確にするために削除されていないもの):

ルートデーモンbin sys同期ゲームman lpメールニュースuucpプロキシwww-dataバックアップリストirc gnats libuuid syslogメッセージバスusbmux haldaemon nobody

a {これは私であり、以下はインストールしたもので、とりわけシステムに付属しています}

avahi mysqlパルスrtkit saned臆病なディディウィキ

したがって、たとえば、lpまたはuucpから権限を削除すると、印刷が中断されます。bin、sys、またはデーモンから権限を削除すると、おそらく多くのものが壊れます。irc、ゲーム、メール、ニュース、およびバックアップはおそらく安全に削除できます(ブラウザーではなく、システムを介してこれらを使用している場合を除く)。残りは検索エンジンのスキルに任せます。

これはubuntu / bodhi linuxですが、他のシステムでは追加機能が少ない場合があります。ただし、これらすべては、すべてをrootとして実行する必要がないようにするためのものです。各ユーザーがシステムユーザーの1人(rootのみ)で読み取り/書き込み/実行できるシステムを作成できると想像しますが、試したかどうかはわかりません。

実行は、コードを実行する権限です。読み取りは、見る(およびコピーする)許可のみです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.