일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 페이스북유니버시티 #마케팅교육 #마케팅캠프
- 블록체인 #layer2 #레이어2 #이더리움스케일링
- vp #vc #did #신원인증 #블록체인
- #경제상식 #화폐 #금융 #화폐금융론 #경제학 #경제기본 #경제지식 #경제근육 #투자지식 #경제공부 #경제학전공 #금융이란 #화폐란 #금융시장 #금융시장역할 #화폐역할 #화폐역기능 #금융역기능 #
- html #js #parsing
- #국제채권시장 #유로본드 #유로커런시 #유로달러 #외국채 #금융중개기관 #간접금융 #거래비용#다우존스공업평균지수 #나스닥종합지수 #FTSE100 #DAX #CAC40 #straittimes #항생지수 #거래비용 #유동성 #위
- 자료구조 #알고리즘
- 미쉬킨의화폐와금융 #미쉬킨 #화폐금융론 #화폐와금융 #경제학 #교양 #경제지식 #경제공부
Archives
- Today
- Total
평행우주 : world 1
[CLI] 사용권한 본문
Read, Write, Execute 권한
폴더인지 파일인지 확인하기
폴더와 파일을 생성하기 위해 명령어 mkdir 과 nano 이용
linux 폴더를 생성하고, helloworld.js 파일을 생성
mkdir linux
nano helloworld.js
코드를 작성한 다음 Ctrl + X, Y, Enter 를 순서대로 입력하면, 새로운 파일을 저장할 수 있다.
폴더 하나와 파일 하나를 각각 생성
명령어 ls -l 을 프롬프트에 입력하고 Enter(엔터 키)
- 파일 helloworld.js는 -rw-r--r-- 이라 출력, 폴더 linux는 drwxr-xr-x 라고 출력
- 이 표현의 첫 시작인 - 와 d 는 각각 not directory와 directory를 나타낸다.
- 폴더이면 d로, 파일이면 - 로 나타낸다.
- 이어지는 r, w, x는 각각 read permission, write permission, execute permission으로 읽기 권한, 쓰기 권한, 실행 권한
- 3번에 걸쳐 나타나는 이유는 사용자와 그룹, 나머지에 대한 권한을 표시하기 때문
- 파일 helloworld.js의 권한은 rw-r--r-- 으로, 소유자는 읽기와 쓰기가 가능하고, 다른 사용자 그룹은 읽기만 가능
- 폴더 linux의 권한은 rwxr-xr-x 으로, 소유자는 읽기와 쓰기, 실행이 가능하고, 다른 사용자 그룹은 읽기와 실행만 가능
user, group, and other
user
- user는 파일의 소유자
- 기본적으로 파일을 만든 사람이 소유자
- 따라서 user를 소유자라고 보기도 한다
group:
- group에는 여러 user가 포함될 수 있다.
- 그룹에 속한 모든 user는 파일에 대한 동일한 group 액세스 권한을 갖는다.
other:
- 파일에 대한 액세스 권한이 있는 다른 user
- 파일을 만들지 않은 다른 모든 user를 의미
- 따라서 other 권한을 설정하면, 해당 권한을 global 권한 설정이라고 볼 수 있다.
chmod: 권한을 변경하는 명령어
- 명령어 chmod 폴더나 파일의 읽기, 쓰기, 실행 권한을 변경할 수 있다.
- OS에 로그인한 사용자와, 폴더나 파일의 소유자가 같을 경우에 명령어 chmod 로 폴더나 파일의 권한을 변경할 수 있다.
- 만약 OS에 로그인한 사용자와, 폴더나 파일의 소유자가 다를 경우에는 관리자 권한을 획득하는 명령어 sudo 를 이용해 폴더나 파일의 권한 변경
명령어 chmod 로 권한을 변경하는 방식
- 첫 번째는 더하기(+), 빼기(-), 할당(=)과 액세서 유형을 표기해서 변경하는 Symbolic method.
- 두 번째는 rwx를 3 bit로 해석하여, 숫자 3자리로 권한을 표기해서 변경하는 Absolute form
Symbolic method는 액세스 클래스, 연산자, 액세스 타입으로 구분
Access class | Operator | Access 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) |
- 명령어 chmod 뒤에 변경할 권한 입력.
- 액세스 클래스의 u, g, o, a를 변경할 조건에 따라 조합하여 입력하고,
- 연산자와 액세스 타입을 순서대로 입력
- 액세스 클래스와 연산자, 액세스 타입을 모두 기억해야만 Symbolic method를 이용해 권한 변경 가능
다음은 명령어 chmod 를 입력한 예시와 결과
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 값으로 표기
- 만약, user는 rwx 를, group과 other은 r-- 로 권한을 변경하려고 한다면,
- 위 표에 나와있는 숫자의 합을 user, group, other 순으로 입력하여 사용
- chmod 명령어와 Absolute form으로 helloworld.js 파일의 권한을 변경
Permission | Number |
Read (r) | 4 |
Write (w) | 2 |
Execute (x) | 1 |
# u=rwx (4 + 2 + 1 = 7), go=r (4 + 0 + 0 = 4)
chmod 744 helloworld.js # -rwxr--r--
Absolute form 의 숫자별 권한
# | Sum | rwx | Permission |
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 |
'텃밭 3 : BE > Linux' 카테고리의 다른 글
[ CLI] cavas 설치 오류 해결법 (0) | 2022.03.07 |
---|---|
[TIP] Homebrew 주요 명령어 정리 (0) | 2021.12.31 |
[CLI 기초] 경로와 텍스트 에디터 nano (0) | 2021.12.31 |
[CLI 기초] 정의 및 기본 명령어 (0) | 2021.12.31 |
Comments