리눅스 9일차(보안)
[l,d,-] /rw-rw-r/1/root/root/7/7월10 17:51 /bin->usr/bin
파일유형 / 허가권 / 링크수 / 소유자 / 소유그룹 / 파일 크기 / 변경일시 / 파일명
파일유형의 종류
d : 디렉토리
b : 블록 디바이스 파일 (하드 드라이브나 CD-ROM과 같이 블록 단위의 데이터를 처리하는 디바이스
c : 문자 디바이스 파일
l : 심볼릭 링크 파일
p : 명명된 파이프
s : 유닉스 도메인
- : 일반 파일
허가권
각파일에 읽기 / 쓰기 / 실행 의 권리를 사용자 / 그룹 / 다른 사용자로 나눠서 관리 한다.
- user : 파일을 만든(생성) 소유주
- group : 파일을 만든 소유주가 속한 그룹
- other : 기타 사용자
- rwx : 파일 소유자가 읽기/쓰기/실행 권한을 모두 가지고 있다.
- rw : 파일 소유그룹에게 읽기 쓰기 권한만 있다.
- r : 소유자와 소유그룹 외에 다른 사용자들은 읽기 원한만 있다.
- r(4)
- 파일 : 파일에 대한 읽기 권한 열기 , 읽기 허용
- 디렉터리 : 디렉터리 내의 파일을 나열할 수 있게 허용
- w(2)
- 파일 : 파일에 대한 쓰기 권한 쓰기/잘라내기 허용
- 이름 변경이나 파일 삭제 허용은 하지 않는다. => 파일 삭제나 이름 변경은 디렉터리 속성에 의해 결정된다.
- 디렉터리 : 디렉터리 내의 파일을들 생성 , 삭제 , 이름변경이 가능하도록 허용
- 파일 : 파일에 대한 쓰기 권한 쓰기/잘라내기 허용
- x(1)
- 파일 : 파일에 대한 실행 권한
- 디렉터리 : 디렉터리 내에서 탐색을 위해 이동할 수 있도록 허용(cd 명령어를 통해 진입 할 수 있도록)
소유권 & 허가권 변경 방법
허가권 변경 (chmod 퍼미션 숫자)
ex) chmod 777 test.txt => test.txt 파일에 대한 권한을 전부 부여하겠다
허가권 변경 chmod 기호
- 읽기 : r
- 쓰기 : w
- 실행 : x
- 권한 추가 : +
- 권한 삭제 : -
- 기존의 permition을 삭제하고 덮어쓰는 것 : =
- 사용자 허가권 : u
- 그룹 허가권 : g
- 다른 사용자 허가권 : o
- 모두 : a
허가권 변경 chmod 옵션
- -R : 특정 디렉터리 내의 파일과 디렉터리에 대해 재귀적으로 허가권 변경
- -C : 변경된 파일이나 디렉터리에 대한 자세한 정보를 출력
- -f : 대부분의 에러 메시지 출력을 제한
- -- : 모드 대신 파일에 지정한 모드를 사용
사용자 및 그룹 소유권 변경 (chown)
- 파일이나 디렉터리의 사용자 및 그룹의 소유권을 변경
- 소유권 변경은 오직 root 사용자만 가능하다.
- chown 옵션 owner :그룹 파일
※옵션은 chmod와 동일
ex)
chown root test.txt => test.txt. 파일의 소유자를 root로 지정한다.
sudo chown userA:groupA fileA.txt => 사용자는 userA 그룹은 groupA로 파일(fileA.txt)의 소유자를 변경
sudo chown -R userA:groupA dirA =>dirA안에 모든 파일과 디렉터리에 대해서 사용자는 userA 그룹은 groupA로 소유자를 변경한다.
그룹 소유권만 변경 (chgrp)
파일이나 디렉터리의 그룹 소유권만 변경
ex)
chgrp groupA best.txt => best.txt 파일에 대한 소유 그룹을 groupA로 지정
chgrp -R groupA bestdir => bestdir 디렉터리에 있는 모든 파일과 dir에 대해 그룹을 groupA 로 지정
기본 허가권 변경(umask)
- 파일이나 디렉터리를 생성할때 자동으로 기본 허가권을 부여하게 되는데 umask는 이를 변경하는 명령어
- 파일의 기본 최대 권한 : 666(rw-rw-rw-)
- 설정된 값 0022(root) : 앞에 0은 무시하고 666-022 => 644 이므로 (rw-r--r--)
- 사용자 계정은 0002 이다.
- 디렉터리의 기본 최대 권한 : 777(rwxrwxrwx)
특수 권한 (UID,GID,sticky-bit)
- SetUID
- 사용자의 권한이 있어야만 실행을 할 수 있는 파일의 경우 그 권한을 일시적으로 일반 사용자들에게 부여 하기 위해 사용한다
- 숫자 방식 : chmod 4750 best.txt
- 문자 방식 : chmod u=srwx,g=r,o=r best.sh
- SetGID
- 그룹의 권한이 있어야만 실행을 할 수 있는 경우 그 권한을 일시적으로 일반 사용자들에게도 부여하여 파일을 실행 할 수 있게 한다.
- 숫자 방식 : chmod 2750 best.txt
- 문자 방식 : chmod u=rwx,g=sr,o=r best.sh
- sticky-bit (디렉터리에만 설정 가능)
- 공유 디렉터리에서 파일을 생성한 사람(소유주)이 삭제할 수 있도록 설정하는 비트
- 숫자 방식 : chmod o+t dir1
- 문자 방식 : chmod 1777 dir1
- sudo
- 일반 사용자가 root의 권한을 가질 수 있다.
※-i 옵션 root로 바로 이동 가능
sudo -i