가치 있는 정보 준비 중
3초만 투자해 보세요!
Preparing valuable information
Just invest three seconds!
본문 바로가기
IT/OS

UNIX 특수권한 메타문자

by 콰나 | Quanna 2024. 1. 16.

<특수권한>

- 실행에 대한 특수권한

- umask 7644 4자리 첫번째 자릿수로 특수권한 결정

- 4: SetUID / 2: SetGID / 1: StickyBit

 

<SetUID / SetGID / StickyBit>

effective UID SetUID 설정시 실행시 소유자권한으로 실행
effective GID SetGID 설정시 실행시 그룹권한으로 실행
StickyBit - StickyBit 설정시 생성소유자 외의 다른 사용자의 조작을 막는다.
- 모든 사용자가 읽기에 권한은 가능하나 다른 사용자에 의해 파일조작은 불가
(쓰기, 수정, 삭제)

 

 <umask octal모드 설정시>                <심볼릭모드 설정시>

특수권한 소유자 그룹 그외
S l T r w x r w x r w x
4 2 1 4 2 1 4 2 1 421
7 7 7 7
SetUID : chmod u+s
SetGID : chmod g+s
StickyBit : chmod u+t

 

 <실행권한에 따른 표기>

실행권한이 있을 때 실행권한이 없을 때
4755  rws  r-x  r-x
2755  rwx  r-s  r-x
1755  rwx  r-x  r-t
4644  rwS  r--  r--
2644  rw-  r-l  r--
1644  rw-  r--  r-T

Ex) umak 4700   rws --- --- root root

: test1 사용자 경우 실행에 있어서는 소유자 권한을 가질 수 있다. (실행 다시 권한 해제)

<추가 명령어 설명>

사용자 계정 생성 : useradd –m –d /export/home/[사용자이름] s /usr/bin/ksh [사용자이름]

 

1) chown 소유자 권한 변경

명령어 : chown [소유자명] [해당파일]

 

2) chgrp 그룹권한 변경

명령어 : chgrp [그룹명] [해당파일]

3) find perm (권한을 갖는 파일 검색)

find ./ -perm -4000 : 현재 디렉토리에서 umask 4000 있는 파일을 찾는다. (SetUID 있는 )

 

 

<메타 문자>

~ : 현재 사용자의 홈 디렉토리 (cd ~)

- : 이전 디렉토리 (cd -)

? : 모르는 것을 물어볼 때 (cd file?)

\ : 메타문자를 메타문자로 인식 안 함 (echo \$SHELL)

‘’ : 메타문자를 문자로 인식

“”: 메타문자를 메타문자로 인식

`` (그레이브 엑센트): 명령어일 경우 실행

 

<방향재지정문자>

> : 출력 방향 변경 – 덮어쓰기

(기존에 내용을 지우고 새로 붙여넣기)

>> : 출력 방향 변경 - 붙여쓰기

(기존의 내용 이어서 붙여넣기)

< : 입력 방향 변경

(file안의 line, 단어, 문자의 수를 세는 용도)

| : 명령어를 잇는 문자

[명령어] 2> /dev/null : 에러내용은 공간에 버린다.

예제)
1) test 파일에서 5 6 7 줄만 표시하는 방법?
Head -7 test | tail -3
cat test | egrep ‘(5|6|7)’
2) 밑에서 5번째 6번째 줄만 표시하는 방법?
tail -5  test | head -2

<사용자 초기화 파일>

- 시스템을 관리하는 환경을 커스터마이징하기 위해서 몇몇 초기화 파일을 사용한다.

 

1) /etc/profile

- root사용자에 의해서 관리되는 파일로 시스템 전역에 걸쳐 환경을 설정한다.

- 모든 사용자에게 적용된다.

 

2) ~/.profile

- 사용자가 로그인할 때 적용이 된다.

- 각각 사용자에게 적용이 된다.

 

3) ~/.kshrc

- 사용자가 로그인할 때 콘쉘이 실행될 때 적용이 된다.

 

 

<초기화 설정 지정>

- /etc/profile 명령어 추가

 

*프롬프트 모양 : PS1=”[`/usr/ucb/whoami`@’’‘$PWD]’

*Alias 정의 : alias c=clear / alias ll=ls –l

*터미널 환경 : set –o vi