web-dev-qa-db-ja.com

フォルダーのアクセス許可が自動的に変更されました

やあみんな最初に私はこのサイトでたくさん検索したが、私の質問に対する正確な答えを得られなかった。何かが自動的に発生し、すべてのフォルダーのアクセス許可が自動的に変更され、すべてのフォルダーとファイルにロックアイコンが表示されたことを知らないでください。次に、このサイトで検索し、このコマンドとして解決策を得ました

Sudo chown 777 -R $USER:$USER $HOME

問題を半分解決し、ロックアイコンを削除しましたが、すべてのフォルダーのアクセス許可が読み取り専用になったので、以前のようにすべてのフォルダーのアクセス許可をリセットする方法を教えてください。

私はubuntu 12.10を使用しています

ありがとう

2
shivamDev

これをしないでください!

あなたはSudo chown 777 -R ${USER}:${USER} ${HOME}をしたと書きました

1.問題

Sudoを使用して、通常は現在のユーザーで制御しているリソースを変更する操作を実行しています。これは非常に危険です。

2.問題

Sudoおよび環境変数を使用しています。これにより、エラーが発生する可能性があります。説明のために、以下を試してください。

  • Sudo echo $USER->例:シヴァム
  • Sudo echo '$USER'-> root

3.問題

chownは、ファイルの所有権を変更します。幸いなことに、失敗が追加されています。パラメーター777は、存在しないユーザー名として識別され、ファイル$ {USER}:$ {USER}が見つかりません。

コマンドchmodは、ファイルまたはディレクトリのアクセス許可を変更します。

個別のディレクトリの下にあるすべてのフォルダーのアクセス許可を修正します。

以下を使用して、個別のディレクトリの下にあるフォルダのアクセス許可を変更します。

find BASEDIR -type d -exec chmod u+rwx \{\} \;

あなたの場合、BASEDIR~に置き換えてください。 bashの場合、~は現在のユーザーのホームディレクトリに置き換えられます。

これは(ファイルではなく)ディレクトリのみを処理し、readwriteおよびenter(別名execute)ディレクトリの所有者の許可。

詳細については、man chmodをご覧ください。

ノート:

  • recursiveオプション-Rには注意してください。すべてのディレクトリと指定されたディレクトリの下のfilesを処理するためです。
  • 理解しやすいので、u+rwxのようなsymbolicパーミッション表記を使用します。
  • 本当に必要ない場合は、Sudoを使用しないでください。

ファイルシステムが正しくマウントされていることを確認してください

問題のあるホームディレクトリを含むパーティションがマウントされていることを確認しますread-write

  grep /home /proc/mounts  

これにより、同様の出力が得られます。

/ dev/mapper/system-home/home ext4 rw、relatime、discard、commit = 600、data = ordered 0 0

rwオプションが表示されない場合、パーティションは何らかの理由(不整合など)で読み取り専用でマウントされています。この場合、ファイルシステムチェックを呼び出します。これは通常、コンピューターの起動時にも呼び出されます。

3
H.-Dirk Schmitt

最大の問題は、すべてのファイルが現在どのように読めても、かなり使用できない状態にあることです。

手動でアクセス許可を設定する際の問題は、すべてのファイルが同じアクセス許可セットを持っているわけではないことです(たとえば、ssh-keysについて、他の誰かがそれらを読み取れないように考えてください)。個々のファイルごとに、どのパーミッションが必要かを決定します。

最善の方法は、新しいアカウントを作成し、古いアカウントから必要なファイルをコピーすることです。その後、権限が自動的に設定されます。また、個人設定が必要な場合は、古いアカウントからも設定をコピーできます。これらは、ホームディレクトリの隠しファイルまたは隠しディレクトリにあります。必要なものだけをコピーするように注意してください。

また、後でファイルシステムチェックを行うのが賢明かもしれません。

1
thom