mkfs 는 ext2 mkfs -j 는 ext3 ** xfs 포멧은 덮어쓸때 -f 를 사용해야함 *** ex) mkfs.xfs -f /dev/sdb6 ================================================== 리눅스 파일시스템 종류 (파일시스템 확장시 속도 up, 안정성 up ) ufs 유닉스파일시스템 ext2 속도 UP ext3 속도 UP, 저널링 (안정성UP) -j ext4 속도,저널링 기능 대폭 향상 xfs 2TB이하에서는 비효율 (대용량 파일시스템, centos7의 기본값)
mount (장치연결) * 포멧이 완료된 파티션및 장치를 사용자가 읽고 쓸수있도록 디렉토리에 연결하는것
*** mount 필수조건 ***
장치 fdisk 포멧 mkfs m.p(dir) mkdir
[ mount 확인명령 ] mount = cat /etc/mtab = cat /proc/mounts df -h (df -Th) ************
-- 마운트 내용을 df로 더 간편하게 확인 가능함 df : diskfree 디스크여유공간확인 (디스크장치확인) -- 본래 용도 du: diskusage 디스크사용량 ( du -s /home )
-- free 여유공간
mkdir /mp cd /mp touch mp1 mp2 mp3
cd /
mount -t ext4 /dev/sdb1 /mp ( 포멧이 되지 않아 마운트 X) mkfs.ext4 /dev/sdb1
FTP 총괄 유저 생성 -- 홈 위치는 새 디스크의 하위 주소로 밀어 넣고, 아까 다듬어 둔 전용 배포용 패키지 틀(/skel2/ftp_admin)을 강제 이식하여 계정을 생성합니다.
passwd ftp_admin
계정 암호 부여 -- 생성된 ftp_admin 계정에 로그인 비밀번호를 설정합니다. (단순 패턴 입력 시 국문 패스워드 검증 경고문이 출력되는 구간입니다.)
cd ~ftp_admin
신규 유저 홈 디렉터리 방문 -- 방금 이식 완료된 계정의 홈 공간으로 순간 이동합니다.
tail -3 /etc/passwd
계정 정보 중간 점검 -- 새 디스크 홈 배치가 규칙대로 들어갔는지 계정 레코드를 슬쩍 훑어봅니다.
useradd -d /export/sdb/home/main -mk /skel2/main main
웹 서비스 총괄 유저 생성 -- 위와 같은 논리로, 사전에 가공해 둔 웹페이지 뼈대(I LOVE SEVAS 파일이 들어있는 틀)를 복사해주며 main 계정을 생성합니다.
passwd main
웹 유저 암호 설정 -- main 사용자의 비밀번호를 최종 세팅합니다.
tail -3 /etc/passwd
유저 명부 최종 검수 -- sevas, ftp_admin, main 세 사용자가 새 디스크 홈 영역으로 올바르게 가입되었는지 대조합니다.
useradd ftpuser
일반 서브 유저 생성 -- 특수 배포 뼈대 없이 시스템 기본 설정값으로 일반 손님 계정인 ftpuser를 별도 생성합니다.
passwd ftpuser
서브 유저 암호 부여 -- ftpuser 계정의 패스워드를 등록 완료합니다.
usermod -d ~ftp_admin/pub ftpuser
서브 유저 홈 디렉터리 공유 매핑 -- 손님 계정인 ftpuser가 접속하자마자 총괄 관리자의 다운로드 창고인 ~ftp_admin/pub 폴더로 바로 다이렉트 랜딩하도록 홈 경로를 교체합니다.
tail -3 /etc/group
시스템 그룹 명부 확인 -- 각 사용자 이름으로 매칭되어 자동 생성된 주 그룹 식별 정보를 최종 모니터링합니다.
cd /export/sdb/home/
사용자 홈 디렉터리 상위 경로 이동 -- 각 홈 폴더들의 보안 상태와 권한을 전반적으로 튜닝하기 위해 보관 위치로 나갑니다.
ll
폴더 보안 권한 기본값 스캔 -- 생성 당시 자동 배정된 각 폴더들의 소유권과 허가권 레벨을 정밀 조회합니다.
chmod 756 ftp_admin
권한 변경 테스트 -- 일반 타인 권한에 읽기/쓰기를 과도하게 열어주는 권한(rwxr-xrw-)으로 테스트 수정을 해봅니다.
chmod 750 ftp_admin
실무 보안 권한 확정 적용 -- 보안 위협을 막기 위해 외부 제3자(Others)는 이 폴더 내부를 절대 들여다보거나 진입조차 할 수 없도록 완벽하게 차단(rwxr-x---) 통제합니다.
[ 7. 마운트 포인트 오버레이(Overlay) 은닉 현상 점검 ]
cd /
최상위 루트 디렉터리 복귀 -- 마운트 해제 작업을 에러 없이 수행하기 위해 사용 중이던 디스크 경로 밖인 / 위치로 대피합니다.
umount /export/sdb
파일시스템 연결 해제 (언마운트) -- 장착해서 쓰고 있던 1.5GiB 짜리 새 하드디스크 파티션 장치를 일시적으로 시스템에서 떼어냅니다.
df -h
장치 연결 해제 상태 확인 -- 디스크 사용량 목록에서 /dev/sdb5 장치 주소가 말끔히 사라졌는지 육안으로 대조합니다.
mkdir /export/sdb/sevas
본체 디렉터리 내 가상 폴더 은밀하게 생성 --중요 포인트:하드디스크가 연결되지 않은 메인 디스크 영역의 빈 틈새 폴더에 sevas라는 이름의 유령 디렉터리를 몰래 심어놓습니다.
ls -dl /export/sdb/sevas
유령 디렉터리 생성 여부 검사 -- 디스크 본체 스토리지 자체에 폴더가 올바르게 저장되었는지 확인해 둡니다.
mount -a
하드디스크 파티션 재연결 -- fstab을 호출하여 1.5GiB 하드디스크 파티션을 원래 자리에 다시 덮어씌우듯 마운트합니다.
cd /export/sdb
재연결된 새 디스크 진입 -- 다시 하드디스크 내부 공간으로 걸어 들어갑니다.
ls -l
오버레이 결과 최종 눈으로 확인 -- 디스크가 위로 마운트되면서 조금 전 본체 디스크에 몰래 만들었던 유령 폴더 sevas는 하드디스크 데이터에 완전히 가려져 보이지 않게 되고, 실제 하드디스크 내부에 저장되어 있던 데이터(home, lost+found)만 안전하고 깨끗하게 노출되는 리눅스 마운트 은닉 메커니즘을 최종 검증 확인하며 모든 여정을 마칩니다.
mkdir /cdtest
ll /dev |grep cdrom
mount /dev/sr0 /cdtest
cd /cdtest
df -h
pwd
기본 운영체제 패키지 클릭wget으로 다운로드를 받는다.위와 같이 출력되면 성공이다rpm 옵션에 따른 차이를 볼 수 있다.설치 및 확인하는 루틴이다.
php-cli-5.3.3 => 패키지명
rpm(redhat package manager) 옵션 -i 설치 -v 설치내용보기 -h ##### hash 보기 -e 삭제 -U update (버전업) 설치 + 버전업 -F fresh (비교후 버전업) 버전업 (미설치시 설치X)
Uvh, Fvh와 같이 사용함
-- 설치시에는 의존성을 신경써야하지만, 삭제시에는 굳이 의존성을 신경쓸 필요가 없다.
패키지설치 rpm -ivh 풀패키지명 패키지 삭제 rpm -e 패키지명
-q 질의 -a 모두 --force 덮어쓰기 --nodeps 의존성 무시
--nodeps로 의존성을 무시하고 삭제한다.
패키지 확인 rpm -qa |grep 대표패키지명 rpm -qf 파일명 파일이 속한 패키지 확인 rpm -ql 패키지명 패키지에 속한 파일명 출력 rpm -Vv 패키지명 패키지에 속한 파일 속성들 출력(설정 파일을 찾을때 많이 사용함) rpm -qi 패키지명 패키지 정보보기
패키지 속 파일들을 보여줌
***패키지 설치시 주의 할 점**** 1. 대표패키지부터 작업한다. -- (의존성 패키지가 뭔지 확인!) 2. 작업시 (설치,삭제) 의존성 오류 (Failed dependencies)는 절대 무시하지 않는다. 3. 의존성 오류 발생시 제시한 패키지 가장 아래부터 작업한다. 4. 패키지의 버전은 반드시 일치 해야한다. 5. 순서대로 진행한다. 6. 가급적 의존성을 무시하는 --nodeps 옵션을 사용하지 않는다 (삭제시에는 사용) 7. lib.so,/dir 등은 패키지가 아닐 가능성이 많으므로 일단 무시한다. 8. 모든 패키지를 다 가지고있을경우에는 --force로 강제 설치가 가능하다(다운그레이드) 9. 삭제는 설치의 역순
appstream
php php-common (nodeps)
[ 실습 문제 ] devel (호환성 패키지) 씨디룸을 마운트하고 krb5-devel 을 설치해보세요
[실습] 기존의 repo를 /backup에 이동시킴 mkdir /backup mv /etc/yum.repos.d/* /backup
####repo 로컬 연결 #### vi local.repo [local-repo] baseurl=file:///cd gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
yum repolist 확인 yum install php
********************** GPG는 GnuPG = GNU Privacy Guard로 PGP(Preety Good Privacy)를 대체하는 암호화, 복호화 프로그램 ********************** ***문제*** LINUX 서버 압축을 10.10.10.10으로 마춰주시고 50.50.50.50의 /sevas 를 이용해서 패키지 설치 할수 있도록 repo설정을 진행하세요~~~~~~ GNS vmnet1 linux-client (50.50.50.50) vmnet2 linux-server (10.10.10.10)