Ubuntu Linux

사용자 관리

미고코딩 2022. 6. 5. 17:24

파일 및 디렉터리의 소유자와 소유 그룹 변경하기

 

 

파일이나 디렉터리는 해당 파일이나 디렉터리를 생성한 사용자의 계정과 그룹이 소유자와 소유 그룹으로 설정됩니다. 파일이나 디렉터리의 소유자를 변경할 필요가 있을 때 사용하는 chown과 chgrp 명령에 대해서 알아보려고 합니다.

 

chown
- 기능 : 파일과 디렉터리의 소유자와 소유 그룹을 변경한다.
- 형식 : chown [옵션] 사용자 계정의 파일명/디렉터리명
- 옵션 : -R : 서브 디렉터리의 소유자와 소유 그룹까지 변경한다.

- 사용 예
             chown user2 file1
             chown user2:grp01 file1
             chown -R user2 file1

 

mkdir ch10
cd ch10
mkdir temp
cp /etc/hosts .
cp /etc/services temp

위와 같이 ch10 디렉터리를 만들고 안에 temp 디렉터리도 만들었습니다. 이후 ch10 디렉터리 안에 hosts의 cp 파일을 하나, services의 cp파일을 temp 디렉터리 안에 넣었습니다.

현재 ch10 디렉터리의 상세정보입니다.

 

chown을 통해 hosts 파일의 소유자를 user5로 바꿔볼겁니다.

 

chown은 root 권한을 가지고 있어야 명령이 가능하기 때문에 sudo chown user5 hosts 라고 입력했습니다. 그리고 상세정보를 축력해봤는데, 소유자가 user5로 바뀐 것을 확인할 수 있었습니다.

 

만약 그룹까지 바꾸고 싶다면 sudo chown user5:user5 hosts 로 작성하면 됩니다. 소유자와 소유그룹은 콜론(:) 으로 구분지을 수 있습니다.

 

만약 하위 디렉터리의 소유자 및 소유그룹을 바꾸고 싶을때는 -R 옵션을 사용하면 됩니다.

 

temp의 소유자 및 그룹을 user2로 바꾸면서 -R 옵션을 먹였습니다. 그리고 확인해보니 temp 안에 있는 services까지 사용자가 바뀐 것을 볼 수 있었습니다.

 

chown은 디렉터리, 각종 파일에 대한 사용자의 "권한" 을 부여하는 것이기 때문에 root 관리자가 사용할 수 있습니다. 때문에 sudo 명령이 동반되어야만 합니다.

 

 

 

 

 

다음으로 알아볼 것은 chgrp 입니다. chgrp 명령은 파일과 디렉터리의 소유 그룹을 변경할 때 사용합니다.

 

chgrp
- 기능 : 파일과 디렉터리의 소유 그룹을 변경한다.
- 형식 : chgrp [옵션] 그룹명 파일명/디렉터리명
- 옵션 -R : 서브 디렉터리의 소유 그룹도 변경한다.

사용 예
          chgrp han01 file1
          chgrp -R han01 file1

 

sudo chgrp -R user5 temp

위 명령은 temp 디렉터리와 temp 디렉터리 안에 있는 모든 파일, 디렉터리의 "소유 그룹" 을 user5 로 바꾸겠다는 의미입니다.

 

처음에는 chown과 무슨 차이인가 싶지만, chgrp는 chown보다 좁은 범위의 명령입니다. chown은 파일 또는 디렉터리의 소유자와 소유그룹을 모두 바꿀 수 있지만, shgrp는 특정 파일 또는 디렉터리의 소유 그룹만 건드릴 수 있습니다.

 

해당 부분만 유의하여 사용하면 혼동할 일은 없을겁니다.