일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 홈택스
- Blade
- cartalyst
- 개인사업자
- 사업자계좌
- Laravel
- 당사자표시정정신청서
- win32
- javascript
- auth
- elasticSearch
- 체당금
- vue
- 소액임금체불
- php
- Python
- 이더리움
- 코로나
- blockchain
- Bootstrap
- reactnative
- as후기
- 전자소송
- 코로나19
- Sentinel
- Tutorial
- 인민공원
- 보정명령
- Eclipse
- Java
- Today
- Total
그냥 사는 이야기
리눅스 퍼미션(Permission) 본문
- id - 사용자 ID 정보를 표시한다.
- umask - 기본 파일 퍼미션을 설정한다.
- su - 다른 사용자로 쉘을 실행한다.
- sudo - 다른 사용자로 명령어를 실행한다.
- chmod - 파일 모드를 변경한다.
- chown - 파일 소유자를 변경한다.
- chgrp - 파일 그룹 소유자를 변경한다.
- passwd - 사용자 비밀번호를 변경한다.
소유자, 그룹 멤버, 기타 사용자
$ file /etc/shadow
/etc/shadow: regular file, no read permission
$ less /etc/shadow
/etc/shadow: Permission denied
자신의 사용자 ID 정보를 확인하기 위해서는 id 명령어를 사용한다.
$ id
uid=1000(ubuntu) gid=1000(ubuntu) groups=1000(ubuntu),4(adm),20(dialout),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),117(netdev),1001(docker)
사용자 계정은 /etc/passwd
파일에 정의되어 있고, 그룹은 /etc/group
파일에 정의되어 있다. 사용자 계정과 그룹이 생성되면, 이 파일들은 사용자 비밀번호에 관한 정보를 가진 /etc/shadow
에 덧붙여 수정된다. 각각의 사용자 계정은 /etc/passwd
파일에 그 사용자 이름, uid, gid, 실제 사용자 이름, 홈 디렉토리와 로그인 쉘 정보가 저장된다.
읽기, 쓰기, 실행
파일 속성의 나머지 9개의 문자는 파일 모드(file mode)라고 불린다. 그것은 파일 소유자, 파일 소유 그룹, 기타 사용자에 대한 읽기, 쓰기, 실행권한을 나타낸다.
<표> 퍼미션 속성
속성 | 파일 | 디렉토리 |
r | 파일 열기와 읽기를 허용한다. | 실행 속성이 설정되어 있으면 디렉토리의 내용물을 나열할 수 있게끔 허용한다. |
w | 이 속성은 파일 쓰기 또는 잘라내기는 허용하지만, 이름 변경이나 파일 삭제는 허용하지 않는다. 파일 삭제나 파일 이름 변경은 디렉토리 속성에 의해 결정된다. | 실행 속성이 설정되어 있으면 디렉토리 내의 파일들을 생성, 삭제, 이름 변경이 가능하도록 허용한다. |
x | 파일이 프로그램으로 처리되고 파일이 실행되도록 허용한다. 스크립트 언어에서 작성된 프로그램 파일들은 읽기 기능으로 설정되어 있어야만 실행 가능하다. | 디렉토리에 들어올 수 있도록 허용한다(예를 들어 cd directory 같이). |
chmod - 파일 모드 변경
8진법 표현
<표> 2진법과 8진법의 파일 모드
8진법 | 2진법 | 파일모드 |
0 | 000 | --- |
1 | 001 | --x |
2 | 010 | -w- |
3 | 011 | -wx |
4 | 100 | r-- |
5 | 101 | r-x |
6 | 110 | rw- |
7 | 111 | rwx |
$ > foo.txt
$ ls -l foo.txt
-rw-r--r-- 1 ubuntu ubuntu 0 Oct 14 16:47 foo.txt
$ chmod 600 foo.txt
$ ls -l foo.txt
-rw------- 1 ubuntu ubuntu 0 Oct 14 16:47 foo.txt
7 (rwx), 6 (rw-), 5 (r-x), 4 (r--), 0 (---).
기호 표현
<표> chmod 기호 표기법
기호 | 의미 |
u | user의 약자로, 파일이나 디렉토리 소유자를 의미한다. |
g | 그룹 소유자. |
o | others의 약자로, 기타 사용자를 의미한다. |
a | all의 약자로, u, g, o의 조합이다. |
<표> chmod 기호 표기법 예제
표기법 | 의미 |
u+x | 소유자에게 실행 권한을 추가한다. |
u-x | 소유자의 실행 권한을 제거한다. |
+x | 모든 사용자(소유자, 그룹 기타 사용자)에게 실행 권한을 추가한다. a+x와 동일하다. |
o-rw | 소유자와 그룹 소유자가 아닌 사용자의 읽기, 쓰기 권한을 제거한다 |
go=rw | 그룹 소유자와 기타 사용자가 읽기, 쓰기 권한을 갖도록 한다 그룹 소유자든 기타 사용자든 이전에 실행 권한을 가지고 있다면 그것은 제거된다. |
u+x, go=rw | 소유자에게 실행 권한을 추가하고 그룹 소유자와 기타 사용자에게 읽기, 쓰기 권한을 설정한다. 복수 지정은 콤마를 사용하여 구분한다. |
사용자 ID 변경
다른 사용자 ID를 사용하는 세 가지 방법은 아래와 같다.
- 로그아웃 후 다른 사용자로 로그인하기
- su 명령어 사용하기
- sudo 명령어 사용하기
su - 다른 사용자 ID와 그룹 ID로 쉘 실행
$ su -
Password:
#
sudo- 다른 사용자로 명령어 실행
일반 사용자에게 반복되는 문제 중 하나는 슈퍼유저 특권이 필요한 소프트웨어 설치와 업데이트, 시스템 설정
파일 편집, 장치 접근과 같은 작업들을 어떻게 수행하는가이다. 윈도우즈 세계에서는 이런 것들은 종종 관리자
권한이 주어진 사용자에 의해 진행된다. 사용자에게 이 작업들의 실행이 허용되고 또한 실행된 프로그램은 동일
한 기능을 가지고 활성화된다. 이는 대부분의 경우에는 적절하지만 바이러스와 같은 멀웨어(악성 소표트웨어)의
실행조차도 허용한다.
chown - 파일 소유자와 그룹 변경
처음 sudo 명령의 사용 이후에는 왜 유저에게 비밀번호 입력을 위한 프롬프트가 나타나지 않았나? 그 이유는 sudo의 환경설정에 “신뢰”할 수 있는 시간이 지정되어 있기 때문이다.
chown [owner][:[group]] file ...
인자 | 결과 |
bob | 파일의 소유권을 현 소유자에서 bob으로 변경한다. |
bob:users | 파일의 소유권을 현 소유자에서 bob으로 변경하고 파일 그룹 소유자를 users 그룹으로 변경한다. |
:admins | 파일 그룹 소유자를 admins 그룹으로 변경한다. 파일 소유자는 바뀌지 않는다. |
bobs: | 파일 소유자가 현 소유자에서 bob으로 변경되고 그룹 소유자는 bob의 로그인 그룹으로 변경된다. |
chgrp - 그룹 소유권 변경
'Development > System' 카테고리의 다른 글
Docker로 tendermint 실행 (0) | 2020.11.30 |
---|---|
Windows10에서 tensorflow-gpu 2.1.0 설치. (Feat. NVidia 1060) (0) | 2020.11.17 |
Windows 10에서 WSL1 사용하기 (2) | 2020.05.06 |
Linux의 init process 그리고 systemd (0) | 2020.04.28 |
Vagrant를 사용하여 VirtualBox 제어하기 (0) | 2020.03.23 |