web-dev-qa-db-ja.com

/ home / <user> /の権限755

デフォルトで私のディレクトリ/home/<user>/に権限が755に設定されているのはなぜですか。これにより、他のユーザーが私の家のディレクトリに入ってファイルを読み取ることができます。これには正当な理由がありますか?

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

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

何も壊すことなく?

また、自分の家に権限を設定して、作成されたすべての新しいファイルに600とディレクトリ700が含まれるようにすることもできますか?

17
Martin Vegter

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

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

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

ファイルを読み取る他の人のインスタンスであるため、壊れる可能性がある1つの一般的なことは、Webページを含む~/public_html~/wwwなどのディレクトリがある場合です。 Webサーバーの構成によっては、このディレクトリーを誰でも読み取り可能にする必要がある場合があります。

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

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

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

~alice/bin/scriptX.pl mydata

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

umask 0077
4
terdon

RHEL/CentOS 5.xでチェックインした場合、デフォルトのパーミッションは700ですが、Ubuntuでは755です。

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

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

umask 0077を設定できます

それは次のように機能します:

ディレクトリのデフォルトの権限は0777であるため、umask 0077を設定すると、新しいディレクトリは権限(0777-0077)、つまり0700で作成されます。

3
Rahul Patil

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

ホームフォルダーのすべてのアクセス許可を700に変更することについては、ホームフォルダーからの構成情報を必要とするサービスアカウントで実行されているサービスにどのように影響するのかと思います...これらのサービスが必要な構成ファイルを読み取れない可能性があります。

1
Niall Byrne