권한관리
권한의 개념과 조회
ex) -rwx---r-- : 파일이며, user는 r,w,x의 권한이 모두허용/ group은 모두 비허용/ other는 r만허용
( file type user group other )
권한 file type ( - ) directory type ( d ) <- 권한 적용 대상 read (r) 파일을 읽고, 복사가능 ls 명령어로 list확인가능 write (w) 파일의 내용 수정가능 디렉토리에 파일추가, 삭제가능 execute (x) 실행가능한 파일실행가능 cd 명령어로 디렉토리에 접근가능 |
권한변경 ( ※ 변경되서 접근이 허용되더라도 그 상위디렉토리의 권한이 없으면 접근불가능 )
- 명령어 : chmod mode filename : 소유자나 그룹은 변경하지 않고 사용권한만 변경(※ chown : 소유자변경)
ex) chown user3000.sales /home/user1000/a.txt (소유자를 sales그룹의 user3000로 변경)
- 방법
영어문자 ex) chmod g+w /home/user1000
( who +/- permission)
u (user) r
g (group) w
o (other) x
a (all)
숫자 해당하는권한의 값을 모두더해서 할당 ex) chmod 777 /home (모든사용자가 r,w,x,의 권한허용) / r : 4 w : 2 x : 1
-R : 하위 디렉토리까지 한꺼번에 변경
SetUID (4), SetGID (2), Sticky bit (1) 설정 : 맨앞에 (해당숫자 ) 적어서 적용
- setUID : 프로그램을 누가 실행 시키든 그 프로그램의 주인의 이름으로 실행 (x권한 있어야 실행됨,기본적으로 모든 컴퓨터는 실행하는계정으로 실행됨)
ex) chmod 4755 /home/user1000/a.txt (-rws r-xr-x )대문자S이면 권한이 없는 상태에서 지정한경우
- setGID : 실행시킨 그 그룹의 이름으로 실행
- Sticky bit : 자신이 만든것만 지울수 있게 설정( 권한 777의 경우 다른 사용자가 만든것까지 삭제가능하므로)
디스크관리
명령어
- df (disk free) : 현재 연결되어 있는 디스크와 해당 디렉토리 이름을 보여줌 (하위 디렉토리의 용량은 알수없음)
- du (disk usage) : 특정 디렉토리의 하위 디렉토리 별로 용량을 전부 보여줌
--max--depth=단계 : 용량을 디렉토리의 단계(0,1,2..) 별로 설정해서 보여줌 (du -h / 할 경우 전체디렉토리의 하위 디렉토리까지 다 나오기때문에 용량을 보는것이 힘들기때문)
cf) 비교
PC |
| 서버 | |
IDE (EIDE) | SATA | SCSI | |
용량 | 대용량 | 대용량 | 소용량 |
가격 | 저가 | 저가 | 고가 |
속도 | 저속 | 고속 | 고속 |
Linux에서 하드디스크 이름 | /dev/hda, /hdb, /hdc, ... |
| /dev/sda, /sdb, /sdc, ... partition-> /dev/sda1, /sda2, .. |
디스크추가하기 ( root 계정만 권한 )
- step1 : vmware상의 리눅스 서버를 종료하고, edit vm settings 에서 add- hard disk를 추가하여 linux를 재시작.
새로운 디스크가 추가 되면 하드 디스크를 OS에서 사용 가능하도록 후속작업을 해야함
1. 파티션나누기 - fdisk(리눅스, 윈도) , format (솔라리스) : 용도에 맞게 분할하는과정 (부서별로 구역나눔)
2. 포맷 - mkfs(리눅스), format(윈도) , newfs(솔라리스) : 파티션 나눈 공간을 사용가능하도록 파일시스템 생성단계
3. 마운트 - mount(유닉스계열), (윈도)는 포맷이 끝나면 자동으로 연결해줌 : 사용준비가된 디스크를 디렉토리와 연결
-> 파일저장시 디스크에 저장되어서 다른 디렉토리와 연결되더라도 그파일은 존재함
- step2 : fdisk -l 로 현재 연결되어있는 하드디스크 확인 후 , 분할할 디스크를 파티션 후 저장.(저장안하면초기화)
ex) fdisk /dev/sdc -> n(new) -> p(주파티션) -> 1(주파티션번호) -> 1(시작실린더번호) -> +10G(용량지정) -> w(저장)
- step3 : 2번째로 분할할 디스크도 step1과 같은단계로 분할후 저장 (시작실린더번호 2, 용량지정시 엔터(남은용량할당) )
- step4 : 파티션이 완료된 디스크를 포맷. (디스크이름에 숫자부분을 주의해야함)
ex) mkfs.ext3 /dev/sdc1 (ext3은 파일시스템의 종류, 윈도는 NTFS, 솔라리스는UFS 사용)
mkfs.ext3 /dev/sdc2
- step5 : 디렉토리(연결문)를 생성하여 마운트.
ex) mkdir /dir1 ex) mount /dev/sdc1 /dir1
mkdir /dir2 mount /dev/sdc2 /dir2
- step6 : 재부팅 후에도 유지되도록 /etc/fstab 파일에 등록(등록하면 재부팅을 해도 리눅스가 자동으로 마운트작업을함)
LVM (logical volume manager)
물리적으로 여러개인 디스크를 논리적으로 하나의 디스크로 합쳐주고 다시 논리적으로 나눠서 관리하는방법
- step1 : 위의 디스크추가하기 step1방법과 동일하게 hard disk추가하여 linux 재시작
- step2 : 추가한 각각의 디스크들을 fdisk 하되, 리눅스 LVM용으로 파티션을 생성
ex) fdisk /dev/sdd -> n -> p -> 1 -> enter -> enter -> t (하드디스크 변환) -> 8e (LVM용 파티션) -> w
- step3 : LVM용 디스크들을 각각 물리적볼륨(physical volume)으로 변환
ex) pvcreate /dev/sdd1
pvcreate /dev/sde1
pvcreate /dev/sdf1
- step4 : 물리적볼륨들을 1개의 볼륨그룹(volume group;논리적인1개의디스크)으로 합친후, 확인(vgdisplay)
ex) vgcreate vol1 /dev/sdd1 /dev/sde1 /dev/sdf1
- step5 : 합쳐진 하나의 볼륨그룹(논리적디스크)을 논리적볼륨(logical volume)으로 파티션 후 lvscan으로 조회
ex) lvcreate -L 1.50GB -n lv1 vol1 (물리적디스크 파티션 : fdisk)
lvcreate -L 1.45GB -n lv2 vol1 (vgdisplay로 남은용량확인 후)
- step6 : 논리적 볼륨으로 포맷
ex) mkfs.ext3 /dev/vol1/lv1
mkfs.ext3 /dev/vol1/lv2
- step7 : 디렉토리 생성해서 마운트
ex) mkdir /dir3 ex) mount /dev/vol1/lv1 /dir3
mkdir /dir4 mount /dev/vol1/lv2 /dir4
cf. LVM관련 명령어들
vgscan lvdisplay
vgextend lvextend lvremove
vgreduce lvreduce vgremove
RAID : 여러개의 디스크중 몇개가 장애가 발생해도 데이터가 손실되지 않게 구성하는기술 (LVM 은 여러개의 디스크중 1개가 장애가 날경우 모든데이터가 손실)
- RAID 0 (striping) - RAID기능을 사용하지않는것.1개의 디스크고장시 전체고장.데이터를 분산시켜 동시에읽고씀(LVM은차례로저장). 속도빠름.
- RAID 1 (mirroring) - 같은데이터 중복 저장. 안정적. 하지만 비용과 용량은 두배
- RAID 5 (stripe with parity) - 1개의 디스크를 spare(후보디스크)로 두어 장애 난 디스크와 교체. spare개수 부족시 모든데이터손실
'linux' 카테고리의 다른 글
Visual Editor(vi editor) 명령어 / network 정보 (0) | 2016.03.08 |
---|---|
[명령어] - 3. Process / RPM / Cron 관리 (0) | 2016.03.08 |
[명령어] 1. 기본 / 사용자관리 (0) | 2016.03.08 |
[VMware] RHEL4_Update2_AS_x86, RHEL5_x86 설치 (0) | 2016.03.08 |
[VMware] RHEL3_Update6_WS_x86 설치 (0) | 2016.03.08 |