-
1) umask: 현재 프로세스가 생성할 파일과 디렉토리의 퍼미션을 설정
파일일 경우 666, 디렉토리인 경우 777 에서 umask를 뺀 값이 현재 프로세스가 생성하는 파일과 디렉토리의 퍼미션이다.
파일을 생성할때 기본으로 적용되는 퍼미션을 664(rw-rw-r--)로 하고 싶다면 umask의 인자값으로 002를 사용하면된다.
/etc/bashrc 파일에 정의되어 있다.
2) chmod, chown, chgrp [옵션][퍼미션][파일]
chmod -c: 변경된 파일만 자세하게 보여준다.
chmod -f: 변경되지 않는 파일에 대해서 오류 메세지를 보여주지 않는다.
chmod -v: 작업상태를 자세히 보여준다.
chmod -R: 경로와 그 하위 파일들을 모두 변경한다.
chmod --help: 도움말을 출력한다.
chmod --version: 버젼정보를 출력한다.
** chgrp -h: 심볼릭 링크 파일의 소유권을 변경할대 사용하는 옵션이다.
3) ls -al 명령으로 파일/디렉토리의 권한을 확인 가능하다.
4) chmod 2770 /project
맨앞의 숫자가 4는 setuid, 2는 setgid, 1은 sticky bit입니다.
5) SetUID, SetGID, Sticky Bit 란?
파일의 권한은 일반적으로 사용자권한, 그룹권한, 아더권한이 있고, 각각의 권한에 대해 읽기권한(r), 쓰기권한(w), 그리고 실행권한(x)가 있다.
근데 사용자권한, 그룹권한, 아더권한 외에도 특수권한 이라는게 있다.
특수 권한을 이용하면 다른 계정에게 읽기,쓰기,실행 권한을 줄 수 있으며, 다른 계정(A)에서 만든 파일을 내 계정(B)에서 실행하는동안
A의 권한을 얻어 해당 파일을 읽거나 쓰거나 실행하는 것이 가능해진다 (SetUID와 SetGID에 해당).
특수 권한에는 SetUID, SetGID, Sticky Bit가 있다.
5-1). SetUID
사용자의 권한이 있어야만 실행을 할 수 있는 파일의 경우, 그 권한을 일시적으로 파일을 실행하는 일반 사용자들에게 부여하기 위해 사용 한다.
SetUID가 설정된 파일을 실행하면 해당 파일을 실행하는 도중에는 파일의 사용자 권한을 획득하며, 파일의 실행을 마친 뒤에는 다시 자신의 권한으로 돌아온다.
SetUID는 4xxx로 설정한다. (100에 해당. xxx는 기존의 사용자권한, 그룹권한, 아더권한을 의미)
SetUID 설정 시 사용자 권한내의 실행 권한 자리에 x가 아닌 s가 오게 된다.
ex) chmod 4750 httpd (rwsr-x---)
5-2). SetGID
그룹의 권한이 있어야만 실행을 할 수 있는 파일의 경우, 그 권한을 일시적으로 파일을 실행하는 일반 사용자들에게 부여하기 위해 사용 한다.
SetGID가 설정된 파일을 실행하면 해당 파일을 실행하는 도중에는 파일의 그룹 권한을 획득하며, 파일의 실행을 마친 뒤에는 다시 자신의 권한으로 돌아온다.
SetGID는 2xxx로 설정한다. (010에 해당. xxx는 기존의 사용자권한, 그룹권한, 아더권한을 의미)
SetGID 설정 시 그룹 권한내의 실행 권한 자리에 x가 아닌 s가 오게 된다.
ex) chmod 2750 httpd (rwxr-s---)
5-3). Sticky Bit
Sticky Bit가 설정된 디렉토리에 파일을 생성하면 해당 파일은 생성한 사람의 소유가 되며, 오직 소유자와 root에게만 해당 파일에 대한 삭제 및 변경의 권한이 있다.
공유디렉토리로 사용하고자 할 때 쓰인다.
Sticky Bit는 1xxx로 설정한다.
(001에 해당. xxx는 기존의 사용자권한, 그룹권한, 아더권한을 의미)
Sticky Bit 설정 시 아더 권한내의 실행 권한 자리에 x가 아닌 t가 오게 된다.
** 디렉토리 퍼미션 777 ( drwxrwxrwx )
. 해당 폴더안에 생성된 파일의 소유자 및 모든 사람이 삭제할수 있다.
. root 가 만든 파일의 퍼미션이 600 (-rw-------) 이더라도, 디렉토리 퍼미션 777 ( drwxrwxrwx ) 아래 있으면 일반계정에서 삭제할수 있다.
** 디렉토리 퍼미션 700 (drwx------)
- 해당 폴더 소유자는 삭제관점에선 전권을 가지고 있다.
root 가 만든 파일의 퍼미션이 600 (-rw-------) 이더라도, 디렉토리 퍼미션 700 (drwx------) 아래 있으면 해당 폴더 소유자는 삭제할수 있다.** 디렉토리 퍼미션 1777 ( drwxrwxrwt ) <- 공유 폴더 (/tmp 와 동일) (Sticky Bit)
. 해당 폴더안에 생성된 파일의 소유자와 root 만이 삭제할수 있다.
. 해당 폴더안에 파일의 퍼미션이 777 ( -rwxrwxrwx) 이러라도, 디렉토리 퍼미션 1777 ( drwxrwxrwt ) 아래 있으면 파일의 소유자 및 root 만이 삭제할수 있다.
. 즉, root 및 파일의 owner 만 삭제할수 있습니다.6) 파일시스템 (FileSystem)
하드디스크(HardDisk) 또는 SSD를 구매하여 포맷을 한 후 파티션을 C드라이브, D드라이브와 같이 나눈 후에 운영체제(Windows, Linux등)를 설치하여 사용하게 됩니다. 하드디스크를 파티션으로 나눌때 각 파티션에 파일시스템을 지정해 줍니다. 윈도우에서는 주로 FAT와 NTFS로 나누게 되지만 리눅스에서는 ext, ext2, ext3,ext4, swap,xfs,iso9660, nfs등으로 나누게 됩니다.
ex4파일시스템은 ex2 및 ex3와 호환성이 있는 확장 버전으로 64bit 기억공간 제한을 없애고, 최대 1Exabyte의 디스크 볼륨과 16Terabyte의 파일을 지원하는 등 대형 파일 시스템과 관련된 기능이 대폭 강화되었다.
6-1) 저널링 파일시스템 ( Journaling File System)주 파일 시스템에서 변경사항을 반영하기전에 변경되는 사항들을 저널이라는 저장공간에 로그형태로 저장을 합니다.
만약 시스템에 오류나 장애가 발생하게되면, 변경사항을 추적하여 이를 복구하는 파일시스템을 말합니다.
저널링 파일시스템 : ext3, ext4, JFS,XFS, ReiserFS
사용목적 : 데이터의 복구가 용이하고 복구될 확률이 높음.
7) CD-ROM, DVD-ROM 과 같은 보조기억장치의 미디어를 꺼낼때는 eject라는 명령어를 사용한다.7-1) 마운트와 마운트 해제 (mount & umount)
마운트는 영어 자체를 해석해 보면 “어떠한 장비를 설치하다 (탑재하다)”라는 의미로 해석됩니다.
말 그대로 하드디스크 및 하드웨어 장치를 이제 리눅스시스템에서 인식하여 사용할 수 있도록 설정하는 것을 마운트라고 부릅니다.
모든 하드웨어들은 소프트웨어(운영체제)에서 사용하기 위해서는 마운트가 되어야사용이 가능하며, 마운트는 장치를 특정의 파일이나 폴더에 할당을해서 설정합니다.
이유는 특정 장치를 하나의 폴더처럼 사용하면장치도 파일이나 폴더처럼 관리할 수 있어 사용이 쉽기 때문입니다.
반대로 마운트된 장치들을 해제하는 것은 umount (유 마운트) 입니다. 간혹 UNmount로 오해하시는 경우가 있다.
8) du는 파일이나 디렉터리들이 디스크에서 차지하고 있는 용량을 출력할 때 사용하는 명령어이다.
Disk Usage의 약어로서 파일및 디렉토리의 사용량을 확인할 때 사용하는 명령어이다.
du 명령어는 현재디렉토리의 용량뿐 아니라 현재디렉토리의 서브디렉토리 및 파일들 까지 모두 함께 사용량을 계산하여 표시해 준다. 기본 용량표시단위는 kbyte이다.
사용형식
du [OPTION]... [FILE]...
사용예 #1
특정 디렉토리내에 존재하는 파일들의 개별용량을 확인코자 할 때에는 다음과 같이 한다.
"du 디렉토리명"이라고 하면 지정한 디렉토리내에 존재하는 모든 파일의 용량을 파일명과 함께 표시해 준다.
9) df는 디스크의 남은 용량을 확인하려고 할때에 사용하는 명령어이다.
df -a, --all: 파일 시스템의 크기가 0인 것도 모두 보여준다.
df -k: 보여주는 숫자 단위를 1kb단위로 보여준다.
df -T: 파일시스템의 형태를 출력합니다.
df -t: type형태의 파일시스템에 대한 정보만 표시한다.
df -h: 크기를 사람이 알기 쉽게 표시한다.
10) 쿼터(quota) 란 무엇인가 ?
쿼터(quota)는 시스템내의 사용자나 그룹이 가질수있는 inode 수 ( 파일 & 디렉토리) 나 사용자나 그룹에
할당된 디스크의 블럭 ( 용량) 의 수를 제한함으로써,사용자별로 디스크의 사용을 제한할수있다.
이는 웹호스팅 서비스를하는 곳에서는 꼭 필요한 부분이다.
quotacheck : 쿼터설정을 reload 하는 기능
-> 쉽게말해서 업데이트 명령어입니다. 설정을 reload 한다고 생각하시면 됩니다.-a 모든 파일시스템 체크 -u 사용자 쿼터 관련 체크 -g 그룹 쿼터 관련 체크 -m 리마운트(remount) 생략 -p 처리 결과 출력 -n 첫 번째 검색된 것 사용 repquota : 시스템내의 쿼터 설정을 보여준다.
quotaon : 쿼터를 실행한다.
quotaoff : 쿼터를 중지한다.
edquota: 용량제한하기 사용법은 : edquota [opt] [user | group]-u 사용자 쿼터 설정 -g 그룹에 대한 쿼터 설정 -p [원본] [복사] ‘원본’ 쿼터를 복사해서 ‘복사’에 복사함 -t soft limit 초과 후 시간제한 setquota: 쿼터를 지정한다. 사용법은 : setquota [opt] [이름]
-u 사용자 쿼터 설정 -g 그룹 쿼터 설정 -a 해당 시스템 모든 설정 -t 유예 기간 설정(초 단위)
fstab에 사용자 쿼터를 설정하기 위한 옵션은 usrquota
이전파일을 새로운 파일로 교체하기 위한 명령어는 convertquota'리눅스' 카테고리의 다른 글
공부일지 5 (0) 2023.12.28 공부일지 4 (0) 2023.12.14 공부일지 2 (vi편집기, x윈도우) (0) 2023.12.11 공부일지 1 (0) 2023.11.16