ホームディレクトリファイルの権限が壊れています。 「再起動」する方法は?

ホームディレクトリファイルの権限が壊れています。 「再起動」する方法は?

rsyncを使用してホームディレクトリ全体をバックアップし、バックアップを新しいLinuxインストールに移動しました。どういうわけか私のファイル権限は完全に混乱しました(すべてのファイルはユーザー「999」が所有し、ファイル権限はに設定されています777)。

早く走る 早くsudo chown -R username:username ~/走るオーディオに関するいくつかの問題を解決しました。ただし、すべてのプレーンテキストファイル(映画や音楽を含む)が実行可能としてマークされ、他のユーザーが自分のファイルなどを見ることができるようになりました。

ファイル権限を「一般」に復元するにはどうすればよいですか?バックアップによって権限も破損するため、バックアップから復元することはできません。いつでもOSを再インストールし、バックアップから構成ファイルを消去し、個人文書のみを残してから再帰的に権限を設定できますが、権限を何に設定する必要がありますか?たとえば、sudo chmod -R 660 ~/Music私は所有者ですが、私の音楽を聴くことはできません。

答え1

以下は、ファイルとフォルダの権限をすばやく整理するのに役立ちますが、設定が異なる場合でも問題は解決しません。

sudo chown -R <login>:<login> /home/<login>
find /home/<login> -type f -print0 | xargs -0 chmod 664
find /home/<login> -type d -print0 | xargs -0 chmod 775

<login>もちろんログイン名です。必要に応じて、660に変更してください。770

より制限的な権限を必要とするいくつかの特別なケースがあります。このリストは決して完全ではありませんが、迅速な回復に役立ちます。

メールとSSHの修正:

find /home/<login>/Mail -type d -print0 | xargs -0 chmod 700
find /home/<login>/.ssh -type d -print0 | xargs -0 chmod 700
find /home/<login>/Mail -type f -print0 | xargs -0 chmod 600
find /home/<login>/.ssh -type f -print0 | xargs -0 chmod 600

注:これらのファイルの中には、またはが~/Mail必要な場合があります。これはメールクライアントによって異なります。640644

上記と同じ権限を必要とする他の一般的なファイルは次のとおりです。

.gnome, .gnome2_private, .bash_history, .lesshst, .viminfo

編集する:Ulrich Schwarzのコメントに関する情報が含まれており、.sshより一般的なディレクトリと権限を含めるように拡張されました。完全性のためにchown -ROPによって実行されたコマンドも含まれています。

編集2:saurabheightsがコメントで指摘したように、find /home/<login> -type d -print0 | xargs -0 chmod 775すべてのサブディレクトリにアクセスできるまでこれを複数回実行する必要があります。

答え2

ディレクトリには/etc/skelデフォルトディレクトリのテンプレートがあります。 /etc/skel.confのフォルダに基づいてデフォルトのフォルダ権限を復元できます。

後で権限を保存するには、-p スイッチで rsync/cp/scp を使用します。

関連情報