리눅스에서 chown은 파일의 소유자, 그룹 이름을 변경하는 명령어입니다. 만약 어떤 폴더와, 이 폴더 하위의 모든 파일에 대해서 동일하게 소유자와 그룹 이름을 변경하려면 어떻게 해야 할까요?

1. 하위 폴더 모든 파일의 소유자/그룹 변경

chown으로 소유자와 그룹명을 변경할 때, -R 옵션을 사용하면 디렉토리 및 하위 모든 파일도 동일하게 적용됩니다.

  • newowner : 변경하려는 새로운 소유자 이름
  • newgroup : 변경하려는 새로운 그룹 이름
  • -R : 디렉토리의 하위 모든 파일들도 적용
sudo chown -R newowner:newgroup <폴더 경로>

예를 들어, git_sample과 하위 파일들의 owner/group은 모두 mjs로 설정되어있습니다.

$ ls -al git_sample
total 12
drwxrwxrwx  3 mjs mjs 4096 Sep 18  2022 .
drwxrwxr-x 33 mjs mjs 4096 Sep 30 07:04 ..
-rwxrwxrwx  1 mjs mjs    0 Sep 18  2022 a.txt
-rwxrwxrwx  1 mjs mjs    0 Sep 18  2022 b.txt
-rwxrwxrwx  1 mjs mjs    0 Sep 18  2022 c.txt
drwxrwxrwx  8 mjs mjs 4096 Sep 18  2022 .git

다음과 같이 -R 옵션을 사용하여 새로운 owner/group 이름을 변경하면, 하위 파일들까지 모두 새로운 이름으로 적용된 것을 볼 수 있습니다.

$ sudo chown -R root:root git_sample

$ ls -al git_sample
total 12
drwxrwxrwx  3 root root 4096 Sep 18  2022 .
drwxrwxr-x 33 mjs  mjs  4096 Sep 30 07:04 ..
-rwxrwxrwx  1 root root    0 Sep 18  2022 a.txt
-rwxrwxrwx  1 root root    0 Sep 18  2022 b.txt
-rwxrwxrwx  1 root root    0 Sep 18  2022 c.txt
drwxrwxrwx  8 root root 4096 Sep 18  2022 .git