Linux許可004の何が特別なのですか?


23

Practical Unix and Internet Securityを読んでいたとき、理解できない次の行に出くわしました。

wuアーカイブサーバーを使用している場合は、アップロードされたファイルがモード004アップロードされるように構成して、別のクライアントダウンロードできないようにすることが できます。これは、単にディレクトリを読めないようにするよりも優れた保護を提供します。これは、人々がファイルをアップロードし、友人にダウンロードする正確なファイル名を伝えることを防ぐためです。

004の許可はに対応し-------r--ます。読み取りアクセス権がある場合、ファイルをダウンロードできませんか?また、単にディレクトリを読み取り不可能にするよりも良いと考えられるのはなぜですか?これは何を意味しますか?

注:これは、許可されていないユーザーが匿名FTPを使用して違法で著作権で保護された素材をサーバーに残すことに関するものです。上記の解決策は、一定期間後にディレクトリの内容を削除するスクリプトとともにこれを防ぐために提案されました。


具体的には、wuarchive.wustl.edu名声のWU-FTPを参照しているように見えます
パルティアショット

2
これはUMASK 004の意味であり、許可ではありません!
アフシントパルラク

3
@AfsinToparlakいいえ、これは間違いなく肯定的な許可であり、umaskではありません。受け入れられた答えを参照してください。
o11c

「読み取りアクセス権がある場合、ファイルをダウンロードできません」それは完全に正しいわけではありません。ファイル所有しているユーザーとグループを除く全員に読み取りアクセス権があります。
scai

1
それは彼らの友人をダウンロードする正確なファイル名を語った後、アップロードファイルから人々を防止して、これは、単にディレクトリが読めなくなってより良い保護を提供します。」...以前のトリックのようなアップロードエリア何かを作ることでした333(またはd-wx-wx-wx)人々(FTPユーザー)がファイルを作成できるようにしますが、読み取り権限がないため(ディレクトリ上)、アップロードディレクトリにファイルをリストできませんでした。ただし、名前がわかっていれば、ファイルを読んだりダウンロードしたりできます。
TripeHound

回答:


33

許可004(------ r--)は、FTPサーバーと同じユーザーまたは同じグループとして実行されていないプロセスのみがファイルを読み取ることができることを意味します。これはかなり珍しいことです。通常、ユーザーはグループよりも多くの権限を持ち、グループは他のグループよりも多くの権限を持ちます。通常、ユーザーはアクセス許可を変更できるので、より制限的なアクセス許可をユーザーに与えることは無意味です。FTPサーバーには(おそらく)アクセス許可を変更するコマンドがないため、ここで意味があります。そのため、ファイルは、他の何かが変更するまでアクセス許可を保持します。

FTPサーバーを実行しているユーザーはファイルを読み取れないため、ユーザーはファイルをダウンロードできません。そのため、FTPサーバーを使用してファイルを共有することはできません。

おそらく、別のユーザーおよびグループとして実行されているプロセスは、ある時点でファイルを読み取り、何らかのポリシーに準拠していることを確認し、そうであればデータをコピーし、アップロードされたファイルを削除します。

ファイル許可040(グループのみが読み取り可能)を付与し、コンシューマプロセスをFTPサーバーと同じグループとして実行し、別のユーザーとして実行する方が意味があります。


1
@Cthulhu:FTPサーバープロセスも「all」に属します。ただし、UNIX許可は検索されません。三つ組の権利のみが考慮され、これは合否チェックです。(合格/不合格/詳細を見るWindows ACLとは異なり)
MSalters

8

の8進数の許可マスクは004、記号の許可マスクに対応します。u=,g=,o=rつまり、(u)serファイルの所有者はファイルの読み取り、書き込み、実行ができず、ファイルを所有するユーザーと同じ他のユーザーもできません(g)roup(o)therファイルを読み取ることができるのは、所有者でも、所有者と同じグループでもないユーザーのみです。


1
これはUMASK 004の意味であり、許可ではありません!
アフシントパルラク

4
@AfsinToparlak:いいえ、それは明示的な許可です。受け入れられた回答を参照してください。
TripeHound

6

はい。ただし、ファイルはユーザーが所有しています。そのため、クライアント自体はファイルに対する0のアクセス許可(ユーザー)を持ち、読み取ることができません。

これは自分でテストできます。

echo TEST > myTestFile;
chmod 004 myTestFile;
cat myTestFile;
chmod 700 myTestFile;
cat myTestFile;

3番目のステップではエラーが発生します。


ファイルがアップロードされると、そのユーザーのみがファイルの読み取り許可を取得し、他のすべてのユーザーは000を取得しますか?私は正しいですか?答えを広げていただけますか?
アスウィンPJ

1
私は本を​​見つけました、そして、章は匿名のftpクライアントのために書ける公開ディレクトリを保護することについてです。匿名クライアントは、他の匿名クライアントと同じuidとしてファイルを開くため、作成されたファイルは匿名で作成できますが、匿名では読み取りできません。システム上の他のuidで読み取り可能です。
ジョッカレモン

@hope:許可の8進数文字列の各桁は、set-id、read、write、execの順に4ビットを表します。したがって、7は読み取り、書き込み、実行ビットがすべて設定されていることを意味します。最初の桁は所有者などの許可です。したがって、他の人がを取得したと言っても意味がありません000。他はちょうど得る0。ジルの答えは、許可設定が004実際に何をするかについての最良の説明です。
ピーター・コーデス

3番目のステップは、読み取りではなく書き込みです。
停止ハーミングモニカ

@OrangeDogそのとおりです。修正しました。
ジョッカレモン

-1

これは、すべての許可が004によってマスクされていること、つまり、他のユーザーファイルを読み取れないことを意味する可能性が高いようです。これは、システム上の他のユーザーからファイルを保護するのに役立ちます(ある程度)。


いいえ、他の人が説明したように、ftpサーバーはアクセス許可を設定し004アップロードしたユーザーとftpの他のユーザー(少なくとも匿名ユーザー)は、ファイルがチェックされるまで(再許可され、おそらく適切な場所に移動/名前を変更しました)。WU Archiveのような場所は、このようなものが適切に配置されていない場合、ファイル共有サイトとして薄暗い遠い過去にしばしば(誤って)使用されていました。
TripeHound
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.