[Server] Linux - 권한(Permission)

seonjeong·2023년 12월 1일
0

Server

목록 보기
12/15
post-thumbnail

❤️ 권한 기본

리눅스에서는 파일 및 디렉터리에 대한 권한을 효과적으로 관리하기 위해 사용자, 그룹, 기타(다른 사용자들) 세 가지 범주에 대한 권한을 지원한다.
기본적으로, 각 파일 및 디렉터리는 소유자, 그룹 및 기타 사용자에 대해 읽기, 쓰기실행의 세 가지 권한으로 구성된다.

파일 권한

리눅스 명령어 ls-l옵션을 통해 현재 위치에 있는 전체 파일들을 자세하게 볼 수 있다.

예시

  -rw-rw-r--      1     myuser    myuser     0  Dec 1 08:39  perm.txt
(파일 권한 정보)  (링크수) (소유자) (소유 그룹) (용량) (생성 날짜) (파일 이름)
  • 파일 권한 정보는 소유자, 그룹, 기타 사용자에 대한 권한을 나타냄
  • 맨 앞의 문자 1자리는 파일 타입을 나타냄
    • - : 일반 파일
    • d : 폴더 / 디렉토리
    • l : 심볼릭 링크
  • 각각의 권한은 읽기(r), 쓰기(w), 실행(x)에 해당하며, -는 해당 권한이 없음을 나타냄
    -rw-rw-r--
    → - : 일반 파일, rw- : 소유자 권한, rw- : 소유그룹 권한, r-- : 기타 사용자 권한
  • 권한이 없을 경우 Permission denied 라는 메시지가 뜬다

❤️ 권한을 변경하는 방법(chmod)

권한의 변경이 필요한 경우 chmod(change mode) 명령어를 사용하여 변경한다.
chmod 명령어의 사용법은 크게 두 가지가 있다.

chmod [변경하고자 하는 권한 값] [파일 혹은 디렉토리]
chmod [옵션] [사용자] [설정기호] [권한] [파일 혹은 디렉토리]

1. 기호를 통해 권한을 변경하는 방법

+ : 권한 추가
- : 권한 제거
= : 권한 부여

u : user, 소유자
g : group, 소유 그룹
o : other, 기타 사용자
a : all, 모든 사용자

  • 예시1 ) 기타 사용자의 권한을 제거 : chmod o-r
  • 예시2 ) 실행 권한 부여 : chmod u+x

2. 숫자를 통해 권한을 변경하는 방법

각 권한마다 부여된 고유 숫자가 있다. 각 그룹을 대표하는 숫자는 r, w, x권한 여부를 모두 더한 값을 나타낸다.

r : 4 (읽기)
w : 2 (쓰기)
x : 1 (실행)

-R 옵션 : 하위 디렉토리와 그 안의 파일 권한까지 변경 가능

  • 예시 ) 사용자들에게 모든 권한 부여 : chmod 777

❤️ 그룹(Group)

여러 사용자들에게 권한을 부여하고 싶을 경우, 권한을 주고 싶은 사용자들끼리 그룹 형성하여 특정 권한을 부여한다. 권한을 변경할 때는 마찬가지로 chmod를 사용한다.

그룹 조회

cat /etc/group

groups [사용자명]

그룹 생성

groupadd [옵션] [그룹명]

-r : 0~499 사이에 할당되어 있지 않은 GID 중 가장 높은 번호 할당
-g : 그룹 ID (GID) 명시하여 할당

사용자를 특정 그룹에 추가

sudo usermod -a -G [그룹명] [사용자명]

그룹 삭제

groupdel [그룹명]

그룹 수정

groupmod [그룹명]

-g : 그룹 ID변경
-n : 그룹명 변경

그룹 관리 및 암호 설정

gpasswd [옵션(사용자명)] [인자값] [그룹명]

-a : 사용자를 그룹에 추가시킨다.
-d : 사용자를 그룹에서 제거한다.


❤️ 파일 소유자 변경하는 방법

파일 소유자 변경은 root만 가능하다.
-R 옵션 : 하위 디렉토리와 그 안의 파일 권한까지 변경 가능

chown [변경할 소유자] [변경할 파일]
  • 현재 디렉토리의 소유자와 그룹도 바꿀 수 있다
    chown [소유자]:{그룹명} [변경할 파일]



Reference

생활코딩-리눅스 강좌
Linux 리눅스 파일 권한에 대한 이해와 권한 변경(chmod)
[리눅스] 계정/그룹/권한

profile
🦋개발 공부 기록🦋

0개의 댓글