わかりました。誤ってすべてを 755 に chomdd してしまいましたが、すべてをローカル ユーザーに chown するほどひどいことではありません。これはどの程度安全ではないのでしょうか。再インストールせずに簡単に復元するにはどうすればよいでしょうか。
答え1
再インストールが最善の選択肢です。私個人としては、以下の方法が機能しても、何かが正しく行われていないという不安が常に残ります。
- 別の Ubuntu システムを使用して権限を参照します。Ubuntu のバージョンとアーキテクチャは同じです。
reference$ find / ! -type l \ -path "^/tmp" -prune \ -o -path "^/dev" -prune \ -o -path "^/sys" -prune \ -o -printf "%m %p\n" > /root/perms.txt
/root/perms.txt
メインシステムにコピーする/root/perms.txt
権限の参照と変更に 使用しますmain$ cat /root/perms.txt | while read LINE; do perm=echo -E "$LINE" | awk '{print $1}' filename=echo -E "$LINE" | sed 's/^$perm //'
if [ -a $filename ]; then echo -E "$filename" >> /root/chmod-success.log chmod $perm $filename else echo -E "$filename" >> /root/chmod-failure.log fi done
- エラーをチェックし
/root/chmod-success.log
て/root/chmod-failure.log
とにかく、エッジケースが多すぎて、これが完璧に機能するかどうか想像もつきません。まずは別の非本番システムでテストしてください。そして、ラインなしでメインの本番システムでテストしてくださいchmod $perm $filename
。
答え2
Fedora/RedhatやCentOSのようなRPMベースのディストリビューションをお持ちの場合は、
rpm -qa | xargs rpm --setperms
これにより、rpm 経由でインストールされたすべてのファイルが修正されます。残りは手動で修正する必要があります。