/ home / <user> /の権限755


14

デフォルトでは、ディレクトリの/home/<user>/アクセス許可がに設定されているのはなぜでしょうか755。これにより、他のユーザーがディレクトリに入り、自宅のファイルを読み取ることができます。これには正当な理由がありますか?

700たとえば、ホームとすべてのサブディレクトリにアクセス許可を設定できますか?

chmod -R o-xw /home/<user>/ 
chmod -R g-xw /home/<user>/

何も壊さずに?

また、作成されたすべての新しいファイルが600ディレクトリを持つように、私の家に許可を設定することは可能700ですか?


1
RHEL / CentOSの中で5デフォルトは700ですが、Ubuntuの755で
ラーフルパティル

2
特定のセットアップではpublic_html、Webサーバーからディレクトリへのアクセスを許可するために使用されます。ユーザーにとっては非常に便利ですが、私は大ファンではありません。
マルコ

回答:


18

ホームディレクトリがプライベートの場合、他の誰もファイルにアクセスできません。ファイルにアクセスするには、プロセスがルートディレクトリからツリーを下るパス上のすべてのディレクトリに対する実行権限を持っている必要があります。たとえば、他のユーザーが読み取ることができるようにするには/home/martin/public/readme、ディレクトリを//home/home/martinおよび/home/martin/public権限を持っているすべての必要性はd??x??x??x(それができるdrwxr-xr-xか、drwx--x--xあるいは他のいくつかの組み合わせ)、さらにファイルをreadmeパブリックに読み取り可能でなければなりません(-r??r??r??)。

ホームディレクトリがモードdrwxr-xr-x(755)または少なくともdrwx--x--x(711)であるのが一般的です。ディレクトリのモード711(実行権限のみ)では、他のユーザーが名前を知っていればそのディレクトリ内のファイルにアクセスできますが、ディレクトリの内容はリストできません。そのホームディレクトリの下に、必要に応じてパブリックおよびプライベートのサブディレクトリを作成します。

他の人に自分のファイルを読んでほしくない場合は、ホームディレクトリを作成できますdrwx------(700)。その場合、ファイルを個別に保護する必要はありません。これは、他の人があなたのファイルを読む能力以外には何も壊しません。

あなたのようなディレクトリがあれば、それは他の人があなたのファイルを読み込むのインスタンスだから、破損する可能性がある一般的な事は、ある~/public_htmlか、~/wwwあなたのWebページが含まれています。Webサーバーの構成によっては、このディレクトリは誰でも読み取り可能にする必要があります。

umask値を設定することにより、作成するファイルのデフォルトの許可を変更できます.profile。umaskは、ファイルの最大許可の補完です。一般的な値には、022(所有者のみが書き込み可能、​​全員が読み取り可能および実行可能)、077(所有者のみがアクセス可能)、002(022のようにグループ書き込み可能)が含まれます。これらは最大の許可です。アプリケーションはより制限された許可を設定できます。たとえば、ほとんどのファイルは、ファイルを作成するときに実行許可ビットを設定しなかったため、ほとんどのファイルが実行不可能になります。


マシンでWebサーバーを実行していないため、へのアクセスを許可する必要はありません~/public_html。私の家にアクセスする必要がある可能性のあるApache以外の一般的なプログラムはありますか?何についてpostfix例えば、。
マーティンVegter

1
@MartinVegter良い点。メールプログラムはメールを配信するときに常にユーザーとして実行されますが、システム.forwardによっては、システムユーザーとして実行されているメールシステムで読み取り可能である必要があります。ただし、Postfixはprivateで問題ありません.forward
ジル 'SO-悪であるのをやめる'

3

RHEL / CentOS 5.xでチェックインする場合、デフォルトのアクセス許可は700ですが、Ubuntuでは755です。

Ubuntuforms.orgのスタッフメンバーによると、新しいユーザー間でファイルを共有しやすくするためです。他のユーザーがファイルを読み取りおよび実行できないようにする場合は、アクセス許可を700または750に変更できます。

また、作成されたすべての新しいファイルに600とディレクトリ700が含まれるように、自宅にアクセス許可を設定することは可能ですか?

umask 0077そのために設定できます

次のように機能します。

ディレクトリのデフォルトのアクセス権がある0777あなたはumaskを設定するときに、0077その新しいディレクトリはパーミッションで作成されます(0777-0077) つまり、0700あなたが望むよう。


ないumaskだけでなく、ファイルに適用されますか?新しいディレクトリを作成したときにのみ効果があるようです。
マーティンヴェグター

2
はい...あなたはあなたの現在のシェルだけの設定で確認することができumask 0077、ファイル、ディレクトリを作成し、権限チェックstat filename
ラーフルパティル

3

はい、非常に正当な理由があります。他のユーザーはファイルを読み取ることはできますが、書き込むことはできません。これは、同僚と簡単にファイルを共有できるため、プロフェッショナルネットワークで非常に便利です。

たとえば、私が働いていたラボでは、全員がお互いの$HOMEディレクトリにアクセスできるため、データやスクリプトを簡単に共有できました。友人のアリスがXを実行するためのすばらしいスクリプトを持っている場合、私はそれを実行するだけです。

~alice/bin/scriptX.pl mydata

他の人が述べたように、これを変更するには、umaskを設定する必要があります。たとえば、自分だけが新しいファイルとフォルダを読めるようにするには、これをに追加します~/.bashrc

umask 0077

3
AliceのPerlスクリプトを使用することについてのビットは恐ろしいです。スクリプトをホームディレクトリにコピーして監査し、コピーのみを使用します。
AlexWebr

6
@AlexWebr第一に、私は最初にそれを読むでしょう、この場合の第二のアリスはちょうどクールなスクリプトを書いた私の隣に座っている人です。私は、自分の仕事を盲目的にマシンにインストールして実行する開発者と同じように、それらを信頼していると想定できます。実際に最も多く。また、これは研究室であったため、数GBのゲノムを頻繁にダウンロードし、互いにアクセスできるようにする簡単な方法でした。
テルドン

1

ホームフォルダーでの新しいファイルの作成方法を変更するには、umaskを変更する必要があります。これは通常、シェルの起動スクリプトを編集することで行われます。概要はここにあります

ホームフォルダーのすべてのアクセス許可を700に変更することに関して、ホームフォルダーからの構成情報を必要とするサービスアカウントで実行されているサービスにどのように影響するのか疑問に思っています... 。

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