フォルダの権限が自動的に変更されました

フォルダの権限が自動的に変更されました

皆さん、まずこのサイトでいろいろ検索しましたが、質問に対する正確な答えは得られませんでした。何かが自動的に起こったのかわかりませんが、すべてのフォルダの権限が自動的に変更され、すべてのフォルダとファイルにロックアイコンが表示されました。その後、このサイトで検索して、次のコマンドで解決策を見つけました。

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

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

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

ありがとう

答え1

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

あなたは、あなたがやったと書いていますsudo chown 777 -R ${USER}:${USER} ${HOME}

1. 問題

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

2. 問題

sudo と環境変数を使用しています。これによりエラーが発生する可能性があります。例として、以下を試してください。

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

3. 問題

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

このコマンドはchmod、ファイルまたはディレクトリの権限を変更するために使用されます。

個別のディレクトリの下にあるすべてのフォルダーの権限を修正します。

特定のディレクトリの下のフォルダー権限を変更するには、以下を使用します。

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

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

これはディレクトリのみを処理し(ファイルは処理しません)、読む書くそして入力(別名実行する) ディレクトリの所有者の権限。

詳細については、以下をお読みください。man chmod

ノート:

  • 注意してください再帰的オプションを選択-Rすると、すべてのディレクトリが処理され、ファイル指定されたディレクトリの下。
  • 使用シンボリックのような権限表記の方u+rwxが理解しやすいためです。
  • sudo本当に必要でない場合は使用しないでください。

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

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

  grep /home /proc/mounts  

同様の出力が得られるはずです:

/dev/mapper/システムホーム /home ext4、relatime、破棄、コミット=600、データ=順序 0 0

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

答え2

最大の問題は、すべてのファイルが、今は読み取り可能であっても、ほとんど使用できない状態になっていることです。

手動で権限を設定する場合の問題は、すべてのファイルに同じ権限セットが設定されているわけではないことです (たとえば、ssh キーについて考えてみましょう。他の誰かが読み取れるようにしたくないでしょう)。そのため、すべてのファイルに対してどの権限を設定するかを決定する必要があるという面倒な状況になります。

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

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

関連情報