検索を使用してフォルダ内のすべてのディレクトリ、ファイル、およびシンボリックリンクの所有権を更新するにはどうすればよいですか。

検索を使用してフォルダ内のすべてのディレクトリ、ファイル、およびシンボリックリンクの所有権を更新するにはどうすればよいですか。

私はディレクトリツリー内のすべてのものの所有権を私からrootに更新したいと思います。私はfind再帰よりも慎重にこれを行うのに慣れていますchown

以下は、ツリー内のすべてのファイルとディレクトリの所有権を変更するために使用するコマンドです。

cd /opt/mydir
# Update files
sudo find . -type f -execdir chown root:root "{}" +
# Update directories
sudo find . -type d -execdir chown root:root "{}" +

これはすべてのファイルとディレクトリに適用されます。

/opt/mydirしかし、私は同じディレクトリツリーのどこかにファイルを指すシンボリックリンクがあることに気づきました。そのファイルの所有権はまだ保持されています。

たとえば、

lrwxrwxrwx  1 civfan civfan      6 Jul 18  2013 halt -> reboot
-rwxr-xr-x  1 root   root    14832 Jun 25  2013 reboot

これは間違っているように見え、今すぐ修正しないと、後で権限の問題が発生する可能性があります。

すべてのシンボリックリンクファイルの所有権を変更するには?

ベストアンサー1

シンボリックリンクの所有権は重要ではありません。参照エンティティがそうです。

つまり、find -lディレクトリツリーでシンボリックリンクを検索するためのものです。

シンボリックリンクを使用chown -hおよび/または機能します。chmod -h

find . -type l -exec chown -h root:root {} +

おすすめ記事