Linux

사용자와 그룹과 파일 권한

cwchoiit 2023. 10. 4. 16:00
728x90
반응형
SMALL
728x90
반응형
SMALL

root / group / user

리눅스라는 운영체제는 여러 사용자가 같이 사용할 수가 있는데 그 사용자들 중 최상위 권한을 가지는 root 계정이 있고 root 계정은 리눅스라는 운영체제를 설치하는 순간부터 바로 만들어지는 계정이다. 그 외 별도로 사용자를 또는 그룹을 생성하여 만들 수 있다.

 

그리고 이 root, group, user단위로 행위에 대한 제약 조건이 생긴다. 그래서 사용자와 그룹에 대한 지식이 필요하다.

 

 

파일 소유권

각 파일(폴더)은 소유권과 권한이란게 존재한다. 명령어 ls -al을 입력해보면 아래와 같이 노출되는 걸 볼 수 있다.

위 사진에서 빨간 박스의 첫 번째가 해당 파일에 Owner가 누구인지 나타내는 부분이다.

그리고 두 번째Group에 대한 설명이다. 즉, 이 파일에 권한을 가지는 그룹이 누구냐를 의미한다.

위 사진을 예로 보면 그룹 부분이 다 root이므로 이 파일 소유권권한 모두 root계정만 가진다고 보면 된다.

 

권한은 좀 더 세부적으로 파고들어갈 수 있는데 맨 왼쪽에 보면 권한에 대한 표시가 나타나 있다. 

.java 폴더의 맨 앞을 보면 drwxr-x--- 로 표현되어 있음을 확인할 수 있는데 이게 의미하는 건 이 파일은 디렉터리 형태이고, Owner는 read, write, execute가 가능하며, Group은 read, execute가 가능하며, Other users는 그 무엇도 하지 못함을 의미한다.

 

이 내용은 다음 섹션인 파일 권한에서 좀 더 자세히 알아보자. 

 

 

파일 권한 (8진 표기법) 

 

8진법은 모든 숫자를 8개의 숫자 (0 - 7)로만 표현하는 방식이다.

그래서 8진법을 2진법으로 나타내는 방법은 3개의 digit으로 표현한다. 왜냐하면 앞에서부터 2의 2승, 2의 1승, 2의 0승을 하면 합이 7이 되니까. 더 쉽게 말해 세개의 digit으로 8진법을 모두 표현 가능하기 때문에 8진법을 2진법으로 나타내는 방법은 3개의 digit으로 표현한다.

 

그럼 이제서야 777의 의미가 이해가 된다. 777은 Owner, Group, Other users 모두 read, write, execute 권한을 다 부여하는 것.

그럼 754는 ? Owner는 모든 권한을, Group은 read와 execute, Other users는 read권한을 부여한다는 의미가 된다.

그리고 맨 앞 -는 파일을 d는 폴더를 의미한다.

 

그래서 다시 저 위로 올라가보면 .java라는 폴더의 파일 권한은 drwxr-x--- 이렇게 표기되어 있는데 이 의미는 폴더이며 Owner에게 read, write, execute 권한이 있고 Group에게는 read, execute 권한이 있고 Other users는 아무런 권한도 가지고 있지 않음을 알 수 있다.

 

 

파일 권한 (의미 표기법)

의미 표기법은 이제 8진법으로 표현하는 방식이 human-friendly하지 않기 때문에 그걸 좀 인간이 이해하기 쉽게 만든 방식이라고 보면 된다.

명령어는 다음과 같이 사용할 수 있다.

chmod [ugoa(+/-)rwx] <dir>

u: user

g: group

o: others

a: all

+: add permission

-: remove

 

예를 들어 chmod go+rx <dir> 이렇게 입력하면, group과 others에 read와 execute 권한을 <dir>에 부여하겠다는 의미가 된다.

728x90
반응형
LIST

'Linux' 카테고리의 다른 글

Vim 필수 기능 정리  (0) 2023.12.27
Hard Link / Soft Link  (0) 2023.10.04
Linux란 ?  (0) 2023.10.04
[Linux]: 내가 쓰려고 기록한 유용한 Commands  (2) 2023.10.04