🦇 Linux

리마 2급 공부 노트 - 8.22

ji-hyun 2021. 8. 23. 04:35

du (disk usage)

파일이나 디렉터리들이 디스크에서 차지하고 있는 크기를 출력

 

du -sh /* : / 이하에 있는 각 디렉터리별로 크기를 합쳐서 사람이 읽기 좋은 단위(KB, GB 등)로 출력하기 위한 명령

h : human-readable 의 약자.

s : 파일들의 전체 크기를 합한 값만 보여줌

 

 

/etc/fstab

이 파일은 파일 시스템에 대한 다양한 정보를 담고 있는 파일부팅 시에 마운트할 파티션 정보가 기록되어 있는 파일이기도 한다. 파티션 정보를 변경하였거나 디스크를 추가한 경우 이 파일에 등록해야만 부팅 시에 자동으로 마운트할 수 있다. mount, umount, fsck 등의 명령어가 수행될 때 이 파일의 정보를 참조한다.

/etc/fstab/ 파일은 총 6개의 필드로 구성되어 있다.

 

 

 

 

mount

mount는 '오르다' 또는 '어떠한 장비를 설치하다(탑재하다)' 라는 뜻으로 리눅스에서는 보조기억장치(HDD, FDD, CD-ROM 등)나 파일 시스템이 다른 디스크를 /의 하위 디렉터리로 연결하여 사용 가능하게 해주는 명령이다. (윈도우는 자동으로 연결이었음)

특정한 옵션 없이 mount 명령을 내리면 현재 마운트된 장치나 디스크를 확인할 수 있다.

 

-> mount [option] [device] [directory]

 

 

 

umount 

언마운트의 약자로 마운트된 파일 시스템을 해제시켜주는 명령이다.

특히 CD-ROM 이나 DVD-ROM 이 마운트 된 상태에서는 이 명령을 사용하지 않으면 드라이브 안에 들어있는 디스크를 꺼낼 수 없다. Floppy, USB 메모리 등의 보조기억장치 사용 후에는 반드시 이 명령을 사용한 뒤에 제거해야 데이터의 손실이 없다.

 

 

eject

CD-ROM, DVD 등과 같이 이동식 보조 기억장치의 미디어를 꺼낼 때 사용한다. 이 명령을 사용하면 자동으로 언마운트 작업을 수행한다.

 

-> eject [장치명 or 마운트된_디렉터리명]

 

 

 

 

<디스크 쿼터의 개요>

리눅스 시스템은 기본적으로 사용자의 용량을 제한하지 않아서, 특정 사용자가 디스크에 남아 있는 용량을 모두 사용할 수 있다. 따라서 사용자가 많은 서버의 경우에 사용자의 디스크 사용량 제한이 필요한데, 이러한 제한을 디스크 쿼터라고 부른다.

리눅스에서 디스크 쿼터는 사용자 및 그룹의 디스크 사용량과 생성할 수 있는 파일의 개수(I-node 개수) 를 제한할 수 있다.

 

 

① quotacheck

디스크를 사용하고 있는 파일 시스템을 체크하여 quota 기록 파일을 가장 최근의 상태로 업데이트 시키는 명령이다. 처음 설정할 때나 사용자의 변경된 용량, 변경된 쿼터 등의 정보를 인식하지 못하는 경우 사용한다.

quotacheck는 /home 이 단독 파티션으로 분할된 경우에는 /home을 체크하고, 분할되지 않았다면 /를 체크한다.

 

 

② edquota

사용자나 그룹에 쿼터를 설정할 때 사용하는 명령으로 실행시키면 vi 편집기가 실행되고, 기본 단위가 KB 이므로 10MB 를 제한하려면 10000이라고 입력해야 한다.

 

 

③ repquota

파일 시스템 단위로 쿼터 설정 정보를 출력해주는 명령이다.

# repquota /

-> /에 설정된 사용자 쿼터 정보를 출력

 

 

④ setquota

쿼터를 설정하는 명령으로 vi 편집기를 이용하는 대신에 직접 명령행에서 설정이 가능하다.

 

setquota -u 사용자 10M 11M 0 0 /home

-> 사용자의 디스크 용량을 soft 10MB, Hard 11MB 로 설정

 

 

 

 

 

 

<특수 권한의 개요>

일부의 권한 허용 등을 위한 특별한 권한이 있다. 이것이 Set-UID, Set-GID, Sticky-Bit 이다. 이 3가지 권한 모두 시스템 운영에 필요한 권한들이지만 보안상의 위험을 초래할 수 있으므로 정확한 이해가 필요하다.

 

 

특수 권한 설명
Set-UID SetUID 는 프로그램을 실행하는 동안 프로세스는 파일의 소유자와 같은 권한으로 실행된다.

실행 파일에 주로 사용하므로 설정하면 소유자 권한 부분의 x 자리에 s로 표기된다.
만약 실행 권한이 없는 파일에 부여하면 대문자 S로 나타난다.
Set-GID SetGID 는 프로그램을 실행하는 동안 프로세스는 파일의 그룹과 같은 권한으로 실행된다.

권한의 표시는 그룹 소유권 부분에서 x자리에 s로 나타나며, 만약 실행 권한이 없을 경우에는 대문자 S로 표시된다.

SetGID 권한이 명시된 디렉터리에 생성되는 모든 하위 디렉터리나 파일도 SetGID 권한을 가진다.
Sticky-Bit 공용 디렉터리를 사용할 때 이것을 설정한다.

 

 

# ls -l

-rw-r--r--. 1 root root 231 10월 5 12:21 SYN

 

# chmod 4644 SYN

# ls -l

-rwSr--r--. 1 root root 231 10월 5 12:21 SYN

 

# chmod 4744 SYN

# ls -l

-rwsr--r--. 1 root root 231 10월 5 12:21 SYN

 

 

 

 

 

  • SetUID 는 코드가 s 이고 절대값은 4000이다. 프로세스 실행 당시 UID 로 설정한다.
  • SetGID 는 코드가 s 이고 절대값은 2000이다. 프로세스 실행 당시 GID 로 설정한다.
  • Sticky bit 는 코드가 t 이고 절대값은 1000이다. 실행 후에도 메모리를 점유하도록 설정한다.