리눅스에서는 파일 및 디렉터리에 대한 권한을 효과적으로 관리하기 위해 사용자, 그룹, 기타(다른 사용자들) 세 가지 범주에 대한 권한을 지원한다.
기본적으로, 각 파일 및 디렉터리는 소유자, 그룹 및 기타 사용자에 대해 읽기, 쓰기 및 실행의 세 가지 권한으로 구성된다.
리눅스 명령어 ls의 -l옵션을 통해 현재 위치에 있는 전체 파일들을 자세하게 볼 수 있다.
-rw-rw-r-- 1 myuser myuser 0 Dec 1 08:39 perm.txt
(파일 권한 정보) (링크수) (소유자) (소유 그룹) (용량) (생성 날짜) (파일 이름)
- : 일반 파일d : 폴더 / 디렉토리l : 심볼릭 링크r), 쓰기(w), 실행(x)에 해당하며, -는 해당 권한이 없음을 나타냄-rw-rw-r--
→ - : 일반 파일, rw- : 소유자 권한, rw- : 소유그룹 권한, r-- : 기타 사용자 권한Permission denied 라는 메시지가 뜬다
chmod)권한의 변경이 필요한 경우 chmod(change mode) 명령어를 사용하여 변경한다.
chmod 명령어의 사용법은 크게 두 가지가 있다.
chmod [변경하고자 하는 권한 값] [파일 혹은 디렉토리]
chmod [옵션] [사용자] [설정기호] [권한] [파일 혹은 디렉토리]
+: 권한 추가
-: 권한 제거
=: 권한 부여
u: user, 소유자
g: group, 소유 그룹
o: other, 기타 사용자
a: all, 모든 사용자
chmod o-r

chmod u+x
각 권한마다 부여된 고유 숫자가 있다. 각 그룹을 대표하는 숫자는 r, w, x권한 여부를 모두 더한 값을 나타낸다.
r: 4 (읽기)
w: 2 (쓰기)
x: 1 (실행)
-R옵션 : 하위 디렉토리와 그 안의 파일 권한까지 변경 가능
chmod 777

여러 사용자들에게 권한을 부여하고 싶을 경우, 권한을 주고 싶은 사용자들끼리 그룹 형성하여 특정 권한을 부여한다. 권한을 변경할 때는 마찬가지로 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 [소유자]:{그룹명} [변경할 파일]생활코딩-리눅스 강좌
Linux 리눅스 파일 권한에 대한 이해와 권한 변경(chmod)
[리눅스] 계정/그룹/권한