2022-06-30 리눅스_권한_그룹_소유권

권한 (permission) – 생활코딩

이 글은 목소리가 감미로우신 이고잉님의 오픈튜토리얼 리눅스 강의를 듣고 정리한 내용입니다.


권한 (Permission)

유저가 파일과 디렉터리에 대해서 읽기, 쓰기, 실행을 할 수 있는지 없는지 설정.

가장 앞 -는 파일이라는 의미다. (d는 디렉터리)

rwx : read, write, excute (읽기, 쓰기, 실행 권한) (-는 해당 권한이 없음을 표시)

잠정적으로 rwxrwxrwx 9 글자가 올 수 있는데, 이는 순서대로 소유자, 그룹, 불특정 다수의 권한을 의미한다.


권한 변경

권한 변경은 chmod 명령어를 통해서 가능하다.

chmod u+w test.txt #userwrite 권한 부여
chmod u-w test.txt #userwrite 권한 삭제

chmod g+x test.txt #groupexecute 권한 부여
chmod g-x test.txt #groupexecute 권한 삭제
∙
chmod o+r test.txt #otherread 권한 부여
chmod o-r test.txt #otherread 권한 삭제

chmod a+rwx test.txt #all 모두의 read, write, execute 권한 부여
chmod a-rwx test.txt #all 모두의 read, write, execute 권한 삭제
Code language: CSS (css)

chmod는 Change mode라는 뜻이다.

파일에서 rwx는 파일을 읽고 쓰고 실행하는 권한이다.

디렉터리에서 rwx는 …

r : 해당 디렉터리 내부에 위치한 파일의 목록을 읽을 수 있다.

w : 해당 디렉터리 내부에 파일을 생성∙삭제하고 하는 권한이다.

x : 해당 디렉터리 내부로 이동할 수 있는 권한이다.

Sticky bit

위의 방식외에도 user, group, other에 대해서 한 줄의 명령어로 저마다 다른 권한을 적용하기 위해서 사용하는 방법이다.


Group

그룹 생성

groupadd groupname

grep groupname /etc/group

새로운 그룹을 추가하는 방법.

/etc/group은 리눅스 시스템에서 그룹에 대한 정보를 가지고 있는 파일이다.

그룹 삭제

groupdel groupname

그룹 삭제.

그룹 관리

gpasswd

gpasswd 옵션

  • -a user : 특정 그룹에 새로운 그룹멤버를 추가함.
  • -d user : 특정 그룹에서 지정한 그룹멤버를 제거함.
  • -r : 특정 그룹의 패스워드를 제거함
  • -R : 특정 그룹에 접근을 제한함
  • -A user, … : 특정 그룹의 그룹 관리자를 설정함
  • -M user, … : 특정 그룹의 그룹 멤버를 새로 설정함.

위의 옵션들 가운데 -A 와 -M 외의 옵션들은 동시 사용이 가능하다.

그룹에 사용자 추가그룹에 사용자를 추가하는 방법

  1. vi 명령어로 /etc/group 파일을 편집하여 직접 등록한다.
  2. gpasswd 명령어의 -M 명령어로 그룹 멤버를 직접 설정한다.
  3. gpasswd 명령어의 -a 옵션으로 새로운 멤버를 추가 등록한다.
  4. usermod 명령어의 -a 옵션으로 새로운 멤버를 추가 등록한다.
sudo usermod -a -G groupname username

usermod : modify a user account.

-a : append

-G : group

-a 옵션은 -G 옵션이라 같이 사용되어야 한다.

기타

groups

계정이 속한 그룹 확인하는 방법.


소유권 변경

파일이나 디렉터리의 소유권을 변경하는 방법.

chown [-R] [user][:group] target1 [target2 ..]
Code language: CSS (css)

chown : change file owner and group.

user나 group 중 하나는 반드시 지정되어야 한다.

다음 명령어들은 반드시 루트 권한으로 실행되어야 한다.

예시

chown root /test

/test의 소유권을 ‘root'(슈퍼 사용자를 위한 표준 이름)으로 바꾸기.

chown rob:developers hello.c
Code language: CSS (css)

hello.c의 소유권을 ‘rob’으로, 그리고 그룹 식별자를 ‘developers’로 바꾸기

chown nobody:nobody /tmp /var/tmp
Code language: JavaScript (javascript)

/tmp 와 /var/tmp의 복수의 파일과 디렉터리의 소유권을 한 번에 변경할 수 있다.

chown -R root /test

하위에 파일과 디렉터리에도 적용한다.


출처 : https://velog.io/@jungjaedev/리눅스-파일-권한Permissions

출처 : https://webdir.tistory.com/134

출처 : https://ko.wikipedia.org/wiki/Chow

 

댓글 남기기