3개의 특정 사용자 계정(10개 미만)이 있고 특정 /data
또는 /home
디렉터리 아래의 모든 파일과 폴더에 대해 해당 특정 사용자에 대한 모든 파일/폴더의 그룹 소유권을 변경하고 싶습니다.
/home
( 및 외에) Everywhere가 어디에 있는지 모르기 때문에 에서 /data
하나 만들고 싶습니다 . 이를 수행할 수 있는 방법이 있습니까? 기존 그룹의 이름이 지정되어 있고 해당 그룹이 소유한 모든 파일과 폴더를 로 변경하고 싶습니다 . 어떻게 해야 합니까?<what?> -R
/
XYZ
ron.XYZ
ron.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…