誤ってrootとして次のコマンドを実行しました。
chown mike -Rf / backups
ポイントは、/の間にスペースを追加し、エラーをバックアップしたことです。 1〜2秒後にコマンドを停止しました。どのように回復しますか?アクセス時にエラーが発生するなど、DirectAdminを使用する際に問題があります。
Unable to determine Usertype
user.conf needs to be repaired
http://help.directadmin.com/item.php?id=456
それとも電子メールの受信が中断され、今は何が問題なのかわかりません。
答え1
システムは所有権リビジョンを追跡しないため、バックアップを復元しないと再度変更することはできません。
追加の変更をロールバックできるように、すぐにバックアップを作成するのが最善です。
システムにパッケージを再インストールすると、ほとんどの所有権の問題が解決される可能性があります。 Debian/Ubuntu では:
apt-get install --reinstall package
rpm
基本システムでは、rpm -Uvh --force package.rpm
このような問題が発生します。正しく設定されている場合、パッケージは変更された構成ファイルを上書きしません。
他の同様のシステムまたはバックアップがある場合は、そのシステムから元の所有権情報を取得してシステムに適用できます。使用したいファイルとディレクトリのリストから始めてください。
find / -user mike
そして、そのリストを使用して、バックアップまたは類似のシステムでMikeが所有していないファイルを見つけます。
答え2
これは、実行しているオペレーティングシステムによって異なります。
Solaris 10 以前の場合は、次のコマンドを使用して、パッケージに属するファイルとディレクトリに影響するすべての所有者の問題を解決できます。
pkgchk -f
Solaris 11 の場合、これは次のようになります。
pkg fix
AIXにも同様のパッケージ変更コマンドがあると思います。
rpmベースのオペレーティングシステム(Red Hat、Fedoraなど)を実行している場合は、次のことを実行できます。
rpm -aV
パッケージデータベースとは異なるファイルとディレクトリを検出します。その後、次のコマンドを実行して問題を解決できます。
rpm --setugids <package-name>
ただし、影響を受ける各パッケージ名を渡す必要があります。あるいは、単に以下を実行することもできます。
for package in $(rpm -qa); do rpm --setugids $package; done
Debianベースのオペレーティングシステムを実行している場合、ファイルの所有権はパッケージデータベースに保存されないため、所有権を復元するための参照としてバックアップ(利用可能な場合)を使用するか、類似のシステムを見つける必要があります。所有権を復元します。
答え3
私も同じ間違いを犯しました。文章の終わりにタイプミスがありました。
chown -R root:root /folder/subfolder /
スラッシュの前のスペースを認識できませんでした:(
ここに尋ねたくて、インストールされている他のDebianサーバーから所有者とグループをインポートして、ついに問題を解決しました。このサーバーでは、私は次のことをしました。
find / -not -path '/proc/*' -not -path '/var/www/*' -not -path '/home/*' ! \( -name root -o -group root \) | xargs stat --format 'chown %U:%G %n' | sort -k 2,3 > chown_owner_and_group.sh
chmod +X chown_owner_and_group.sh
その後、ファイル所有者とファイルグループを復元する必要があるサーバーにファイルをコピーし、次の操作を行いました。
./chown_owner_and_group.sh
答え4
あなたの唯一の解決策は、同じディストリビューションの他のインストールと比較し、所有者を正しくリセットすることです。