조건부로 파일 소유권을 변경하는 방법은 무엇입니까?

조건부로 파일 소유권을 변경하는 방법은 무엇입니까?

hello내 임무는 소유자가 있는 경우에만 호출되는 파일의 소유자를 변경하는 것입니다 . 사용해 보았지만 작동하지 않습니다. 문제를 해결하려면 도움이 필요합니다.vincentguillamechmod vincent:guillame hello

답변1

chown은 파일 소유권을 변경하는 데 사용되는 명령이지 chmod.

find hello -user guillame -exec chown vincent {} \;

이는 find파일과 함께 hello"검색 경로"로 사용됩니다. hello파일의 소유자가 guillame이면 실행 find은 해당 파일을 다음 인수로 사용하여 chown vincent파일의 소유권을 로 변경합니다 vincent. 파일을 다른 사람이 소유하지 않은 경우 guillame아무 일도 일어나지 않습니다.

이 명령은 모든 Unix 시스템에 이식 가능해야 합니다.

이는 현재 사용자에게 파일 소유권 변경을 허용하는 권한이 있다고 가정합니다. 시스템에서 높은 권한으로 유틸리티를 실행하는 다른 방법을 사용하여 이들 중 하나를 루트로 실행 chown하거나 자체적으로 실행해야 할 수도 있습니다.findsudodoas

답변2

이름이 다음인 파일에만 해당 hello:

/usr/bin/test "$(stat --format="%U" hello)" = "guillame" && sudo chown vincent foo

관련 정보