- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- sql
- MariaDB
- 프로그래머스
- TWIL
- 배포
- LEVEL1
- 코어 자바스크립트
- 코딩테스트
- Docker
- Err-Handling
- mongodb
- 리팩터링 2판
- TMIL
- Git
- typescript
- 오늘도 개발자가 안된다고 말했다
- First Project
- 아고라스테이츠
- CRUD
- CSS
- javascript
- react
- 에러핸들링
- LEVEL 2
- 면접을 위한 cs 전공지식 노트
- LEVEL 1
- Refactoring
- 알고리즘
- TIL
- java
성장에 목마른 코린이
[Linux] 사용 권한 설정 (chown, chmod) 본문
chown : 파일의 소유권과 그룹을 변경하는 명령어
ls -l을 입력하면 터미널에 나타나는 출력. username은 사용자 이름입니다.
파일 helloworld.js는 -rw-r--r-- 이라고 출력되었고,
폴더 linux는 drwxr-xr-x 라고 출력되었습니다.
표현의 시작인 - 와 d 는 각각 not directory와 directory를 나타냅니다. 폴더이면 d로, 파일이면 - 로 나타냅니다.
r, w, x는 각각 read permission, write permission, execute permission으로 읽기, 쓰기, 실행 권한을 나타냅니다.
user/owner, group, and other
user/owner:
- user는 파일의 owner입니다. 기본적으로 파일을 만든 사람이 소유자가 됩니다. user를 소유자라고 하기도 합니다.
group:
- group에는 여러 user가 포함될 수 있습니다. 그룹에 속한 모든 user는 파일에 대한 동일한 group 액세스 권한을 갖습니다. 많은 사람이 파일에 액세스해야 하는 프로젝트가 있다고 가정합니다. 각 user에게 일일이 권한을 할당하는 대신에 모든 user를 group에 추가하고, 파일에 group 권한을 할당할 수 있습니다.
other:
- 파일에 대한 액세스 권한이 있는 다른 user입니다. 파일을 만들지 않은 다른 모든 user를 의미합니다. 따라서 other 권한을 설정하면, 해당 권한을 global 권한 설정이라고 볼 수도 있습니다
chmod: 권한을 변경하는 명령어
명령어 chmod 폴더나 파일의 읽기, 쓰기, 실행 권한을 변경할 수 있습니다. OS에 로그인한 사용자와, 폴더나 파일의 소유자가 같을 경우에 명령어 chmod 로 폴더나 파일의 권한을 변경할 수 있습니다. 만약 OS에 로그인한 사용자와, 폴더나 파일의 소유자가 다를 경우에는 명령어 sudo 를 이용해 폴더나 파일의 권한을 변경할 수 있습니다.
명령어 chmod 로 권한을 변경하는 방식은 두 가지가 있습니다.
- 첫 번째는 더하기(+), 빼기(-), 할당(=)과 액세서 유형을 표기해서 변경하는 Symbolic method입니다.
- 두 번째는 rwx를 3 bit로 해석하여, 숫자 3자리로 권한을 표기해서 변경하는 Absolute form입니다.
Symbolic method는 액세스 클래스, 연산자, 액세스 타입으로 구분합니다.
Access classOperatorAccess Type
u (user) | + (add access) | r (read) |
g (group) | - (remove access) | w (write) |
o (other) | = (set exact access) | x (execute) |
a (all: u, g, and o) |
// symbolic method 사용 예시
chmod g-r filename # removes read permission from group
chmod g+r filename # adds read permission to group
chmod g-w filename # removes write permission from group
chmod g+w filename # adds write permission to group
chmod g-x filename # removes execute permission from group
chmod g+x filename # adds execute permission to group
chmod o-r filename # removes read permission from other
chmod o+r filename # adds read permission to other
chmod o-w filename # removes write permission from other
chmod o+w filename # adds write permission to other
chmod o-x filename # removes execute permission from other
chmod o+x filename # adds execute permission to other
chmod u+x filename # adds execute permission to user
chmod a=rw helloworld.js # -rw-rw-rw-
chmod u= helloworld.js # ----rw-rw-
chmod a+rx helloworld.js # -r-xrwxrwx
chmod go-wx helloworld.js # -r-xr--r--
chmod a= helloworld.js # ----------
chmod u+rwx helloworld.js # -rwx------
Absolute form
숫자 7까지 나타내는 3 bits의 합으로 표기합니다.
사용자, 그룹, 또는 다른 사용자나 그룹마다 rwx 가 나타나고, 각 영역의 boolean 값으로 표기할 수 있습니다.
PermissionNumber
Read (r) | 4 |
Write (w) | 2 |
Execute (x) | 1 |
만약, user는 rwx 를, group과 other은 r-- 로 권한을 변경하려고 한다면, 위 표에 나와있는 숫자의 합을 user, group, other 순으로 입력하여 사용합니다.
# u=rwx (4 + 2 + 1 = 7), go=r (4 + 0 + 0 = 4)
chmod 744 helloworld.js # -rwxr--r--
Absolute form에서 사용하는 숫자는 다음의 표를 참고하세요.
#SumrwxPermission
7 | 4(r) + 2(w) + 1(x) | rwx | read, write and execute |
6 | 4(r) + 2(w) + 0(-) | rw- | read and write |
5 | 4(r) + 0(-) + 1(x) | r-x | read and execute |
4 | 4(r) + 0(-) + 0(-) | r-- | read only |
3 | 0(-) + 2(w) + 1(x) | -wx | write and execute |
2 | 0(-) + 2(w) + 0(-) | -w- | write only |
1 | 0(-) + 0(-) + 1(x) | --x | execute only |
0 | 0(-) + 0(-) + 0(-) | --- | none |
'OS (Operating System) > Linux' 카테고리의 다른 글
[Linux] scp, sftp 사용법 (0) | 2022.11.29 |
---|---|
[Linux] VI vs VIM 차이 (2) | 2022.11.04 |
Linux 기본 사용법 (0) | 2022.03.15 |