hello
내 임무는 소유자가 있는 경우에만 호출되는 파일의 소유자를 변경하는 것입니다 . 사용해 보았지만 작동하지 않습니다. 문제를 해결하려면 도움이 필요합니다.vincent
guillame
chmod vincent:guillame hello
답변1
chown
은 파일 소유권을 변경하는 데 사용되는 명령이지 chmod
.
find hello -user guillame -exec chown vincent {} \;
이는 find
파일과 함께 hello
"검색 경로"로 사용됩니다. hello
파일의 소유자가 guillame
이면 실행 find
은 해당 파일을 다음 인수로 사용하여 chown vincent
파일의 소유권을 로 변경합니다 vincent
. 파일을 다른 사람이 소유하지 않은 경우 guillame
아무 일도 일어나지 않습니다.
이 명령은 모든 Unix 시스템에 이식 가능해야 합니다.
이는 현재 사용자에게 파일 소유권 변경을 허용하는 권한이 있다고 가정합니다. 시스템에서 높은 권한으로 유틸리티를 실행하는 다른 방법을 사용하여 이들 중 하나를 루트로 실행 chown
하거나 자체적으로 실행해야 할 수도 있습니다.find
sudo
doas
답변2
이름이 다음인 파일에만 해당 hello
:
/usr/bin/test "$(stat --format="%U" hello)" = "guillame" && sudo chown vincent foo