-
[산대특] 리눅스 명령어의 바다 탐색 3, disk quota[산대특]클라우드기반 빅데이터 활용 정보 시스템보안과정/Linux 2024. 8. 27. 19:39
0827
이전에 이어서 ps 프로세스를 하겠슴다.
‘ 명령어 &’ 하면
해당 명령어가 백그라운드(back groud)로 실행된다.
화면에 보이는대로 실행되는 것을 포그라운드(foreground) 라고 한다.
3317이 부모 프로세스이고 3469가 자식 프로세스
프로세스를 나무로 보여라/계층으로 보여라
하면 왼쪽에 띄워둔 쉘/콘솔 이 없어진다.
부모 프로세스를 꺼서, 자식 프로세스가 죽었다.
BT 로 가서
연결한 상태에서
도 명령어가 잘 들어 잘 보인다.
센토스에서 외부에서 들어온 것을 확인하는 명령어 w
앞에가 PID 뒤에가 PPID
-e 모든 프로세스 출력
-f 자세한 출력pstree -p 프로세스 번호를 요청하면 해당 프로세스와 관련된 애들을 보인다.
메모리 주소를 보인다.
top 명령어를 사용하면 CPU 나 RAM, Swap 사용량 등을 실시간으로 모니터링해주는데
특정 작업에 참여되는 프로세스(들)를 보는 명령어 => fuser
프로세스 종료 명령어 => kill, killall 과 pkill, skill
kill 옵션으로-1(SIGHUP: 재실행)
–9(SIGKILL: 죽임)
-15(SIGTERM: 종료, 일정시간이 지나도 안 죽으면 강제로 죽임)
-19(SIGSTOP: 일시정지), .. 등이 있다.
skill 은 숫자 대신 CONT, KILL, STOP 를 사용한다.
top 실습
여기서 space 를 누르면 화면이 갱신 된다.
k 를 누르면
이렇게 첫번째 상단 프로세스가 디폴트로 나온다. Enter 하면
Enter 하면 죽고
이렇게 PID 번호를 지정해서 지울수도 있다.
r 를 누르면 나오는데 renice 프로세스 우선순위 변경.
1929를 입력하고 엔터하고
하면 나중에 얘의 커맨드가 높아지게 되어있다 말이야.
최상단의 정보 사라지게 하는 단축키
l 을 누르면 top의 정보가 사라진다.
m 메모리 정보가 사라진다.
t 를 누르면 최상단 정보가 사라진다.
q 는 top 명령어 나가기
실행되고 있는 것과 user, PID, ACCESS, COMMAND 를 볼 수 있다.
줄일려면
이렇게 죽일 수 있다.
다시 sudo fuser -v -n tcp 80 으로 확인하면 아무것도 안 뜬다.
ps -ef
root bash 를 죽여서 #에서 $로 권한이 바뀌었다.
centos -> root 갔던걸 root를 죽이니 centos 도 죽음인데
콘솔이 죽어버림
-19 는 일시정지
-1 재실행
-9 완전죽어
옵션 쫙 뜬다.
보통 1, 9, 19 를 자주 쓴다.
BT에서 ssh 로 들어가 centos 로 로그인한다.
멈춰!
하면 BT 콘솔에서 암것도 안됨
cont 하면 다시 실행되고 kill 하면
kill 은 숫자로 하고 skill 은 문자로 한다.
프로세스의 우선순위를 지정하는 => nice 와 renice
nice는 각 모듈이나 프로그램이 사용하고 있는
CPU 점유율(top 명령어로 잘 볼 수 있다)의 우선순위를 지정해주는데
최우선 순위 –20부터 가장 낮은 순위 19까지 정할 수 있는데 디폴트는 10이다.
설정은 /etc/security/limits.conf 파일에서 해준다.
nice를 +15 정도로 해주면 (20-15)/(20-0)=0.25로 25%의 CPU를 선점한다.
만일 사이즈가 큰 linux 커널 파일 linux-4.2.tar.gz을 빠르게 컴파일하거나 압축을 풀고 싶을 때,
혹은 소수의 인쇄물을 먼저 빨리 인쇄하고 싶을 때 해당 명령어 앞에 우선순위를 –15 정도로 줘서
nice –n -15 tar xvfz linux-4.2.tar.gz식으로 실행할 수 있다.
renice 는 프로세스가 실행되는 동안에도 우선순위를 변경 조절할 수 있다.
renice –n -10 5555(PID)
우선순위 조절 실습
오른쪽에서 top 명령어 실행
왼쪽 콘솔에서
이렇게 되어야하는데 안 바뀐다.
nice 와 renice 는 다름.
renice 는 실행되는 동안 바꾸는거.
renice 해보겠다.
이렇게 바뀌었다.
-19가 제일 높음
동시에 조정도 가능하다. 예시만 보여줌
(메모리 관리에 관련된 것)
메모리 관련 작업에서 사용하는 명령어 => free, sync
free -mt 하면 총 메모리(total)와 사용된 메모리(used), 여유 메모리(free),
그리고 하드디스크의 페이지 파일 등을 저장하고 있는 스왑 메모리(shared)
(Windows에서는 가상 메모리(virtual memory)로 부르고,
컴퓨터 우클릭>속성>고급 탭>첫 번째 설정>고급 탭>하단의 가상메모리로 가면 볼 수 있다),
파일을 다운받거나 웹에 들어갔을 때의 정보를 저장하고 있는 버퍼 메모리(buffer),
작업했던 내용을 메모리상에 저장하고 있는 캐시 메모리(cached)를 MB 단위로 보인다.
이런 곳에 저장된 메모리를 최적화하기 위해서 메모리를 관리해야 한다.
free –mt 했을 때의 정보는 top 했을 때 상단의 Mem에서의 수치와 거의 비슷하다.
free -mt -s3 => 3초마다 메모리의 정보를 보인다.
(더 중요한 것은) 시스템을 오래 사용하여 메모리가 버퍼에 캐시되어 있다면 이를 삭제하는 것이 좋다.
=> 캐시(cache) 는 이전에 작업했던 내용을 매모리에서 저장했다가 다시 사용될 때 빠르게 사용할 수 있게 한다.
cache server = proxy server
LAN 에서 사용들이 웹사이트(네이버, 구글) 등에 접속한다면,
먼저 내부에서 ARP 라는 브로드캐스트를 뿌려서 이들을 찾아본 후,
없다면 외부에서 찾기 위해 게이트웨이로 가게 된다.
그리고 웹사이트의 IP 주소를 얻기 위하여 DNS 서버로 가서 IP 주소를 얻어온다.
이런 과정을 거쳐 내부 노드들이 외부로 접속하는 것이다.
따라서 Proxy Server 는 이들에 대한 정보를 저장하고 있다가,
(매번 위 같은 과정을 매번 실행하지 않기 위해)
다른 사용자가 동일한 사이트에 접속한다면
위의 과정을 반복하지 않고 바로 IP주소를 주어 연결하게 해준다.
<== (근데) 이 부분에서 대부분의 웹 해킹이 이뤄진다.
웹 브라우저를 통해 들어가므로 이런 정보들이 브라우저에 쿠키 형태로 저장되어 있다.
free 실습
-s3 3초마다 메모리 갱신
free -mt -s3
sudo 여도 안되는 것들이 있다.
나중에 지나면 cache 메모리가 점점 줄어들 것
커널 정보를 보이는 uname
uname -a/-r
cat /etc/centos-release
getconf LONG_BIT 해서 32/64비트 확인
백 그라운드 작업 명령어
& bg fg % jobs disown 명령어 & 해당 명령어 작업을 백그라운드로 실행시킴 % (최근) 작업번호(job_id)를 보임 bg 포그라운드 작업을 백그라운드로 보냄 fg %job_id 해당 백그라운드 작업(job_id)을 포그라운드로 불러 올림 jobs 모든 백그라운드 작업을 보임
jobs –p 하면 모든 백그라운드 잡의 PID를 보이고,
jobs –r 하면 백그라운드 잡만 보이며,
jobs –s 하면 일시 정지된(Suspend) 잡을 보이고,
jobs 2 하면 2번 잡만 보인다[]+ / []- []+ 는 fg나 bg 명령어에 의해 현재 실행되고 있는 디폴트 잡이며,
[]- 는 현재 디폴트 잡이 중지되었을 때 새로 실행 될 예비 잡 등의 옵션이 있다.커널 정보 확인 실습
bash 프로파일을 읽어서 또하나의 job less 를 백그라운드에 실행시킴
fg %1 번 하면 멈춘 저게 다시 실행된다.
시스템 사용자에 관한 정보 확인 명령어
=> who, w, users, last, lastb, 그리고 whoami (장발장~)로그온 한 사용자 정보를 보이는 who, w, users,
그리고
(성공한 로그인)last(성공 =>wtmp(/var/log/wtmp와 관계있고)),
(실패한 로그인)lastb(실패 =>/var/log/btmp 와 관계)
** 보안상 깨져보이는 /var/log/wtmp|btmp는
strings /var/log/wtmp|btmp식으로 읽으면 보인다.
finger의 로그 기록을 가지고 있는 파일이 /var/run/utmp이다.
=>어느 파일을 16진법으로 읽으려면 xxd -b /var/run/utmp식으로 읽으면 된다.
실습!
각 명령어 특성만 알아두기
last, lastb 실습
notty => tty 못 받았단 뜻 => 로그인 못 했다는 뜻
이번엔 일부러 짤 당해보자
이렇게 나와있다.
이렇게 특별하게 centos 만 따로 볼 수도 있다.
ls /var/log 하면
swtpm, btmp, wtmp 등이 보인다.
읽는데 깨졌을 때
strings /var/log/btmp 로 하면 보인다.
16진수로 메모리 주소와 함께 읽을 때에는 이런 명령어를 사용한다.
평문장으로 읽을 땐 이렇게.
finger centos
센토스 사용자에 대한 것을 보여준다.
finger 정보가 utmp 이다.
서비스 관리
Linux 서버에는 여러 서비스가 실행될 수 있다.
클라이언트 머신에서 다양한 서버 서비스에 접속해서 작업할 수 있다.
서버는 서비스(Web, FTP, VNX, Database, Proxy, Mail, Name, DNS, DHCP, ..) 를
데몬(daemon) 형태로 서버의 백그라운드에서 실행시켜준다.
클라이언트는 하나의 서버에 여러 서버 서비스가 실행되고 있다면 포트로 서비스를 요청한다.
데몬(Daemons)은 서버에서 클라이언트의 서비스 요청이 들어오기를 기다리는 프로세스이다.
setup 을 입력한 뒤, 스페이스바를 통해 특정 서비스를 실행시키거나 정지시킬 수 있다.
chkconfig network --level 3 on/off => 해당 서비스를 해당 레벨을 실행/정지 시킬 수 있다.
system-config-mouse => 이런식으로 마우스 설정을 변경할 수 있다.
setup 명령어로 들어가면 서버 서비스들을 볼 수 있다.
특정 서비스를 실행, 추가, 빼기 가능
이런것도 있었다.
런레벨 4번은 예비.
1번은 루트 관리자가 들어가서 작업하는
netconsole 이 필요 없으면 지울 수도 있다.
옛날에는 많이 사용했지만 최근에는 사용하지 않는다.
실습
=> 인증 받지 않아도 된다. 뭐가 안돼잉
시스템 리소스 제한하기
여러 클라이언트들이 동시에 한 서버에 연결되면 서버는 세션이 많아지게 되고
많은 리소스(HDD, RAM, CPU) 를 사용하게 되므로 서버의 리소스가 고갈되어
서버 성능이 많이 떨어지게 된다. 이를 대비해서 관리자는 연결 세션 수를 제한하거나
사용자들의 서버 리소스 사용에 대한 한계를 설정해둘 필요가 있다.
사용자들이 사용하는 서버의 HDD 사용량은 disk quotas 로 지정하고,
CPU와 RAM, Process 용량은 /etc/security/limits.conf 파일에서 지정해주면 된다.
** disk quota 나 /etc/security/limits.conf 파일 등에서 보이는
soft (limit)와 hard(limit)가 있는데 soft 는 특정 한계까지 사용할 수 있고
hard 까지의 허용도 일정기간(grace(은총) period)된다. hard 는 절대 넘을 수 없는 한계이다.
실습!
팜을 통해 시스템을 제한한다. users
도메인은 영역 그 아래 사용자는 그룹
faculty 교직원이란 뜻
필요하다면 여기에 추가할 수 있다.
설정 변경도 가능하다.
센토스 사용자는 60분만 쓸 수 있다.
1024000 => 10mb
=> 한계가 없다.
이런식으로 사용자의 그거를 제한할 수 있다.
Daemon
네트워크를 통해서 mail, database, web, dns, nis, 그리고 dhcp 등
서버 서비스를 제공하는 프로그램을 서버 서비스 데몬이라고 부른다.
서버 머신에서 구동되는 서비스 데몬들은 대부분 잘 알려진 포트(well-known port)를 열어두고
메모리에 상주하면서 클라이언트들로부터 해당 서비스의 연결 요청(포트로 구분)을
기다리다가 요청이 들어오면 클라이언트와 임의의 포트(dynamic port)로 연결해서(이를 Passive 모드라고 한다) \
클라이언트가 서비스를 이용하게 한다.
데몬에는 단독(standalone) 데몬과 많은 차일드 데몬을 거느리고 있는 슈퍼(super) 데몬 두 가지가 있는데,
필요에 따라서 단독 데몬을 슈퍼 데몬의 차일드 데몬으로 만들 수 있고,
반대로도 가능(vice versa)하다.
데몬은 대부분 httpd, sshd, 그리고 smtpd식으로 ‘서비스_명d’식으로 d가 붙는다.
1) 단독 데몬
단독 데몬(Standalone daemon)은 web, database, mail 서버 등
서버는 서비스 데몬마다 인스턴스(객체)를 메모리에 계속 상주시켜서
연결 요청에 대기시키고, 부가적으로 연결 소켓을 처리하는 루틴도
각 서비스마다 메모리에 대기시켜놓아야 하는 구조여서 시스템 리소스를 많이 사용한다.
자주 사용되고 리소스가 많이 사용되는 서버는 단독서버로 구성한다.
=>단독 데몬은 service httpd start식으로 해당 데몬을 직접 지정해서 서비스를 시작시킨다.
2) 슈퍼 데몬
슈퍼 데몬(Super daemon)은 단독 데몬의 비효율성을 극복하기 위해서 만들었다.
여기서는 rsync, telnet, ssh, proxy, dns, dhcp 등 각 데몬마다 인스턴스를
각각 메모리에 상주시키지 않고, 이들을 대표하는 하나의 인스턴스를 생성해서 메모리에 상주시킴으로써
시스템 리소스를 많이 사용하지 않게 했다.
이 대표 인스턴스를 슈퍼 데몬이라고 부르며 모든 차일드(하위) 데몬 서비스들을 일괄 관리한다.
클라이언트가 슈퍼 데몬의 자식 데몬 중 하나를 요청하면
이 슈퍼 데몬이 대신 받아서 해당 서비스 데몬의 소켓을 열어서 차일드 데몬과 연결시켜주고,
자신은 다시 새로운 연결 요청을 기다리는 구조이다. 이런 슈퍼 데몬이 xinetd이다.
xinetd는 시스템이 부팅할 때 /etc/xinetd.d 디렉터리에
자신이 관리하는 차일드 데몬 rsyncd, telnetd, sshd, ftpd 등을 넣어두고 읽어 들이는데,
차일드 데몬 서비스를 내부 서비스로도 부른다.
=>슈퍼 데몬은 차일드 데몬을 별도로 지정해서 서비스를 시작시키지 않고
service xinetd start 해서 슈퍼 데몬만 시작시켜두면 외부에서 차일드 데몬 요청이 있을 때
요청 포트를 보고 슈퍼 데몬이 차일드 데몬에게 연결시켜 준다.
예를 들어 telnet 서비스가 차일드 데몬이라면 외부에서 23번 포트로 요청이 들어오면
Telnet 서버 대신 xientd 슈퍼 데몬이 요청을 받아서 자신의 차일드 데몬인 telnet 데몬만
실행시켜서 서비스를 제공시키므로 여러 프로세스를 늘 실행시켜 둘 필요가 없다.
따라서 메모리 소비가 줄므로 시스템의 효율이 좋아진다.
∎ 자주 이용되고, 리소스를 많이 사용하는 서비스는 단독 데몬으로 만들어 두고,
=>Mail, Database, 그리고 Web 서비스 등
∎ 자주 사용되지 않고, 리소스도 적게 사용하는 서비스는 슈퍼 데몬의 차일드 데몬으로 만들어 둔다.
=> Telnet, SSH, Rsync, Named 나 DHCP 서비스 등
Daemon : 서버의 Memory 상주 프로그램
실습
여기 에 DVD 연결되어 있어야함.
sr0 에 물려있다.
미디어랑 /mnt 는 자동으로 만들어진다.
내용은 센토스 설치
ivh 설명
-i : 패키지를 설치(install)하는 옵션
-v : 설치 과정에 대한 자세한 출력을 제공
-h : 설치 진행 상황을 해시 마크(#)로 표시
이렇게 하면 rpm 파일로 telnet 설치 가능
참고로 Linux 에서 패키지 설치는
∎ RedHat 계열 : CentOS, RedHat, Fedora, Rocky
rpm -ivh/-Uvh *.rpm 해서 개별적으로 파일을 설치하고,
yum -y install *.rpm 해서 종속적인 파일까지 모두 설치할 수 있다.
∎ Debian 계열 : Debian, Ubuntu, Kali
dpkg -i *.deb 해서 개별적으로 파일을 설치하고,
apt -y install *.deb 해서 종속적인 파일까지 모두 설치할 수 있다.
시스템 리소스 제한하기
여러 클라이언트들이 동시에 한 서버에 연결되면 서버는 세션이 많아지게 되고
많은 리소스(HDD, RAM, CPU)를 사용하게 되므로 서버의 리소스가 고갈되어 서버 성능이 많이 떨어지게 된다.
이를 대비해서 관리자는 연결 세션 수를 제한하거나
사용자들의 서버 리소스 사용에 대한 한계를 설정해 둘 필요가 있다.
사용자들이 사용하는 서버의 HDD 사용량은 disk quotas로 지정하고,
CPU와 RAM, Process 용량은 /etc/security/limits.conf 파일에서 지정해주면 된다.
** disk quota나 /etc/security/limits.conf 파일 등에서 보이는 soft (limit)와 hard (limit)가 있는데
soft는 특정 한계까지 사용할 수 있고 hard까지의 허용도 일정기간(grace period)된다.
hard는 절대 점을 수 없은 한계이다.
두 개 설치 후
여기에 child daemon 이 들어가 있는 것이다.
여기에 telnet 이 없다.
telnet 을 서비스하는 실행 파일을 하나 만든다.
한 번 사용하고 더 사용해라 => flag = REUSE
사용자별로 로그 실패를 기록해라
/usr/sbin 이 텔넷에 있던가?
있다
저장하고 나온다.
부모를 실행시켜 자식이 관리하게
firewall-config 가서
telent 을 permanent 로 켜준다.
이제 텔넷으로 들어가보겠다.
BT 로 접속해본다.
pstree 로 보면 보인다.
하드웨어 관리
1) mount, umount => 외부 장치를 Linux에 연결하여 사용하게 하는 명령어.
마운트 포인트 를 생성하지 않고 마운트하면 /media 로 자동 마운트 된다.
마운트 시 타입 지정을 요구하는 경우가 있다.t 하고 CD/DVD-ROM은 iso9660,
Floppy는 msdos나 vfat,
MS-DOS는 msdos,
Windows는
ntfs/hpfs(Linux에서 Windows HDD를 마운트 할 때)나 cifs(Linux Samba에서 Windows 폴더를 마운트 할 때),
Linux는 ext3나 ext4, USB는 vfat나 fat32,
NFS는 nfs(Linux 머신끼리 /etc/exports를 통해서 디렉터리를 공유할 때)로 지정하면 된다.
현재 시스템에서 외부 장치를 인식하고 있는 상태를 보려면
ls dev/sd*, df -hT, lsblk, fdisk -l, mount 해주면 된다.
(반드시 알고 있도록)
자동 마운트는 /etc/fstab 에 해주는데 장치는 blkid /dev/sdb1 해서 나온 UUID=”해시” 값으로 써주는 것이 좋다.
2) fdisk, parted
이들 도구는 파티션 도구다.
2TB 이상은 fdisk 로 불가하여 parted 도구를 사용해야한다.
3) mkfs 는 포맷을 해주는 도구이다. mkfs -t ext4(OR mkfs.ext4) /dev/sdb1
포맷 시 -c 를 붙이면 배드블록(spindle arm 이 platter 를 scratch 할 때 발생 => 하드 망가짐, 물리적 손상)을 검사한 뒤 포맷해준다.
파티션 해준 뒤 포맷해준다.
4) fsck OR e2fsck 는 파일 시스템 손상을 점검해준다.
5) df -hT 는 디스크의 총량/총크기을 보임
du -h 는 디스크의 사용량을 보임
6) dd 는 블록장치를 복사
dd if=/dev/sr0 of=/CD/dvd.iso bs=1024k count=2 ; sync
if 입력자료, of 는 출력될 ㅈ파일, bs 는 한번에 복사하는 크기, count 회수, sync 는 동기화(생략가능)옵션이다.하드웨어 관리 1) 실습
T 는 사람이 읽을 수 있는 포맷으로 보여라
fdisk -l
mount
치면 촤르르르르르르르륵 나와있다
하드웨어 관리 2)실습
parted 실습(시험에 안나올수도 있다)
parted 프롬프트로 올 수 있다.
quit 하면 나가진다.
make label 의 도움말을 주세요 했음.
Ignore 했다.
Yes
가상머신을 끄고 기존에 있던 하드 1기가를 삭제 후에
다시 하드 2기가를 추가한다.
아직 파티션 안했다는 뜻
2테라 안짝까진 msdos 해주는게 좋다.
(parted) mklabel msdos
(parted) help unit
unit UNIT set the default unit to UNIT
UNIT is one of: s, B, kB, MB, GB, TB, compact, cyl, chs, %, kiB, MiB, GiB, TiB
파티션을 만드는 명령어
(parted) unit GB => 기본 MB
(parted) mkpart
Partition type? primary/extended? primary
File system type? [ext2]? ext4
Start? 0 => 실린더
End? 100%
parted) print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 2.15GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 0.00GB 2.15GB 2.15GB primary
fdisk
하드웨어 관리 실습 4)
[root@centos7-10-1 centos]# fsck /dev/sda2
fsck from util-linux 2.23.2
[root@centos7-10-1 centos]# fsck -a /dev/sda1
fsck from util-linux 2.23.2
/sbin/fsck.xfs: XFS file system.
원래 이렇게 나와야 한다.
명령어가 이렇게 있단 것을 알고 있어라
하드웨어 관리 실습 5)
만들어주고
볼 수 있고
사용하는게 없어서 0 이 나온다.
du -h /home/centos 하면 겁나 많이 나온다.
du 명령어로 작업량을 볼 수도 있다.
하면 현재 작업량이 나오겠지
하드웨어관리 실습 6)
포맷 안해서 이렇게 나온다.
복사 할겨
1메가씩 2번만
=> 2메가 만
dd 명령어 소프트웨어도 사용가능.
512 바이트로 10번 복사 (sync 안 넣음)
fdisk /dev/sdb
1024M == 1G
나머지 공간을 모두 extended 를 만들어야 한다.
다시
primary 랑 extended 로 나눔
이 안에서 이제 로지컬 파티션을 만든다
extended 는 드라이버 를 갖지 못한다. 실제 드라이버 레터는 1, 5, 6이다.
extended 가 없으면 로지컬이 들어가지 않는다.
w
해서 나간다.
포맷 한다.
-c 오류있는지 점검 ㄱㄱ
한꺼번에 만들겠어. 드라이브/디스크 별로 마운트 하려고
각각에 파일을 넣어보기
이렇게 해줘야~ 정식을 되는거다.
parted 도구로 할 수 있다. => 파일로 주심.
** 포맷에는 BTRFS(BeTteR File System) [알아둬야 합니다]
BTRFS[betterFS로 읽음] 파일 시스템은 IBM에서 제안했고
Oracle에서 Linux를 위한 파일 시스템으로 개발해서 사용하고 있다.
Linux 커널이 지원하는 55개의 파일 시스템은 대부분 특정 포맷에만 적용되고
현재 대부분 Linux에서 사용하고 있는 ext3과 ext4 파일 시스템은 16TB의 하드디스크까지만 지원한다.
하지만 BTRFS(BeTteR File System) 파일 시스템은 16EB까지 지원하고,
매우 빠르게 파일 시스템을 생성하며, 데이터와 메타데이터의 체크썸, 스냅샷, 그리고 온라인으로 문제해결이 가능하다.
이 BTRFS와 다음의 XFS 파일 시스템에서는 마운트 포인트에서 일반적으로 디렉터리 생성 시 보이는
lost+found 디렉터리가 자동으로 생성되지 않는다는 것도 참고적으로 알아두자.
XFS(Extended File System) 파일시스템
XFS 파일시스템은 SGI(Silicon Graphics Inc.)에서 IRIX 운영체제를 위한 파일시스템으로 개발해서 사용하고 있다.
위의 BTRFS 파일 포맷처럼 16EB까지 지원해주고, 안정적이며, 고성능의 실행속도를 보이면서도
매우 스케일러블(scalable)하고, 64bits 저널링(journaling)과 디스크 디프라그(defrag)를 지원한다.
CentOS 7.0부터 디폴트 파일시스템으로 채택되어 있다.
=>이 둘은 mkfs.xfs/btrfs -f /dev/sdb1식으로 해주면 된다.
parted /dev/sdb
parted 가서 1번 없앰
베터파일시스템 실습
이렇게 하면 포맷 끝!
ls /BT 하면 나온다.
7) Disk Quota [인터뷰할때 많이 물어본다 - 사용자별로 하드디스크의 사용량을 제한하는 것]
Linux는 멀티 사용자 시스템이라서 여러 사용자들이 동시에 하나의 Linux 시스템에 접속해서 작업하게 되는데,
특정 사용자/그룹이 과도하게 고정된 용량의 하드디스크 공간을 많이 사용하면
다른 사용자들의 디스크 사용에 영향을 미칠 수 있다.
이럴 때 관리자는 Disk Quota를 사용해서
사용자나 그룹별로 하드디스크의 사용량이나
저장할 수 있는 파일의 개수를 지정해서 리소스를 제한해주어야 한다.
간단히 말해서 사용자별로 하드디스크의 사용량을 제한하는 것이 디스크 쿼타인데 사용자와 그룹에게 할당한다.
root 관리자는 디스크 쿼타에 적용받지 않고 무한으로 하드디스크를 사용하게 한다.
CentOS 6.5 버전에서 이 쿼타 설정이 까다롭다.
CentOS 문서에는 새로운 저널링 기법을 사용해서 쿼타를 설정하도록 권장하고 있지만
실제로 설정이 잘되지 않으므로 기존의 방식으로 설정해서 사용하는 경우가 많기 때문에
여기서도 기존의 방식으로 설정해본다
어느 사용자의 쿼타 설정을 보면
Filesystem blocks quota limit grace files quota limit grace 파일저장소 저장 크기 소프트한계 하드한계 여유기간 파일 타입 소프트한계 하드한계 여유기간 하드웨어 설정 소프트웨어 설정 설정의 디폴트는 KB이다.
=>그룹에 쿼타를 걸 때에는 edquota -g wheel 해서 파일을 열고 설정하거나,
setquota -g wheel 10000 12000 0 0 /quotas 식으로 하면
wheel 그룹에 속한 모든 사용자는 이 쿼타의 설정을 받는다.
주의 할 것은 /quotas에 쿼타 설정이 있어도 쿼타 설정은 사용자별로 지정되는 것이어서,
root 사용자는 쿼타 설정 적용 대상자가 아니기 때문에 무한으로 /quotas 디스크에 데이터를 저장할 수 있다.
디스크쿼타 실습
rm
q
1, 엔터엔터 w
실습 준비 완료 - 얘를 중심으로 해보겠습니다.
포맷한다. mkfs 로
마운트 포인트 만들기
마운트 시킨다.
잘 있음 만약 없으면
자동으로 마운트 되게
유저쿼타와 그룹쿼타까지 걸어줌.
a all
v 보여라
u 유저
g 그룹
reboot
해서 자동마운트 확인
자동 마운트는 되었는데, 유저랑 그룹이 안뵈
c 크리에이트
v 유지?
오류가 잘 뜨는거 같음.
해결해보겠다
약발 !!!
이렇게 온 나오면 성공
사용자 생성
디렉터리는 저기로 이름은 tester1 비번은 평문장으로 저거
강제로 홈 디렉터리 바꾸기.
-m 수정한다 -d 디렉터리를
저 아래 쿼타로 가면 쿼타의 영향을 받게 된다.
테스터1한테 쿼타가 있는지 보기
센토스1에 대해서 우리가 ? 직접? 할거에요
소프트 10메가 넘어가도 돼요, 하드는 넘어가면 안돼요
edquota -t
grace 기간 바꾸는 곳
확인
두번째 쿼타는 설정파일을 열지 않고 명령어로 해보겠다
세번째 어떤 사용자의 쿼타 설정을 다른 사용자에게 그대로 입히기
u유저 p 적용한다
정말 쿼타가 약발이 먹히고 있나 확인
리포트 쿼타
얘가 6.7메가
실습하기 좋은 크기의 파일 찾는중…
ㅅㅁ씨가 차즘 예쁜 ㅅㅁ씨가 되었다
1024kb == 1mb
5메가 들어감
테스트1 해서 여기까지 들어감
하다가 말았다.
exceeded 초월하다.
10메가에서 경고 뜨고 ~
루트로 들어가서 보면 tester1 은 다 떴다. 오늘부터여서 9일 남았다고 뜬다.
그룹은 이렇게
휠 그룹에 검
vg 보여라 그룹
으어어 끝
'[산대특]클라우드기반 빅데이터 활용 정보 시스템보안과정 > Linux' 카테고리의 다른 글
[산대특] YUM, tar, /porc (0) 2024.08.29 [산대특] 소프트웨어 관리, LVM, RAID 0~10, RPM (2) 2024.08.29 [산대특] 리눅스의 명령어의 바다 탐색 2 (1) 2024.08.26 [산대특] 리눅스의 명령어의 바다 탐색 (2) 2024.08.25 [산대특] 파티션 포맷, 명령어들 설명 및 실습 (0) 2024.08.22