これらのファイルの権限を600に設定すると、オペレーティングシステムが利用できなくなりますか? .bash_logout、.bashrc、.profile

これらのファイルの権限を600に設定すると、オペレーティングシステムが利用できなくなりますか? .bash_logout、.bashrc、.profile

私はエイリアスに大きく依存して.bashrcおり、ホームディレクトリとそのサブディレクトリとファイル(ファイルとディレクトリ)Ubuntu 20.04デスクトップ)の権限を繰り返し変更することでプライバシー/セキュリティを向上させ、エイリアスをある程度強化できると思いました。600700だから私は以下を実行しました。

sudo chmod -R 600 /home/undoxed && sudo chmod -R u+X /home/undoxed

undoxed私の管理ユーザーの名前はどこにありますか?再帰フラグは、およびに免疫され.bash_logoutませ.bashrc.profile

以前にパッチしながら感じた点は/etc/adduser.confそれに設定 DIR_MODE=0700 新しいユーザーを追加するようにumask設定すると、結果は、次のファイルを除く新しいユーザーのホームディレクトリ内のすべてのファイルに対する権限になります。上記の3つのファイルはすべて、私が期待したものとは異なり、権限が与えられています。.bashrc0077useradd600.bash_logout .bashrc .profile644600

この3つのファイルを保存したのはなぜですか?600手動でファイルを作成するのと同じように、これらのファイルを作成するとオペレーティングシステムがchmod -R 600利用できなくなりますか?と比較して、これらの権限を持つファイルに異なる結果がありますか644

今まではすべて大丈夫に見えますが、sudo chmod -R 600 /home/undoxed && sudo chmod -R u+X /home/undoxed 今日のランニング以来、まだ再起動していません。再起動したいです。

答え1

TL、DR:.bash*600になるかもしれませんが、chmod -R 600非常に危険です。

自分だけがアクセスできるようにホームディレクトリを設定できます。

chmod 700 ~

再帰は必要ありません。ファイルがあるディレクトリにアクセスせずにファイルにアクセスすることはできません。ディレクトリの場合、これは親ディレクトリにアクセスしないとディレクトリにアクセスできないことを意味します。したがって、権限なしでディレクトリにアクセスできないようにすると、xそのディレクトリの下のすべてのエントリにアクセスできなくなります。

(インクルードされたディレクトリにアクセスする必要があることを回避する方法があります。つまり、すでにアクセス権があります。プロセスがすでにファイルを開いている場合、一部の変更によってプロセスがそのファイルを開くことができない場合でも、ファイルは開いたままになります。 " open file " here "には、ディレクトリをプロセスの作業ディレクトリにすることが含まれます(たとえば、権限の変更、別のディレクトリへの移動、または権限の低下プロセスなど)。

場合によっては、ホームディレクトリの特定の部分に他のユーザーやシステムサービスがアクセスできるようにする必要があるかもしれません(たとえば、または.planからアクセスできますfingerd)。ほとんどの人が公共サービスを実行していないパーソナルコンピュータを使用している最近では、これらの現象はあまり一般的ではありません。この場合:~/public_htmlhttpd

  • ホームディレクトリに誰もがアクセスできるようにしますが、自分だけが読み書きできるようにしてください。chmod 711 ~
  • ホームディレクトリのコンテンツをプライベートに設定します。 (chmod go= ~/* ~/.[!.]* ~/..?*隠しファイル、.および他の隠しファイル、..*自分..以外のもので始まる隠しファイル..- これらのパターンのいずれかが何も一致しない場合は、エラーを無視してください。)
  • これを必要とする特定のファイルとディレクトリへの読み取り()アクセスとr、ディレクトリへの実行/トラバース()アクセスを許可します。x

これらの権限により、ローカルユーザーは特定の名前のファイルが存在するかどうかを判断できますが(ls ~jerzy/somefile「権限が拒否されました」または「該当するファイルまたはディレクトリなし」で失敗した場合)、ホームディレクトリ内のファイルは一覧表示されません。

使用するプログラム(bashなど)の設定ファイルは公開する必要はありません。アクセスに必要な唯一のプロセスは、アカウントで実行されます。よかったら大丈夫ですchmod 600 ~/.bash*。とにかく、ホームディレクトリに自分だけがアクセスできる場合、特に違いはありませんが、悪いことはありません。

umaskを077に設定すると、すべての新しいファイルには自分だけがアクセスできます。


走らないでchmod -R 600。ルートとしてこれを行うと、システムの修復が困難になり、再インストールが簡単になります。権限のないユーザーの場合、回復は簡単ですが、まだ痛いです。

chmod -R 600ディレクトリから実行権限を削除します。ディレクトリの場合、「実行」権限(xchmodのビット1値)は、そのディレクトリ内のファイルにアクセスできることを意味します。 「読み取り」(r、4)権限は、ディレクトリ内のファイルのみを一覧表示することを許可します。したがって、chmod -R 600 ~あなたを含むすべての人があなたのホームディレクトリにあるファイルにアクセスすることを禁止します。その後、chmod -R u+X ~ディレクトリの実行権限を復元します。ただし、その間にシステムがクラッシュしない場合にのみ該当します。

また、このシーケンスはすべての一般ファイルに対する実行権限を削除します。一部の一般ファイルには実行権限が必要です。これには、ホームディレクトリにインストールした可能性のあるスタンドアロンソフトウェアだけでなく、プライベートスクリプトやその他のプログラムも含まれます。これには、通常、直接実行可能と見なされないファイルも含まれます。以前のバージョンのUbuntuでは、実行権限を使用して特定の種類のファイルを信頼できることを示しました。.desktopファイルを含める(たとえ新しいバージョンでは、このメカニズムは使用されなくなりました。)。

このシーケンスは、すべてのファイルを書き込み可能にします。誤って上書きまたは削除しないようにする重要なファイルなど、特定のファイルを読み取り専用に設定すると便利です。多くのバージョン管理プログラムは特定のファイルを読み取り専用にします。これは、そのファイルが通常変更されない内部状態ファイルであるためです。これは、ユーザーがそのファイルを直接変更してはならないことを示し、またはファイルがロックされていることを示します。しかし、これは重要ではありません。

(ところで、複数のファイルがあります。〜しなければならないSSHキーのようなプライベートです。ホームディレクトリの再帰 chmod次へ追加非ユーザー権限はこれを破る可能性があり、特にSSHを介してアカウントにログインできなくなる可能性があります。 )

すべてのファイルを個別にプライベートに設定するには、自分に適用される権限を変更しないでください。

chmod -R go= ~

関連情報