찾기를 사용하여 폴더에 있는 모든 디렉터리, 파일 및 심볼릭 링크의 소유권을 업데이트하려면 어떻게 해야 합니까?

찾기를 사용하여 폴더에 있는 모든 디렉터리, 파일 및 심볼릭 링크의 소유권을 업데이트하려면 어떻게 해야 합니까?

나는 디렉토리 트리에 있는 모든 것의 소유권을 나로부터 루트로 업데이트하려고 합니다. 나는 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 {} +

관련 정보