홈 › 리눅스 명령어 › 03 / 10

사용자·그룹·권한·sudo

섹션 7진행 0 / 10

3. 코드 예제

예제 1: 열 글자와 숫자 — 01_perm.sh 발췌

bash
touch f.txt; mkdir d
ls -ld f.txt d | awk '{print $1, $NF}'
chmod 600 f.txt; ls -l f.txt | cut -c1-10
chmod 644 f.txt; ls -l f.txt | cut -c1-10
chmod 750 d;     ls -ld d   | cut -c1-10
text
drwxr-xr-x d
-rw-r--r-- f.txt
-rw-------
-rw-r--r--
drwxr-x---

파일 기본 644, 폴더 기본 755 에서 시작해 숫자로 바꿨습니다. 리눅스 출력이며 Git Bash 는 NTFS 제약으로 일부만 바뀝니다.

예제 2: 기호 표기 — 01_perm.sh 발췌

bash
chmod u+x f.txt;  ls -l f.txt | cut -c1-10
chmod go-r f.txt; ls -l f.txt | cut -c1-10
chmod a=r f.txt;  ls -l f.txt | cut -c1-10
text
-rwxr--r--
-rwx------
-r--r--r--

+·- 는 현재 값에서 더하고 빼고, = 는 통째로 정합니다. 세 번째 줄에서 실행 권한까지 사라진 것이 = 의 효과입니다.

예제 3: umask — 01_perm.sh 발췌

bash
umask
touch new.txt; ls -l new.txt | cut -c1-10
(umask 077; touch private.txt; ls -l private.txt | cut -c1-10)
text
0022
-rw-r--r--
-rw-------

괄호 안 서브셸에서만 umask 를 바꿔 밖에는 영향이 없습니다. 비밀번호 파일을 만들 때 이 방식으로 처음부터 600 으로 만듭니다.

예제 4: 서비스 계정 준비 — 01_perm.sh 명령 목록

bash
sudo useradd -r -s /sbin/nologin myapp
sudo mkdir -p /opt/myapp /var/log/myapp
sudo chown -R myapp:myapp /opt/myapp /var/log/myapp
sudo chmod 750 /opt/myapp
sudo chmod 600 /opt/myapp/conf/env
getent passwd myapp
text
myapp:x:989:989::/home/myapp:/sbin/nologin

운영 묶음 03 의 전용 계정 만들기와 같은 순서입니다. 계정 생성, 폴더 소유권, 폴더 750, 비밀 파일 600 네 단계가 한 세트입니다.