22/08/11

RushBsite·2022년 8월 11일
0

구름_쿠버네티스

목록 보기
9/17
post-thumbnail

chmod 권한변경 실습

chmod 권한변경(숫자 표기법)

파일 기본 권한 제한

-> Linux shell 파일 기본 접근 권한

  • 일반 파일 - 소유자 rw, go 는 r
  • 디렉토리 파일 - 소유자 rwx, go는 rx
    touch 명령어로 생성한파일은 일반파일(실행권한x)

umask - 파일 생성시 기본 권한 제한 설정

umask [ 옵션 ] [<mask값>]
-S 옵션 - mask값 문자 출력
umask 또는 umask -S 입력시 현재 설정된 mask값 출력
mask값- 파일 생성시 제한하고 싶은 권한을 표시한 값

권한제한 mask 값

마스크값소유자그룹기타
002000000010
권한제한없다없다쓰기제한
022000010010
권한제한없다쓰기제한쓰기제한
077000111111
권한제한없다모두제한모두제한
066000110110
권한제한없다읽기쓰기읽기쓰기

특수 접근 권한

->접근 권한은 원래 8진수로 4 자리 사용

가장 처음 자리수가 특수 접근 권한을 의미

특수 접근 권한에는 1, 2, 4를 부여할 수 있다.

  • sticky bit - 맨 앞자리가 1
  • SetGID - 맨 앞자리가 2
  • SetUID - 맨 앞자리가 4

SetUID

-> 해당 파일이 실행되는 동안에는 실행한 사용자의 권한이 아니라 파일 소유자의 권하으로 실행
chmod 4<숫자모드3자리> <파일명>
소유자 실행 권한 문자는 s 로 변경

SetGID

-> 해당 파일이 실행되는 동안 파일을 소유한 그룹의 권한으로 실행
chmod 2<숫자모드3자리> <파일명>
그룹 실행 권한 문자는 's' 로 변경

✳️sticky bit

-> 디렉토리에 부여하여 누구나 파일 생성 가능하게함.

  • 파일 생성 계정이 소유자 (다른 사용자는 삭제 불가)
    대표적으로 /tmp 디렉토리가 sticky bit 설정되있음

  • r - 디렉토리 내용 읽기 가능

  • w - 디렉토리에 파일 생성 가능

  • x - 디렉토리에 이동 가능

  • 디렉토리에 sticky bit가 설정되면 이 디렉토리에는 누구나 파일 생성이 가능

chmod 1<숫자모드3자리> <파일명>
기타 실행 권한이 t 로 변경

Shell 특수 문자

wildcard 문자

  • * -> 모든 문자 집합 의미

  • ? -> 한 문자 의미

  • ; -> 명령을 연결해서 실행

  • && -> lhs 의 명령 정상 수행시 rhs 실행

redirection

-> 출력 또는 입력 방향을 변경하는 목적으로 사용, 방향 전환

  • ✳️표준 입출력 장치 - 특별한 장치 지정없이 바로 사용할 수 있는 입출력 장치, 기본 장치

    표준 입력 장치 - stdin( standard input ), 기본 입력 장치를 의미하고 키보드가 해당, 정수 0 으로 식별
    표준 출력 장치 - stdout( standard output ), 기본 출력 장치를 의미하고 모니터가 해당, 정수 1 로 식별
    표준 에러 표시 장치 - stderr( standard error ), 기본 에러 메시지 표시 장치를 의미하고 모니터가 해당, 정수 2 로 식별

  • >
    ->왼쪽 명령의 결과를 > 오른쪽 방향의 장치나 파일로 출력 방향 변경
    오른쪽에 파일명을 지정하면 항상 해당 파일을 새로 생성한다. ( create )

  • >>
    >> 왼쪽 명령의 결과를 >> 오른쪽 방향의 장치나 파일로 출력 방향 변경
    만약 같은 이름의 파일이 있다면 기존 파일에 내용을 추가한다.( append )

  • 장치번호>
    ->해당 장치로 출력될 내용에 대한 방향 전환

명령 1> 파일 - 표준 출력 장치를 사용하는 출력 결과에 대한 방향 전환

예) cat /etc/hosts 1> result
/etc/hosts 출력 결과( 표준 출력 장치 )를 result로 방향 전환
cat /etc/hosts > result와 같은 표현

명령 2> 파일 - 표준 에러 표시 장치를 사용하는 출력 결과( error message )에 대한 방향 전환

예) cat sample 2> result
cat 명령에 대한 정상 출력은 표준 출력 장치에 출력하고, error 발생시 error message는 result 파일로 방향 전환
예) ls > ls.out 2> ls.err == ls 1> ls.out 2> ls.err
ls 명령에 대하여 정상 작동 결과는 ls.out, 에러 발생시 결과는 ls.err에 저장

ls > ls.out 2> /dev/null
/dev/null - null 장치를 의미하고 이 장치로 전달하면 그 내용은 그냥 소멸
cat /etc/hosts > result 2>&1
명령 전체 출력 결과( 정상적인 결과, 에러 결과 )를 result에 저장

  • cat > 파일
    표준 입력 장치로 부터 입력 받은 결과를 파일에 저장
    간단하게 파일 생성( 새로운 파일 생성 )하는 방법
    이 방법은 기존 파일에 대한 수정은 불가능
    오로지 입력된 내용으로만 파일 생성
    내용 편집은 불가능
    입력 종료는 ctrl + D

  • <
    < 오른쪽 내용을 < 왼쪽으로 방향 전환

pipe - | ( 수직 바, 키보드 enter키 위의 키 )

-> 프로그램 실행 결과를 전달 받는 목적으로 사용
프로세스 통신이라고 한다.
특정 명령에 대한 수행 결과를 기반으로 2차 가공 동작을 수행할 때 많이 사용
명령1 | 명령2
명령1의 실행 결과( 출력 )를 | ( pipe ) 를 통해 명령2에 입력한다.

cat /etc/services | less
/etc/services 파일 내용을 |( pipe ) 를 통해 less 명령에 전달하여 동작
cat /etc/hosts | wc
/etc/hosts 파일 내용을 |( pipe ) 를 통해 wc 명령에 전달하여 동작

profile
게임 기획/개발 지망생

0개의 댓글