전체 파일 시스템의 그룹 소유권을 지정된 그룹에서 다음 그룹으로 변경합니다.

전체 파일 시스템의 그룹 소유권을 지정된 그룹에서 다음 그룹으로 변경합니다.

3개의 특정 사용자 계정(10개 미만)이 있고 특정 /data또는 /home디렉터리 아래의 모든 파일과 폴더에 대해 해당 특정 사용자에 대한 모든 파일/폴더의 그룹 소유권을 변경하고 싶습니다.

/home( 및 외에) Everywhere가 어디에 있는지 모르기 때문에 에서 /data하나 만들고 싶습니다 . 이를 수행할 수 있는 방법이 있습니까? 기존 그룹의 이름이 지정되어 있고 해당 그룹이 소유한 모든 파일과 폴더를 로 변경하고 싶습니다 . 어떻게 해야 합니까?<what?> -R/XYZron.XYZron.users

답변1

find대상 파일을 식별한 다음 해당 파일에 그룹 변경 사항을 적용하는 데 사용됩니다 .

find / -user ron -group XYZ -print -exec chgrp users {} +

-print어떤 파일이 변경되는지 확인하는 것이 걱정되지 않으면 이를 생략할 수 있습니다. -exec … +또한 변경하기 전에 어떤 파일이 영향을 받는지 확인하려는 경우 이를 (일시적으로) 생략할 수도 있습니다.

한 번에 세 개의 사용자 계정 모두에 대한 일치를 확장할 수 있습니다.

find / \( -user ron -o -user alice -o -user bob \) -group XYZ -print -exec chgrp users {} +

/proc(및 기타 의사 파일 시스템)을 입력하게 된다는 점에 유의하세요 . 소유권 변경에 대한 오류는 무시해도 됩니다. 다음을 사용하여 이러한 파일 시스템을 생략 할 수 있습니다 -prune.

find / \( -path /proc -o -path /dev -o -path /sys \) -prune -o …as above…

관련 정보