偶然のCHMOD 755

偶然のCHMOD 755

わかりました。誤ってすべてを 755 に chomdd してしまいましたが、すべてをローカル ユーザーに chown するほどひどいことではありません。これはどの程度安全ではないのでしょうか。再インストールせずに簡単に復元するにはどうすればよいでしょうか。

答え1

再インストールが最善の選択肢です。私個人としては、以下の方法が機能しても、何かが正しく行われていないという不安が常に残ります。

  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
    
  2. /root/perms.txtメインシステムにコピーする
  3. /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

  4. エラーをチェックし/root/chmod-success.log/root/chmod-failure.log

とにかく、エッジケースが多すぎて、これが完璧に機能するかどうか想像もつきません。まずは別の非本番システムでテストしてください。そして、ラインなしでメインの本番システムでテストしてくださいchmod $perm $filename

答え2

Fedora/RedhatやCentOSのようなRPMベースのディストリビューションをお持ちの場合は、

rpm -qa | xargs rpm --setperms

これにより、rpm 経由でインストールされたすべてのファイルが修正されます。残りは手動で修正する必要があります。

関連情報