[1] 소유권과 허가권
1) 소유권과 허가권 확인
소유권과 허가권 확인은 ls -l 또는 -n 옵션 사용
❯ ls -l
-rw-r--r-- 1 user staff 301 8 29 16:03 api_test.py
❯ ls -n
-rw-r--r-- 1 501 20 301 8 29 16:03 api_test.py
2) 파일 유형
- rw- r-- r-- 1 user staff 301 8 29 16:03 api_test.py
| | | | |
| | | | 그룹 소유권
| | | 다른 사용자 허가권(r--) -> 사용자 소유권
| | 그룹 허가권
| 소유자 허가권
파일유형
3) 허가권
허가권의 종류
권한
4) 소유권
5) 허가권 변경
chmod 명렁어 사용(-R 옵션을 통해 특정 디렉터리 내의 파일과 디렉터리에 대하여 재귀적으로 허가권 변경 가능)
$ chmod [option] mode file(s)
$ chmod 644 test.sh
$ chmod r+x test.sh
$ chmod 755 -R abc/ # abc 디렉터리 및 하위 디렉터리/파일 허가권 변경
6) 사용자 및 그룹 소유권 변경
chown 명령어 사용(root 사용자만 가능함)
$ chown [options] owner[:group] file(s)
$ chown user1:user1 test.sh
$ chown -R user1:user2 abc/ # abc 디렉터리 및 하위 파일/디렉터리 소유권 변경
7) 그룹 소유권 변경
chgrp 명령어 사용(본인이 소유한 파일에 대해 본인이 속한 그룹 내에서 소유권 변경 가능)
8) 기본 허가권 변경
시스템상에 파일 및 디렉터리 생성 시 기본 허가권 지정을 위해 umask 사용
리눅스의 기본 허가권 값은 파일 666(rw-rw-rw-), 디렉터리 777(rwxrwxrwx)
파일 디렉터리 생성 시 umask 값을 뺀 결과값을 허가권으로 지정
$ umask 022 # 파일 644, 디렉터리 755 로 생성
$ umask u=rwx,g=rwx,o=rx # 파일/디렉터리 776 으로 생성
[2] 특수 권한
1) 특수권한 종류
Set-UID 권한 비트
Set-GID 권한 비트
스티키 비트
[3] 파일 링크
리눅스에서 윈도우의 바로가기 기능과 같이 시스템에 이미 존재하는 파일에 대한 포인터를 갖는 파일 링크 기능 제공
$ echo "link test" > source # 원본 파일 생성
$ ln -s source target_soft # 심볼릭 링크 생성
$ ln source target_hard # 하드 링크 생성
$ ls -li
67124166 -rw-r--r-- 2 irteam irteam 10 Oct 24 11:24 source
67124166 -rw-r--r-- 2 irteam irteam 10 Oct 24 11:24 target_hard # 원본 파일과 동일한 아이노드를 가리킴
76745769 lrwxrwxrwx 1 irteam irteam 6 Oct 24 11:24 target_soft -> source
$ rm source
$ ls -li
67124166 -rw-r--r-- 1 irteam irteam 10 Oct 24 11:24 target_hard
76745769 lrwxrwxrwx 1 irteam irteam 6 Oct 24 11:24 target_soft -> source
$ cat target_hard # 원본 파일이 삭제되어도 하드 링크의 파일은 존재함
link test
[4] 디렉터리 관리
[5] 파일 관리
예제
# 현재 디렉터리에서 확장자가 zip인 파일 검색
$ find . -name '*.zip'
# 사용자 소유권이 user1인 파일 검색
$ find . -user user1
# 파일 접근 시간이 5일 이상된 파일과 디렉터리를 찾아 홈 디렉터리의 dir1 경로로 이동
$ find . -atime +5 -exec mv '{}' ~/dir1 \;
# 이름이 .log로 끝나는 파일을 찾아 삭제
$ find . -name '*.log' -print0 | xargs -0 rm -f
[6] 텍스트 관련 명령어
1) 파일 시스템 생성의 개요
하드디스크를 새롭게 추가하거나 기존의 하드디스크 중 아직 사용하지 않은 영역이 있다면 파일 시스템을 설정하여 정보를 저장하는 데 사용
2) 파티션 관리
fdisk 명령을 통해 파티션 생성, 삭제, 수정
3) 파일 시스템 생성
4) 마운트
mount 명령을 통해 하드디스크 전체나 특정 파티션을 현재 존재하는 파일 시스템의 디렉터리 구조에 붙여서 접근 가능하게 함
5) 언마운트
unmount를 통해 마운트했던 파일 시스템 해제
6) 영구 마운트 설정
리눅스 부팅 시 /etc/fstab 파일의 정보에 따라 파일 시스템을 자동으로 마운트함
$ cat /etc/fstab
UUID=b19c1d29-808c-4c60-9104-8925466654bd / xfs defaults,noatime,nodev,inode64 0 0
UUID=45830359-4821-4a18-ad29-7c7a0069da1b /home1 xfs defaults,noatime,nodev,inode64 0 0
UUID=1ce0113b-9294-4561-935e-7b56c8078392 none swap defaults 0 0
/home1 /home none defaults,bind 0 0
# 블록 디바이스 | 마운트 위치 | 파일 시스템 유형 | 마운트 옵션 | 덤프 여부(1: 백업) | 파일 시스템 점검 순서
[2] 파일 시스템 점검
[1] 스왑의 개요
시스템이 물리 메모리를 모두 소진하고 더 많은 메모리 공간이 필요할 때 메모리상의 비활성화된 메모리를 스왑 공간으로 이동하여 메모리 공간을 확보하는 기술
[2] 스왑 파일 생성
[3] 스왑 파일 삭제
[4] 스왑 파티션 생성
[5] 스왑 명령어
[1] 디스크 쿼터 개요 및 설정 방법
1) 디스크 쿼터 개요
디스크는 한정된 자원이기 때문에 사용자 또는 그룹별 디스크 사용량을 할당하여 관리
2) 디스크 쿼터 설정 방법
[2] 디스크 쿼터 관련 명령어