2009년 6월 19일 금요일

[SA239] Part 2


[*] 파일시스템 생성하기
========================
# newfs /dev/rdsk/c0t2d0s3
newfs: 새 시스템 파일 /dev/rdsk/c0t2d0s3을(를) 구성하시겠습니까: (y/n)? y
/dev/rdsk/c0t2d0s3:     16 트랙, 63 섹터의 204 실린더에 있는 205632 섹터
        100.4MB (13 실린더 그룹) (16 c/g, 7.88MB/g, 3776 i/g)
수퍼 블록 백업 (fsck -F ufs -o b=#의 경우):
 32, 16224, 32416, 48608, 64800, 80992, 97184, 113376, 129568, 145760,
 161952, 178144, 194336,

# fstyp -v /dev/rdsk/c0t2d0s3  ; 생성된 파일시스템의 내용을 확인할 수 있습니다.

# fsck /dev/rdsk/c0t2d0s3  ; 파일시스템에 오류가 있는지 점검합니다.
                             총 5개단계로 검사하며 각 단계별로 아무런 출력없이
                             넘어가면 파일시스템에 아무런 문제가 없습니다.

 

 

[*] 수퍼블럭이 깨어진 파일시스템 복구하기
==========================================
# dd if=/dev/zero of=/dev/rdsk/c0t2d0s3 bs=512 count=32
; 파일시스템의 수퍼블럭 정보를 삭제합니다.

# fsck /dev/rdsk/c0t2d0s3  ; 수퍼블럭의 정보가 깨어졌기 때문에 파일시스템 점검
                             작업에 에러가 발생
** /dev/rdsk/c0t2d0s3
BAD SUPER BLOCK: MAGIC NUMBER WRONG
USE AN ALTERNATE SUPER-BLOCK TO SUPPLY NEEDED INFORMATION;
eg. fsck [-F ufs] -o b=# [special ...]
where # is the alternate super block. SEE fsck_ufs(1M).
 
# newfs -N /dev/rdsk/c0t2d0s3  ; 백업수퍼블럭의 위치를 확인합니다.

# fsck -F ufs -o b=97184 /dev/rdsk/c0t2d0s3  ; 백업된 수퍼블럭 정보를 이용하여
                                               수퍼블럭을 복구합니다.

 


[*] 파일시스템 minfree공간 조정
================================
# tunefs -m 1 /dev/rdsk/c0t2d0s3
minimum percentage of free space changes from 10% to 1%
# mount -F ufs /dev/dsk/c0t2d0s3 /test
# df -h /test
파일시스템             크기   사용   가용   용량    설치지점
/dev/dsk/c0t2d0s3       94M   585K    93M     1%    /test

 

 

[*] 파일시스템 수동으로 마운트하기
===================================
# mkdir /test
# mount -F ufs /dev/dsk/c0t2d0s3 /test
# mount        ; 전체 마운트 되어 있는 정보를 출력합니다.
# df -h        ; 마운트된 파일시스템의 사용가능한 용량을 확인합니다.

 

 

[*] 시스템 부팅시 파일시스템 자동으로 마운트하기
================================================
# vi /etc/vfstab   ; 파일에 새로 생성한 파일시스템을 추가합니다.
/dev/dsk/c0t2d0s3       /dev/rdsk/c0t2d0s3      /test   ufs     2       yes     -

# umountall    ; mount at boot = yes 로 설정된 파일시스템들을 모두 umount
# mountall     ; mount at boot = yes 로 설정된 파일시스템들을 모두 mount

 

 

[*] vfstab 에서 옵션 설정하기
==============================
# vi /etc/vfstab   ; setuid 설정을 허용하지 않도록 마운트 옵션을 조정합니다.
/dev/dsk/c0t2d0s3       /dev/rdsk/c0t2d0s3      /test   ufs     2  yes  nosuid

# cd /test
# cp /usr/bin/ksh .
# chmod +s ksh
# su - sa119    ; 일반 사용자 계정(sa119)로 로그인
$ cat /etc/shadow
cat: cannot open /etc/shadow
$ ./ksh
# cat /etc/shadow  ; root 권한으로 파일의 내용이 출력되는것을 확인할 수 있습니다.

# cd /
# umount /test
# mount /test
# su - sa119    ; 일반 사용자 계정(sa119)로 로그인
$ cat /etc/shadow
cat: cannot open /etc/shadow
$ ./ksh
$         ; setuid가 적용되지 않는것을 확인할 수 있습니다.

 


[*] vfstab 수정오류로 인해 시스템이 부팅되지 않는경우 복구하기
==============================================================
# init 0
ok boot cdrom -s     ; 1번 설치 CD를 이용하여 싱글유저로 부팅합니다.
# mount /dev/dsk/c0t0d0s0 /a  ; 기존의 root파일시스템을 /a 디렉토리엥 마운트
# TERM=sun
# export TERM
# vi /a/etc/vfstab    ; 잘못설정된 설정을 변경합니다.

# reboot

댓글 없음:

댓글 쓰기