高度なファイル権限とそれを正しく読み取る方法

高度なファイル権限とそれを正しく読み取る方法
alisto@ubuntu:/projects/solarproj$ \ls -al
total 32
drwxrwsr-t 3 root   solarproj 4096 Dec 8 16:02 .
drwxr-xr-x 3 root   root      4096 Dec 8 15:29 ..
-rw-rw---- 1 boband boband    802  Dec 8 15:44 bearings.jpg
-rw-rw-r-- 1 boband solarproj 101  Dec 8 15:43 controller.c
drwxrwSr-x 2 alisto solarproj 4096 Dec 8 15:40 old
-------rwx 1 alisto solarproj 19   Dec 8 14:08 power
-rw-r--r-- 1 alisto solarproj 81   Dec 8 15:44 schedule.txt
-rw----r-- 1 boband solarproj 576  Dec 8 15:58 temp
lrwxrwxrwx 1 alisto solarproj 24   Dec 8 16:02 temp.sym      ->  ../solarproj/temp

どちらのユーザーもSolarprojグループに属します。

  1. Bobはファイルの内容を変更できますかschedule.txt?なぜ?

    投稿を正しく読んでいる場合は、グループが読み取り専用に設定されているため、答えは「いいえ」です。

  2. Aliceはファイルを削除できますかcontroller.c?なぜ?

    ファイルに読み取りおよび書き込み権限が付与されていますが、スティッキービットのため削除できません/不明

  3. どのユーザーがファイルを読むことができますかpower?なぜ?

    グループまたは Alisto に属さない他のすべてのユーザー

  4. なぜAliceは以前のディレクトリの内容を一覧表示できますが、Bobは一覧表示できないのですか?

    グループ権限のSのためにxは存在しません。

  5. アリスはファイルを読むことができますかtemp.sym?なぜ?

    いや、彼女には許されなかったからだ。

私の答えが正しいかどうかはわかりませんが、誰かが私の間違った答えを修正して助けることができたらうれしいです。自分でテストしたいのですが、仮想マシンが機能していないため、数日後にスケジュールされたテストのために勉強して再試行する必要があります。

ベストアンサー1

コマンドを使用して権限を表示する場合は、ls特定の構造に従います。例を見てみましょう。

-rw-rw-r--

これ最初文字はファイル形式を表します。ファイル記述子次の3文字ファイルを作成したユーザーの権限を示します。次の3文字セットユーザーグループの権限を表します。最後の3文字他人の権限を表します。

この例では、次のようになります。

  • これ最初ファイル記述子と呼ばれる文字はファイルの種類を表します。この場合は-rw-rw-r--先行ダッシュです。
  • これ次の3文字ファイルを作成したユーザーの権限を示します。この場合は-rw-rw-r--そうですrw-
  • これ次の3文字前述のユーザーグループの権限を表します。
  • これ最後の3文字他人の権限を表示します。

最初の文字またはファイル記述子であるダッシュ(-)は、これが一般的なファイルであることを示します。一方、これがディレクトリに対する権限である場合は、単一の権限になりますd。ファイル記述子に使用できる値の不完全なリスト:

  • d- ディレクトリ
  • -- 「一般」ファイル
  • l- シンボリックリンク
  • s- Unixソケット
  • p- パイプ

3 つの文字で構成される残りの 3 つのセットは、[read][write][exec]各括弧に 1 つの文字が含まれる構造に従います。

したがって、私たちの例では次のようになります-rw-rw-r--

  • ファイルを作成したユーザーの権限はですrw-。これにより、ユーザーはファイルを読み書きできますが、実行することはできません。
  • ユーザーグループの権限も同じですrw-。これは、ユーザーグループがそのグループに読み書きできることを意味します。
  • 他の人に対する権限はですr--。これは、他の人がファイルを読み取ることができ、書き込みまたは実行できないことを意味します。

あなたの質問については次のとおりです。

BobはSchedule.txtファイルの内容を変更できますか?なぜ?

私がこれを正しく読んでいるなら、グループは読み取り専用に設定されているので、答えは「いいえ」です。

-rw-r--r-- 1 alisto solarproj 81   Dec 8 15:44 schedule.txt

あなたは正しいです。bobandはグループの一部solarprojなので、彼の権限はですr--。つまり、ファイルを読み取ることができ、変更することはできません。

AliceはController.cファイルを削除できますか?なぜ?

ファイルに読み取りおよび書き込み権限が付与されていますが、スティッキービットのため削除できません/不明

-rw-rw-r-- 1 boband solarproj 101  Dec 8 15:43 controller.c

ええ、彼女はできます。彼女の権限は、rw-彼女がSolarprojグループのメンバーであるため、ファイルの削除を含むファイルを変更できるためです。

誰がパワーファイルを読むことができますか?なぜ?

グループまたは Alisto に属さない他のすべてのユーザー

-------rwx 1 alisto solarproj 19   Dec 8 14:08 power

繰り返しますが、そうです。 1)このsolarprojグループに属していないユーザー、2)このグループに属していないユーザーのみがファイルをalisto読み取り、変更、または実行できます。

Aliceは以前のディレクトリの内容をリストできますが、Bobはなぜリストできませんか?

グループ権限のSのためにxは存在しません。

drwxrwSr-x 2 alisto solarproj 4096 Dec 8 15:40 old

いいえ。Sファイルを表しますはい実行可能ファイルそしてsetguid ビットがセットされました。

Aliceはtemp.symファイルを読むことができますか?なぜ?

いいえ、彼女は許可されていないので

-rw----r-- 1 boband solarproj 576  Dec 8 15:58 temp
lrwxrwxrwx 1 alisto solarproj 24   Dec 8 16:02 temp.sym      ->  ../solarproj/temp

正しい。temp.symドットtempファイルwhile は を指しているのでalisto読むことができます。temp.symtempalisto できないこの記事を読んだ後、許可は拒否されます。

おすすめ記事