VirtualBox 仮想マシンで CentOS 6.5 を実行しています。最近、仮想ハードドライブの空き容量がなくなりました。この問題を解決するために、このディレクトリ用の2番目のハードドライブを作成することにしました/usr
。私はそれをインストールし、ファイルをrootにコピーしましたrsync -a /usr.bak /usr
。これは、すべてのファイルの所有権と権限を維持しているようです。
しかし、今、奇妙な権限の問題が発生しました。システムを正常に起動できますが、次のように動作しないことがよくあります。
sudo service network restart
「eth0のIP情報を確認する」と、ネットワークアダプタが機能しません。- ACPIをオフにすると、Gnomeに同じダイアログボックスが表示されなくなります。
- 「/usr/bin/logger: 権限が拒否されました」というエラーが表示されます。
以前はSELinuxを無効にしていたので、これが邪魔になるとは思いません。また、rootとして実行して権限を変更しようとしましたが、問題は解決しません。
for i in `rpm -qa`;do rpm --setperms $i;done
rsync
この新しいマウントポイントを使用してファイルをコピーすると、どのような問題が発生する可能性がありますか?問題を解決するために私ができることはありますか?これは開発サンドボックスなので、修正に最適ではないセキュリティ設定が含まれているかどうかは心配しません。
答え1
rsyncの仕組みは次のとおりです。
rsync options source destination
しかし、あなたがすることは、
rsync -a /usr.bak /usr
その逆になるべきではないですか?
/usr.bak
私が知っている限り、権限をに割り当てて権限を混乱させました/usr
。ディレクトリから元の権限を復元した後にrsyncコマンドを変更して/usr
システムを再起動すると、問題は解決します。再起動は確実に行うためのものですが、必須ではありません。
時々、rpmパッケージのために権限が混乱することがあります。この問題に関する議論を見つけることができます。ここ。
これらのファイルは、rpmが「chattr + i /usr/bin/write」のために変更できない既存のファイルを更新しようとしたときに生成されます。私はずっと前にsetuidフラグを削除した後にこれを行いました。奇妙なことに、+iはwriteとchshから消えますが、setuidは返されます。