HOME > linux > cmds

Linux - chown 명령어로 소유자 변경하는 방법

JSFollow10 Mar 2019

리눅스에서 파일은 어떤 Onwer, Group에 속해있습니다. chown 명령어는 파일의 Owner 또는 Group을 변경하는 명령어입니다. 아래와 같이 사용할 수 있습니다.

$ chown [OPTIONS] USER[:GROUP] FILE(s)

소유자 변경

ls -l 명령어는 파일의 소유자가 누구인지 보여줍니다. 아래 결과에서 js js는 Owner와 Group을 의미합니다. 첫번째 js가 Owner를 의미하고, 두번째가 js가 Group을 의미합니다.

$ ls -l
-rwxr-xr-x 1 js js 6  3월 10 16:02 file1.txt

이제 chown 명령어로 Owner을 root로 변경해보겠습니다. (변경하려는 Owner가 root이기 때문에 sudo를 사용해야 합니다)

$ sudo chown root file1.txt

결과를 확인해보면 root로 변경된 것을 볼 수 있습니다.

$ ls -l
-rwxr-xr-x 1 root root 6  3월 10 16:02 file1.txt

이제는 Group을 root로 변경하겠습니다. 앞에 :를 붙이면 그룹의 소유자가 변경됩니다.

$ sudo chown :root file1.txt

$ ls -l
-rwxr-xr-x 1 root root 6  3월 10 16:02 file1.txt

Owner와 Group을 동시에 변경하려면 owner:group처럼 모두 입력해주면 됩니다.

$ sudo chown js:js file1.txt

$ ls -l
-rwxr-xr-x 1 js js 6  3월 10 16:02 file1.txt

추가로, root와 같은 유저 이름 대신 유저 아이디(숫자)를 입력해줄 수 있습니다.

$ chown 1000:1000 file1.txt

참고로 UserName은 UserId로 관리되고 있는데요. id 명령어를 치시면 유저이름과 유저 아이디를 볼 수 있습니다.

$ id
uid=1000(js) gid=1000(js) groups=1000(js),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),105(kvm),121(lpadmin),131(sambashare),133(docker)
$ id root
uid=0(root) gid=0(root) groups=0(root)

하위 폴더 소유자 모두 변경하기(Recursive)

Recursive하게 하위 폴더의 모든 소유자를 함께 변경할 때가 있습니다. 이 때는 -R 옵션을 추가해주면 됩니다.

$ chown -R js:js folder