우분투 10.04 유선랜 자동으로 안잡힘.
우분투 10.10 유선랜 자동으로 잡힘  ==>  인터넷 연결후 1분안에 유선랜이 다운되는 현상 발견

우분투 10.10에서 드라이버 소스를 받아 설치후 모듈을 제거하고 다시 등록해야 원활히 유선인터넷이됨. 근데 부팅시마다 해야되서 환경설정파일을 수정해야함
(참고로 무선인터넷은 유선인터넷되면 우분투에서  하드웨어 검색하면 잡아줌)

11.04는 테스트 해볼 생각없음 .

일단 http://linuxwireless.org/download/compat-wireless-2.6 여기서 compat-wireless-2.6.tar.bz2파일을 받거나 밑에 있는 첨부파일을 다운받는다

 


다운받은 파일 압축 풀고 해당 디렉토리로 진입.
 
$  sudo apt-get install build-essential   //컴파일환경준비하고

$ ./scripts/driver-select atl1c
$ make
$ sudo make install
이렇게 하면 설치가 완료되었는데 모듈 안올라오면 아래 명령어로.

$ sudo modprobe atl1c
이렇게 하면 모듈이 올라온다.

참고로 올라온 모듈 내리는 법은 다음과같디
$ sudo rmmod atl1c



위 내용중 일부는 우분투 코리아에서 발취하였습니다

 

'OS > 우분투' 카테고리의 다른 글

우분투에서 java 설치하기  (0) 2011.05.16
Find 파일내 문자열 검색  (0) 2011.05.06
유용한 find 명령어 실무위주  (0) 2011.04.26
XP MBR복구 및 우분투 GRUB 복구  (0) 2011.04.26
Find 명령어의 모든것  (0) 2011.04.26
AND

mt명령어

ufs dump 명령어   ; 증분백업

백업은
1.  full backup(0),
2.  증분백업(0이외에)
이 있다. 




증분백업 설명
 
아래의 숫자는 ufsdump 백업사용시 옵션에 들어가는 부분으로서 풀백업과 증분백업을 나누어주는 역할 뿐만아니라
증분백업에서의 차등정책과 동일정책을 보여주고있다.


 
백업정책 (아래 둘다 증분백업이지만)
2 3 4 5 6 7
이렇게 차등이 나면 이전의 내용 과 달라진 부분만 백업   ; 많이 쓰이는 증분정책:그랜드파더 파더 선

2 2 2 2 2 2
이렇게 레벨이 같으면 이전내용을 포함해서 백업 



백업해보기 테스트환경구축  ufsdump
일단 새 하드 추가후 파티션 만 잡아주고 마운트는 하지말고 이후 백업명령어를 사용

/etc/passwd /etc/shadow /etc/group파일을 또 다른 일반 디렉토리로 복사후 백업을 실행

옵션은 책 444참고    

현업에서 장치를 추가후 백업을하게 되면
  ls -l /etc/dumpdates    에 백업정보가 기록됨
        

명령어
ufsdump [옵션] [백업데이터가 저장될 하드파티션]  [백업데이터]

백업
# ufsdump 0uf /dev/rdsk/c2t0d0s0 /backup_test
옵션 0uf은 풀(0)로 백업을 하라는 의미와 u(로그파일을 남기라)는 의미가 있으며 자세한건 옵션을 참고

확인    ;; 백업후 확인
# ufsrestore -tf /dev/rdsk/c2t0d0s0
         2      .
    252038      ./backup_test
    252150      ./backup_test/passwd
    252151      ./backup_test/shadow
    252152      ./backup_test/group

복구 
# ufsrestore -rvf /dev/rdsk/c2t0d0s0     ;;;;;
;;; 복구시에 저장장소가 지정되어 있지 않아도 자동으로 /backup_test로 복구된다. 

# rm restoresymtable    ;;;파일을 복구할 때 소모하는 파일이라 삭제


!!!!! 한달짜리 매일 백업하는 과정을 crontab으로 작성하시오



스냅샷
ufsrdump 보다 좋은데 리소스를 더 먹는다. 온라인 백업이라고한다. 

fssnap -i 스냅정보보기

fssnap -o bs=/var/tmp /backup_test/
ls -l /dev/fssnap/0
fssnap -i /dev/fssap/0
mount -o ro /dev/fssnap/0 /backup

umount /backup
fssnap -d /backup
ls -l /var/tmp/sanpshot0
rm /var/tmp/snapshot0

스냅샷은 아직 테스트 해보지 않아서 잘 모르겠음   책보고 테스트 해봐야함.. 도통 진행과정상에선 헷갈리는 부분이 많음

스냅샷과 ufsdump와의 비교를 하자면
ufsdump는 언마운트 되어 있는 상태 즉, 시스템이 사용하고 있지 않은 상태에서만   백업이 가능하다

스냅샷은 언마운트 되어있지 않아도 가능하다. 
AND

p.83

그룹관리 

그룹추가  
groupadd [그룹이름]
groupadd -g [그룹이름] gid번호할당
/etc/group 에 확인하면 자동으로 101번 부터 할당

그룹의 필요성
그룹별로 제한적인 명령어, 권한값을 줄 수 도 있다.     pam을 통해서 


sol-25@root[/export/home/sam]vi /etc/group
"/etc/group" 23 lines, 314 characters
root::0:
other::1:root
bin::2:root,daemon
sys::3:root,bin,adm
adm::4:root,daemon
uucp::5:root
mail::6:root
tty::7:root,adm,    test2          ===>여기에 이렇게 추가하면 test2사용자만 tty에 대한 권한을 부여할 수 있다.
lp::8:root,adm
nuucp::9:root
staff::10:
daemon::12:root
sysadmin::14:
smmsp::25:
gdm::50:
webservd::80:
postgres::90:
nobody::60001:
noaccess::60002:
nogroup::65534:
vboxsf::100:

telnet 에서 write root pts/3과 같은 명령어로 대화가 가능하게 하는데  wirte권한을 보면 그룹에 SetGUID가 걸려있다
따라서 터미널의 모든 사용자는 실행시tty권한으로 적용되게 되는데, test2만을 직접 /etc/group 안에 tty필드에 넣게 되면 
test2만 tty의 권한을 누릴 수 있다.



ps [옵션] [유저커맨드]
ps : 자기 터미널
ps -a 다른 터미널

ps -e 모든 프로세서
ps -f 풀네임으로 표현
보통 ps -ef | grep 으로 잘 사용한다

kill -l 을 해보면 kill에 적용가능한 시그널이 적용된다. 
1번인 SIGHUP는 프로세스가 종료되지 않은 상태에서 리로드 된다. 
디폴트는 15번인 SIGTERM이 적용된다. 보통 앞에 SIG는 안써서 kill -15 또는 kill -TERM 으로 쓰기도 한다.


9 , 15는 강제로 프로세서를 내리는 것과, 프로세서의 진행을 멈추는 것 과 의 차이다, 

prstat = pop(리눅스)

ctrl + Z 는 프로세서 중단하고 여기서 나오는 번호를 가지고 
fg, bg %[번호]로 조절할 수 있다.                                     == 현재 하고있는 일을 보려면 jpbs

at 데몬
at 시간:분
at> 수행명령어
ctrl+ D 
atq 나   at-l   명령어로 예약확인



원래 pkg는 var/pkg/안에 설치되지만 pkgadd -d 옵션으로 아무 폴더에서나 설치가능하다.

pkgchk -l 패키지명
pkginfo 패키지명

패치이름 - 버전정보

Sparc장비에만 있다. 
boot PROM
NVRAM을 포함하여 목차(ROM)에 따른 값(NVRAM)으로 변환 가능
obt 명령어 : 컴퓨터진단 명령

CMOS와 비슷한 기능  +  

pkgrm 

솔라리스 10의 SMF 카페에서 찾기



서비스동작중 확인법
svcs -a |grep wc -l 
who -r ;;;;런레벨 확인법              Single Level -----> 3으로 간다.



예전 솔 9에서는부팅시 프로그램 동작시키는 방법은   2가지    

런레벨에 따라서 동작시킨다.    
런레벨과 관련된 디렉토리에 저장시킨다.(이름바꾸어서 .. S  F)

/etc/initd.conf 을 편집함으로써 동작시킨다.    ==> 수퍼데몬

프로그램동작 방식은 standalone(나중에 부팅다되고)

지금은 inet방식은 잘 안하고 런레벨 위주로 되고 있다.







AND

부팅하고 나서 그래픽 환경에서 ID를 입력하는 메뉴에서 로그인을 콘솔로 부팅할 수 있는 메뉴가 있다. 
마우스로 클릭하면된다.


이후 ls-al 과 같은 명령어에서 시스템에서 제공하는 한글(월, 일) 이런게 깨질때 해결방법은
한글을 제공하지 않게 해주는 것이다.
당연 파일명도 한글은 안쓸거다

/etc/default/init 파일을 수정한다. 
LANG=C라고 바꾼다. 영어만사용

LANG=ko는 한글이랑 영어 같이 사용.

 
AND



파일시스템에 대하여살펴보자

나중에, 하드디스크의 추가 이유를 말 할 수 있는 분석적 기법도 배운다.

ufs 파일시스템구조

0 ; 디스크레이블      = VTOC 정보 즉, 파티션 정보가 들어있다.
1-15 ; 부트블록 = 루트파일시스템에만 활성 부트 블록이 존재, 부트로더가 인스톨 되어지는 공간
16-31; 주 슈퍼블록  = 첫번째 실린더그룹에만있다. 
32 ; 해당 실린더 그룹의 32번째 섹터 백업슈퍼블록. 실린더 그룹마다 하나씩존재함 
백업슈퍼블록은 실린더 그룹에 하나씩 존재 하게 되며 매 그룹의 32번째 섹터에 위치한다
여러개 있지만 앞에 공간이 다 날라갔으면 뒤에 뒷공간에 저장된 백업슈퍼블록을 사용한다.
즉, 백업 슈퍼블록의 블록 번호는 각 파티션 의 32번째 블록이다. 




명령어
디스크레이블(파티션테이블정보)를 prtvtoc로 백업받는 방법  = 최소 다른 파티션에, 권장사항은 다른 디스크영역에 저장
사전에 디스크레이블을 백업할 하드디스크의 네임은 알아두어야한다.  
format을 사용해서 알아두기.


prtvtoc 로 백업받은 정보를 복구할때 
fathard -s c0t2d0s0.vtc /dev/rdsk/c0t2d0s0

수퍼블록 복구 
;   백업슈퍼블록의 정보를 활용해서 복구하는 명령어
fsck -y -o b=32832 /dev/rdsk/c0t2d0s0

 
**싱글모드에서 복구대상하드디스크는 반드시 언마운트 된 상태로 fsck 한다.

grub 복구 ; 인스톨
하드디스크 마운트후 /boot/grub  로 이동installgrub stage1 stage2 /dev/rdsk/c0t0d0s0

 
-------  filesystem check
fsck   사용시
절대로!!!! 반드시!!!!! umount 되어진 파티션 영역을 대상으로 진행해야한다. 마운트 중이면 다신 복구 불가하다.!!!!!
-------


**** 리부팅전에 sync sync sync 하고 
init 5  : 시스템 종료
-------

연습,
1. 파일시스템 채크
2. vtoc백업 연습
3. 백업수퍼블록정보를 이용한 복구
수퍼블록이 고장났을 


vtoc는 각 슬라이스(파일시스템)에 0번째 섹터에 존재하는가?  아니오. 첫번째 슬라이스의 첫번째 섹터에만 들어있다.
부트블록은 '/' 파일 시스템에만 활성 부트블록이 존재



장애복구시나리오
1. 암호 까먹었을때 
복구시디가 필요하다
passwd -l root 
싱글 모드 들어가기
복구 환경셋팅

싱글모드에서 기존 하드 디스크 마운트하고
하드의 etc/shadow 파일의 root passwd 부분을 지운다. (:: 전까지)
재부팅후 passwd 명령어로 패스워드 다시설정 


2. 파일 시스템의 inode만 삭제되었을때,  복구가 되는지 확인해 보기
1. 새로운 파일시스템을 마운트후 아무파일이나 복사, 파일의 아이노드를 확인.    ls -li
2. clri /dev/rdsk/c0t2d0s0 [아이노드번호]                  ; 명령어로 복사한 파일의 아이노드를 삭제
3. 언마운트후 fsck -y /dev/rdsk/c0t2d0s0
4. 다시 마운트 한후 ls -lR 로 확인   ;; 하위까지  보기
5. mv 명령어로 옮기면 

결론 :  아이노드가 삭제되면 해당 데이터를 가리키는 곳이 삭제되기 때문에 복구 불가능, 즉, 소멸된 아이노드는 복구 불가능하다.


3.  파일의 아이노드와 데이터의 링크를 끊어놓았을 때: 일반적인 삭제, 아이노드는 삭제되지 않았다.
1. 새로운 파일시스템을 마운트후 아무파일이나 복사, 파일의 아이노드를 확인.    ls -li
2. unlink 폴더이름 
3. 언마운트후 fsck -y /dev/rdsk/c0t2d0s03.   
4. 다시 마운트 한후 ls -lR 로 확인   ;; 하위까지  보기
5. mv "#0004" ../kbs 이런식으로  "" 으로 묶어서 옮기면 됨.

결론 : unlink는 복구 가능하다. (단순삭제)   .  

4.  해당 디스크의 파티션 정보가 날라갔을경우. 
fstyp 명령어로 확인하면 unknown 이라고 뜰경우

1. 마운트된 파일시스템의 파티션 정보가 날라간다.
dd if=/dev/zero of=/dev/rdsk/c0t2d0s0 bs=512 count=33
; 33번째 섹터까지 날려본다.
2. format 명령어에서 verify 에서 확인해보면 파티션이 날라갔다.  =  마운트되지 안는다
fstyp /dev/rdsk/c0t2d0s0 를 확인해보면 unknown이라고 뜰것이다.
3. 백업해둔 디스크레이블을 복구한다. 
fmthard -s /다른디스크에저장된 경로/c0t2d0s0.vtc /dev/rdsk/c0t2d0s0  
4. fsck 로 채크
fsck -y -o b=32 /dev/rdsk/c0t2d0s0  ---> 실패
; 32번째 섹터에 있는 백업수퍼블록의 정보를 복구한다.
5. newfs -N /dev/rdsk/c0t2d0s0 로 백업수퍼블록의 다른 섹터번호를 확인하고
6. fsck -y -o b=38323 /dev/rdsk/c0t2d0s0  ---> 성공
7. fstyp로 확인해보고 마운트후 정상작동 확인


5. 주 하드디스크의 정보가 날라갔을경우
1. df -h  로 정보확인
2. 주 하드디스크 의 prtvtoc정보를 다른 디스크에저장
3. cd롬 부팅후 싱글유저입장
4. dd if=/dev/zero of=/dev/rdsk/c0t0d0s2 bs=512 count=33
; 주 하드디스크의 33번째 섹터까지 날려본다.
5. 백업해둔 디스크레이블을 복구한다. 
fmthard -s /다른디스크에저장된 경로/c0t0d0.vtc /dev/rdsk/c0t0d0s0  
6. newfs -N /dev/rdsk/c0t2d0s0 로 백업수퍼블록의 다른 섹터번호를 확인하고
7. fsck 로 채크
fsck -y -o b=32 /dev/rdsk/c0t0d0s0  ---> 성공
; 32번째 섹터에 있는 백업수퍼블록의 정보를 복구한다.
8. fstyp로 확인해보고, 마운트후 정상작동 확인
9. cd /a/boot/grub 인스톨한다
installgrub stage1 stage2 /dev/rdsk/c0t0d0s0
  10. 재부팅


느낀점 : 

장애 시나리오를 실제 장애와 연관지어 생각해 놔야겠다.
예를들어 갑자기 컴퓨터를 켰는데 부트로더가 안뜬다 -->   부트로더만 재설치.

부팅이안된다. ----> 루트파일시스템은 마운트되었는가?
 
AND

1. 현재 디렉토리( . ) 이하에 확장자가 .html( -name "*.html" ) 인 파일만 ( -type -f )

find . -name "*.html" -type f -ls

2. 파일 크기

# 파일 크기가 300KB 이상( -size +300k )인 파일만 
# (호스팅되는 홈피내에 큰 사이트의 파일이 있는지 찾을 때 유용)
find . -size +300k -ls

# 파일 크기가 500bytes 이하( -size -500c )인 파일만  
find . -size -500c -ls 

3. 수정일

# 수정한지 20일 이상( -mtime +20 )된 파일과 디렉토리
find . -mtime +20 -ls 

# 수정한지 20일 이상된 파일만
find . -mtime +20 -type f -ls

# 수정한지 20일 이상된 파일만 삭제 ( -exec rm {} \; ) 
# (정기적으로 20일이 지난 파일을 삭제할 때 유용)
find . -mtime +20 -type f -ls -exec rm {} \;

# 수정한지 3일 이내( -mtime -3 )의 파일만 (백업할 때 유용)
find . -mtime -3 -type f -ls

# 수정한지 30분 이내( -mmin -30 )의 파일만
find . -mmin -30 -type f -ls

4. 퍼미션 및 파일 소유

# 파일시스템 전체( / )에서 SUID/SGID가 설정된 모든 파일 목록을 얻음
find / -type f \( -perm -04000 -o -perm -02000 \) -ls

# 소유자가 없는 파일 목록을 얻음 (사용자는 이미 삭제했는데, 파일이 남은 경우)
find / -nouser -o -nogroup

5. 출력 형식 지정

# 출력 형식을 printf로 만들어서 (출력 결과를 다른 프로그램에서 받아서 쓸 때 유용)
# %h = 경로, %f = 파일명, %k = KB, %s = Bytes

# 형식 : <경로/파일명> <파일크기KB>
find . -printf "%h/%f \t %kKB \n"
... 생략 ...
./public_html/phps/icon/type/pcx.gif      4KB
./public_html/phps/icon/type/ra.gif       4KB
./public_html/phps/icon/type/sound.gif    4KB
./public_html/phps/icon/type/text.gif     4KB

# 형식 : <경로/파일명> <파일크기Bytes>
find . -printf "%h/%f \t %sKB \n"
... 생략 ...
./public_html/phps/icon/type/movie.gif    912Bytes
./public_html/phps/icon/type/mp3.gif      958Bytes
./public_html/phps/icon/type/pcx.gif      897Bytes
./public_html/phps/icon/type/ra.gif       903Bytes
./public_html/phps/icon/type/sound.gif    932Bytes

6. 홈페이지 포팅할 때 퍼미션 안 맞는 경우 유용한 것

# 확장자가 .htm* .gif, .js, .css 인 것만 퍼미션을 644(rw-r--r--)로
find . -name "*.htm*" -o -name "*.gif" -o -name "*.js" -o -name "*.css" -exec chmod 644 {} \;

# 파일은 퍼미션을 644로
find . -type f -exec chmod 644 {} \;

# 디렉토리는 퍼미션을 701로
find . -type d -exec chmod 701 {} \;

# 하위의 모든 퍼미션을 바꾸지 않고 depth를 지정하여 제한을 둘 때
# 옵션 : -maxdepth 숫자  (1=현재디렉토리만, 2=현재디렉토리 포함하여 한단계 하위디렉토리까지만)
find . -maxdepth 1 -type d -exec chmod 701 {} \;

※ -maxdepth는 -type나 -perm 등의 조건연산자가 아닌 옵션이다. 
   따라서 조건연산자보다 먼저 사용해야한다. (다른 명령처럼 옵션을 먼저쓰는 것으로 이해하면 됨)
   find . -type -d -maxdepth 1 과 같이 사용하는 것은 옳지 않다.
AND

file 명령어로 파일의 속성을 확인해보자 
유닉스리눅스 시스템은 파일 이름이나 확장자로 판단하지 말고 파일의 속성으로 판단해야 한다. 


==============한 묶음으로 만들기======== 
tar cvf 이름 대상
tar xvf 이름

단일 파일 만들기  . 이후 bz2로 압축을 한다.
tar 는 아이노드(무결성)의 정보를 고스란히 저장하기 때문에 백업용으로 사용하기도함.
cp 는 아이노드가 바뀌기 때문에 데이터정보는 동일하지만 연결항목이 끊어져 무결성 정보를 입증하기 어려움


==============압축==========
jar cvf 이름 대상
jar xvf 이름
작업시 META-INF 폴더에 파일이 생성됨.   
아이노드 번호가 바뀌기 때문에 ???? 
잘 사용안한다.




zip 이름 대상 (옵션없음)
unzip 이름


gzip -1 대상   (숫자는 속도- 1이 빠르고 9가 느리고)
gzip -9 대상   (압축률이 더 높다)

gzip풀기
gzip -d 이름
gunzip 이름


bzip2  
단일파일 압축률이 가장 높은 압축방법
보통 tar로 단일 파일을 만든후 bzip2로 압축한다. 
통상 10메가이하면 bzip2로 안하고 gzip 로 하는것이 일반적이다. 

풀때는 gzip과 동일하다.

=========================================================

디렉토리 관련

솔라리스는 디바이스 이름을 3가지의 형태로 사용한다. 

-논리적 장치
-물리적 장치
-인스턴스 이름


 /devices 물리적인 장치
 /dev 논리적인 장치sol-25@[/devices]format
Searching for disks...done


AVAILABLE DISK SELECTIONS:
       0. c0t0d0 <DEFAULT cyl 2607 alt 2 hd 255 sec 63>
          /pci@0,0/pci8086,2829@d/disk@0,0
       1. c0t2d0 <DEFAULT cyl 1021 alt 2 hd 64 sec 32>
          /pci@0,0/pci8086,2829@d/disk@2,0
Specify disk (enter its number): 0
selecting c0t0d0
[disk formatted]
Warning: Current Disk has mounted partitions.
/dev/dsk/c0t0d0s0 is currently mounted on /. Please see umount(1M).
/dev/dsk/c0t0d0s1 is currently used by swap. Please see swap(1M).


FORMAT MENU:
        disk       - select a disk
        type       - select (define) a disk type
        partition  - select (define) a partition table
        current    - describe the current disk
        format     - format and analyze the disk
        fdisk      - run the fdisk program
        repair     - repair a defective sector
        label      - write label to the disk
        analyze    - surface analysis
        defect     - defect list management
        backup     - search for backup labels
        verify     - read and display labels
        save       - save new disk/partition definitions
        inquiry    - show vendor, product and revision
        volname    - set 8-character volume name
        !<cmd>     - execute <cmd>, then return
        quit
format> veryfy
`veryfy' is not expected.
format> verify

Primary label contents:

Volume name = <        >
ascii name  = <DEFAULT cyl 2607 alt 2 hd 255 sec 63>
pcyl        = 2609
ncyl        = 2607
acyl        =    2
bcyl        =    0
nhead       =  255
nsect       =   63
Part      Tag    Flag     Cylinders        Size            Blocks
  0       root    wm       1 - 2550       19.53GB    (2550/0/0) 40965750
  1       swap    wu    2551 - 2606      439.28MB    (56/0/0)     899640
  2     backup    wm       0 - 2606       19.97GB    (2607/0/0) 41881455
  3 unassigned    wm       0               0         (0/0/0)           0
  4 unassigned    wm       0               0         (0/0/0)           0
  5 unassigned    wm       0               0         (0/0/0)           0
  6 unassigned    wm       0               0         (0/0/0)           0
  7 unassigned    wm       0               0         (0/0/0)           0
  8       boot    wu       0 -    0        7.84MB    (1/0/0)       16065
  9 unassigned    wm       0               0         (0/0/0)           0

format>

/devices에 등록되고   /dev  는 이러한 장치를 논리적으로 링크 시켜 놔야 운영체제에서 사용할 수 있다.
드라이브 설치하면 /devices에 까지만 등록된다. 그래서 /dev에 동기화시켜야 한다 명령어를 통해서 
 
/export

파티션을 해야만하는 곳
/var
/boot
/export/home
/tmp --> 시스템마다 달라서 해줘야할때도 있다. 어플 활용에 따라 커질 수도있기때문에

절대 파티션을 하면 안되는곳
/etc    --> 시스템의 환경설정이 들어있기때문에 활용도.속도 가 떨어질 수 있다.






파티션을 할때 실린더를 기준으로 나누자. 이유는 물리적으로 처리하는 단위가 실린더 이므로 

참고로 ,슬라이스=파티션

리눅스에서도 scsi  = sd
eid = hd
라는 방식에 따른 표현 차이




디스크네이밍에서 

컨트롤러는 같은 방식이면 모두 c0

총 24개의 하드디스크를 6개의 컨트롤러로 묶을때 네이밍예
c2 t3 d5 s5
컨트롤러 가 번호가 붙으면 다른 컨트롤러라고 생각할 수 있지만 통상적으로 컨트롤러 번호는 같다
t는 6묶음의 갯수를 나타내므로 
d는 하나의 묶음안에 몇 번째 하드디스크
s는 해당 하드디스크 안에서 몇 번째 슬라이스(파티션)인지 나타내줌





새로운 하드 추가시과정
touch /reconfigure   파일 생성  - 여기서 이 파일을 통해서 새로운 장치가 있는지 검사함 (다른방법도 있음)
init 5    시스템 off
하드 추가후 새로 부팅
format 커맨드창에서 입력
devfsadm 물리정보와 논리정보를 연결
 
** 오늘날은 디바이스추가후(드라이브설치후) 바로 devfsadm 으로 /dev 에 연결해준다.  안되면 /reconfigure추가후 해보고 devfsadm을 해보고 아니면, reboot -- -r로 해보기도 한다. 




===== 기존 하드디스크
sol-25@[/devices]format
Searching for disks...done


AVAILABLE DISK SELECTIONS:
       0. c0t0d0 <DEFAULT cyl 2607 alt 2 hd 255 sec 63>
          /pci@0,0/pci8086,2829@d/disk@0,0
       1. c0t2d0 <DEFAULT cyl 1021 alt 2 hd 64 sec 32>
          /pci@0,0/pci8086,2829@d/disk@2,0
Specify disk (enter its number): 0
selecting c0t0d0
[disk formatted]
Warning: Current Disk has mounted partitions.
/dev/dsk/c0t0d0s0 is currently mounted on /. Please see umount(1M).
/dev/dsk/c0t0d0s1 is currently used by swap. Please see swap(1M).


FORMAT MENU:
        disk       - select a disk
        type       - select (define) a disk type
        partition  - select (define) a partition table
        current    - describe the current disk
        format     - format and analyze the disk
        fdisk      - run the fdisk program
        repair     - repair a defective sector
        label      - write label to the disk
        analyze    - surface analysis
        defect     - defect list management
        backup     - search for backup labels
        verify     - read and display labels
        save       - save new disk/partition definitions
        inquiry    - show vendor, product and revision
        volname    - set 8-character volume name
        !<cmd>     - execute <cmd>, then return
        quit
format> veryfy
`veryfy' is not expected.
format> verify

Primary label contents:

Volume name = <        >
ascii name  = <DEFAULT cyl 2607 alt 2 hd 255 sec 63>
pcyl        = 2609
ncyl        = 2607
acyl        =    2
bcyl        =    0
nhead       =  255
nsect       =   63
Part      Tag    Flag     Cylinders        Size            Blocks
  0       root    wm       1 - 2550       19.53GB    (2550/0/0) 40965750
  1       swap    wu    2551 - 2606      439.28MB    (56/0/0)     899640
  2     backup    wm       0 - 2606       19.97GB    (2607/0/0) 41881455
  3 unassigned    wm       0               0         (0/0/0)           0
  4 unassigned    wm       0               0         (0/0/0)           0
  5 unassigned    wm       0               0         (0/0/0)           0
  6 unassigned    wm       0               0         (0/0/0)           0
  7 unassigned    wm       0               0         (0/0/0)           0
  8       boot    wu       0 -    0        7.84MB    (1/0/0)       16065
  9 unassigned    wm       0               0         (0/0/0)           0

format>
format>
format> ^C
sol-25@[/devices]
sol-25@[/devices]
sol-25@[/devices]
sol-25@[/devices]
sol-25@[/devices]format
Searching for disks...done


AVAILABLE DISK SELECTIONS:
       0. c0t0d0 <DEFAULT cyl 2607 alt 2 hd 255 sec 63>
          /pci@0,0/pci8086,2829@d/disk@0,0
       1. c0t2d0 <DEFAULT cyl 1021 alt 2 hd 64 sec 32>
          /pci@0,0/pci8086,2829@d/disk@2,0
Specify disk (enter its number): ^C
sol-25@[/devices]^C
sol-25@[/devices]^[
sol-25@[/devices]
sol-25@[/devices]
sol-25@[/devices]format
Searching for disks...done


AVAILABLE DISK SELECTIONS:
       0. c0t0d0 <DEFAULT cylsol-25@[/devices]format
Searching for disks...done


AVAILABLE DISK SELECTIONS:
       0. c0t0d0 <DEFAULT cyl 2607 alt 2 hd 255 sec 63>
          /pci@0,0/pci8086,2829@d/disk@0,0
       1. c0t2d0 <DEFAULT cyl 1021 alt 2 hd 64 sec 32>
          /pci@0,0/pci8086,2829@d/disk@2,0
Specify disk (enter its number): 0
selecting c0t0d0
[disk formatted]
Warning: Current Disk has mounted partitions.
/dev/dsk/c0t0d0s0 is currently mounted on /. Please see umount(1M).
/dev/dsk/c0t0d0s1 is currently used by swap. Please see swap(1M).


FORMAT MENU:
        disk       - select a disk
        type       - select (define) a disk type
        partition  - select (define) a partition table
        current    - describe the current disk
        format     - format and analyze the disk
        fdisk      - run the fdisk program
        repair     - repair a defective sector
        label      - write label to the disk
        analyze    - surface analysis
        defect     - defect list management
        backup     - search for backup labels
        verify     - read and display labels
        save       - save new disk/partition definitions
        inquiry    - show vendor, product and revision
        volname    - set 8-character volume name
        !<cmd>     - execute <cmd>, then return
        quit
format> veryfy
`veryfy' is not expected.
format> verify

Primary label contents:

Volume name = <        >
ascii name  = <DEFAULT cyl 2607 alt 2 hd 255 sec 63>
pcyl        = 2609
ncyl        = 2607
acyl        =    2
bcyl        =    0
nhead       =  255
nsect       =   63
Part      Tag    Flag     Cylinders        Size            Blocks
  0       root    wm       1 - 2550       19.53GB    (2550/0/0) 40965750
  1       swap    wu    2551 - 2606      439.28MB    (56/0/0)     899640
  2     backup    wm       0 - 2606       19.97GB    (2607/0/0) 41881455
  3 unassigned    wm       0               0         (0/0/0)           0
  4 unassigned    wm       0               0         (0/0/0)           0
  5 unassigned    wm       0               0         (0/0/0)           0
  6 unassigned    wm       0               0         (0/0/0)           0
  7 unassigned    wm       0               0         (0/0/0)           0
  8       boot    wu       0 -    0        7.84MB    (1/0/0)       16065
  9 unassigned    wm       0               0         (0/0/0)           0

format>
format>
format> ^C
sol-25@[/devices]
sol-25@[/devices]
sol-25@[/devices]
sol-25@[/devices]


c0t0d0s0       ====> 위 그림에서 0
c0t0d0s1       ====> 위 그림에서 1


format ; 명령어 
0 or 1 ; 하드디스크 선택
p ; 명령어 
0~7 ; 해당 파티션 선택가능 2번 은 절대 삭제하지 말것 
lable ; 저장






디스크 명령어 

prtvtoc   ==  디스크 첫번째 섹터- 파티션 정보가 들어있는 곳 , 
백업시
prtvtoc /dev/rdsk/c0t0d0s0  > c0t0d0.vtoc ; 백업가능
; 같은 디스크의 다른 파티션의 vtoc정보도 디스크의 첫번째 섹터를 가리키기 때문에 
; 결론적으로 같은 값. 
; 이값을 백업했을때는 다른 하드디스크 파티션 영역에 백업해둔다. 

복구시
prtvtoc -s c0t0d0.vtoc /dev/rdsk/c0t0d0s0



이러한 prtvtoc값이 백업이 되어있지 않은경우는 데이터 영역만 살려놓고 시스템을 재 설치 해야한다. 






새로운 하드를 추가후 마운트 과정

하드 추가
-> 장치인식
->부팅후 format 으로 정보확인
-> 해당 디스크 선택
-> verify로 실린더 번호 확인후 파티션 영역 선택
-> 파티션 생성후 저장  label
-> 마운트를 위한 명령어 입력 newfs /dev/rdsk/c0t0d0s0(s0~s7은 해당 파티션 번호 입력해야함)
-> fstyp /dev/rdsk/c0t0d0s0 확인 ufs인지
-> 마운트포인트 생성(디렉토리)
-> mount -F ufs /dev/dsk/c0t0d0s0 입력 -> 확인

== 부팅때 자동으로 마운트 되게 하기
/etc/mnttab   ,    /etc/vfstab   둘중 부팅후부터 유저 마운트까지 다 포함한게 mnttab. 
따라서 부팅후 자동으로 마운트 되게 하려면 vfstab을 수정해야함
 

AND



VI
:x 바로나간다    == :wq    == 대기 상태에서 대문자 ZZ

:w 편집중 나가지 않고 저장하고 싶다. 
:w 이름      다른이름으로 저장

입력시
s:그자리에서 첫문자만 덮어쓰면서 시작
S:해당줄을 다 지우고 시작
o:해당줄 바로 밑에 줄 하나 만들면서 타이핑
O:해당줄을 밑으로 밀고 시작
A:해당줄 끝에 추가
I:해당줄 처음으로 간다

이동시 
$ 라인의 처음으로 
^ 라인의 맨 끝으로 
맨 끝대문자 G
맨 처음gg

set nu : vi에서 라인넘버 보여주기 앞에 no붙이면 해제

dd : 줄 삭제
dw : 단어를 삭제
u  : 삭제후 복구 단 한번만
2d3w
2d5d
d^
d$
dG

yy :한줄 복사
3yy : 3줄 복사
yG : 현재 라인부터 밑으로 전체복사 

cc   : 한줄 잘라내기
3cc : 3줄 잘라내기

붙이는건 p


숙제 : 유닉스 시스템과 윈도우 시스템의 권한 차이를 비교하는것 설명 


vi 에서 원하는 문자열 찾기    /    나   ?   으로 찾아서   n    N 으로 넘기면서 보기



vi aaa bbb -o에서 
ctrl +w    하면 창간에 이동이 된다  



디렉토리의 권한은 명령어와 연관지어서 알아야한다
디렉토리 권한의 읽기권한은 ls 명령어
디렉토리 쓰기 권한은 cp touch rm mv ....명령어
디렉토리 실행 권한은 cd 명령어와 연관있다. 



디렉토리의  inode 구조에는 파일이름과 파일의 아이노드가 맵핑되어 저장되어 있다. 
즉, 파일의 inode에는 파일이름이 저장되어있지 않고 디렉토리의 inode구조에서 맵핑시켜준다 
파일의 삭세 시에는 이 연결 관계를 끊어주면 되고 

which  명령어    :  해당명령어의 절대경로 

setuid     실행할때 실행 파일의 소유자 권한으로 실행하는것
실행조건 : 4001   - --S --- --x   ( other 의 실행권한이 있고 setuid가 걸려있으면.
  group에 실행권한이 있으면?? )
setgid     실행할때 실행 파일의 그룹 권한으로 실행하는것
stikeybit tmp폴더처럼 other의 권한중 쓰기 권한이 있으면 쓸수도 있지만 삭제도 가능하다는 뜻이다
여러 사용자가 쓰기는 하지만 삭제는 하면 안되는 공간에 삭제를 방지하기 위해 소유자만이 삭제 가능
하게 하는 것이 이것이다. 


find
예 : 루트소유자의 파일인데  other에 쓰기가 있는것 찾기
 find / -type f -user root -a -perm -002 -ls

 find / -type f \( -perm -4000 -o -perm -2000 \) -ls

40개 숙제


tmp 러닝중에 발생하는 프로세스의 정보를 저장하는 곳
var 시스템 운영중에 발생하는 정보를 저장하는 로그 저장소


/etc/profile //시스템환경설정파일
$HOME/.pfofile    or   local.profile //사용자가환경설정파일
$HOME/local.cshrc //c shell 에서 사용자가 쉘을 사용하게 되면은 적용되는 파일
$HOME/.kshrc //콘쉘에서 ""
$HOME/.bashrc //본쉘에서 ""


우선순위는 사용자 쉘 프로파일 사용자 환경설정파일 시스템환경 설정파일 순이다. 


파일의 기본 권한 666   실행권한 다뺀거
디렉토리의 기본권한 777 

umask 022    일반적으로 개발 환경에서 기본적으로 생성될 파일들의 권한들을 변경해 놓고 작업한다.
시스템

umask를 프로파일에 반영하면 로그인을 해야 적용이 되지만 쉘프로파일에 반영하면 바로 반영된다

script -a | tee /dev/pts/24

# set |more  시스템의 모든 환경변수를 보여준다. 확인은 echo $PWD
PS1은 프롬프트..
..
즉, 환경변수를 사용해서 쉽게 프로그래밍 할 수 있다.  $PWD

# passwd -e /usr/bin/ksh  
또는 
# usermod -s /usr/bin/ksh root

=================@HOME/.profile===========
PATH=/usr/bin:/usr/local/bin:/usr/sbin:
PATH=$PATH:/usr/cos/bin:/usr/ucd:/usr/local/sbin:
PATH=$PATH:/usr/dt/bin:.
MANPAH=/usr/share/man:/usr/local/man
LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib
EDITOR=/usr/bin/vi ===========>암기
ENV=$HOME/.kshrc
TERM=dtterm                               ===========>암기
PS1=`uname -n``@``whoami``[$PWD]`
export PATH EDITOR ENV TERM PS1
================================================
@HOME/.kshrc
================================================
set -o vi ============>암기
stty erase ^?(ctrl+v + 백스페이스) ============>암기
h=history

위에 암기되어있는 항목은 반듯이 적용되어야함 

위의 빨간 4개의 줄은 솔라리스 복구시 부팅 시디로 부팅, 복구모드로 들어가서 타이핑을 쳐서 작업해줘야 할 부분이다.  
이는 제일 먼저 해줘야할 부분!!!! 

 
AND


# uname -X
System = SunOS
Node = sol-25
Release = 5.10
KernelID = Generic_142910-17
Machine = i86pc
BusType = <unknown>
Serial = <unknown>
Users = <unknown>
OEM# = 0
Origin# = 1
NumCPU = 1

# unma
unma: 없음
#
# uname -a
SunOS sol-25 5.10 Generic_142910-17 i86pc i386 i86pc
# id
uid=0(root) gid=0(root)
#
#
# groups
root other bin sys adm uucp mail tty lp nuucp daemon
# id -a
uid=0(root) gid=0(root) groups=0(root),1(other),2(bin),3(sys),4(adm),5(uucp),6(mail),7(tty),8(lp),9(nuucp),12(daemon)
# users
root root

# w
  1시51분오후  현재 가동중 19분,  2 사용자,  로드 평균: 0.16, 0.23, 0.27
사용자     터미늘           로그인시간  휴지   JCPU   PCPU  활동
root     console       1시41분오후    11     16         /usr/bin/gnome-session
root     pts/3         1시44분오후     3      3      3  sh
# who
root       console       4월 19일  13:41        (:0)     //접속을 위해서 
root       pts/3         4월 19일  13:44        (:0.0)  // ip address
# finger
Login       Name               TTY         Idle    When    Where
root     Super-User            console          Tue 13:41  :0
root     Super-User            pts/3            Tue 13:44  :0.0
#

/var/adm/utmpx    은 접속자의 아이피 주소가 기록되고 수정이 불가한 파일이라, 공격자가 삭제하는 파일중 하나다
======>>>> w, who 

finger 은 각 접속한 사용자의 정보 현황을 알 수 있다.    조작된 정보로 부터 결과를 가져오기 때문에 현업에선 사용안함
예 > finger -lmp (메일확인했는지)



분석적인 접근  = 평균을 항상 인지 하고 있다가 이상이 있으면 확인 


df 는 파티션의 용량을 확인,,, 관리자가 평소 확인해 놓고 있다가. 늘어난 경우 조치를 취할 수 있다.

 
# uptime
  2시20분오후  현재 가동중 47분,  2 사용자,  로드 평균: 0.14, 0.12, 0.17   (5분전, 10분전, 15분전 cpu로드)
#
이후 이상이 있으면 메모리 사용량을 확인해 볼 수 가 있다. 

prstat현재 메모리에서 돌아가는 프로세스의 현황 보기   
# prstat
   PID USERNAME  SIZE   RSS STATE  PRI NICE      TIME  CPU PROCESS/NLWP
   734 root       34M   27M sleep   24    0   0:00:53 5.3% Xorg/1
  1847 root      192M   36M sleep   44    0   0:00:24 2.1% gedit/1
  1814 root      155M   23M sleep   59    0   0:00:08 0.8% gnome-terminal/2
  1426 root       67M 9972K sleep   59    0   0:00:18 0.7% mixer_applet2/1
  1896 root     5076K 2884K cpu0    59    0   0:00:00 0.4% prstat/1
  1189 root      122M   17M sleep   47    0   0:00:03 0.3% metacity/1
   884 noaccess  127M  117M sleep   59    0   0:00:29 0.3% java/18
  1422 root       98M   16M sleep   59    0   0:00:02 0.3% wnck-applet/1
   955 root       37M   33M sleep   59    0   0:00:10 0.3% iiimd/6
  1236 root      138M   31M sleep   59    0   0:00:06 0.3% gnome-panel/1
  1410 root       50M   46M sleep   59    0   0:00:17 0.2% java/30
   958 root       12M 9828K sleep   59    0   0:00:08 0.2% gconfd-2/1
  1424 root       70M   13M sleep   59    0   0:00:04 0.1% gnome-netstatus/1
  1051 root      119M   14M sleep   59    0   0:00:01 0.1% compo
q : 빠져나오기


각 컴퓨터를 구별하는것은 맥주소
포트 = >서비스  => 프로세스  (순방향은 맞지만 역방향은 아닐수도있다)




# netstat -na | more  에서 포트번호 확인하기

TCP: IPv4
   Local Address        Remote Address    Swind Send-Q Rwind Recv-Q    State
-------------------- -------------------- ----- ------ ----- ------ -----------
      *.*                  *.*                0      0 49152      0 IDLE
      *.111                *.*                0      0 49152      0 LISTEN
      *.*                  *.*                0      0 49152      0 IDLE
      *.32771              *.*                0      0 49152      0 LISTEN
      *.32772              *.*                0      0 49152      0 LISTEN
      *.4045               *.*                0      0 49152      0 LISTEN
127.0.0.1.5987             *.*                0      0 49152      0 LISTEN
127.0.0.1.898              *.*                0      0 49152      0 LISTEN
127.0.0.1.32773            *.*                0      0 49152      0 LISTEN
127.0.0.1.5988             *.*                0      0 49152      0 LISTEN
127.0.0.1.32774            *.*                0      0 49152      0 LISTEN
      *.32775              *.*                0      0 49152      0 LISTEN
      *.7100               *.*                0      0 49152      0 LISTEN
      *.32776              *.*                0      0 49152      0 LISTEN
      *.32777              *.*                0      0 49152      0 LISTEN
      *.32778              *.*                0      0 49152      0 LISTEN
      *.32779              *.*                0      0 49152      0 LISTEN
      *.22                 *.*                0      0 49152      0 LISTEN
      *.32780              *.*                0      0 49152      0 LISTEN
      *.6481               *.*                0      0 49152      0 LISTEN
      *.6112               *.*                0      0 49152      0 LISTEN
      *.21                 *.*                0      0 49152      0 LISTEN
      *.23                 *.*                0      0 49152      0 LISTEN
      *.79                 *.*                0      0 49152      0 LISTEN
      *.513                *.*                0      0 49152      0 LISTEN
      *.514                *.*                0      0 49152      0 LISTEN
      *.32781              *.*                0      0 49152      0 LISTEN


  *.* 은 어느 아이피라도 접속가능함  


이스테블리시드나 릴레이티드상태면 통신한다
estabilishd 와 권한이 뚫리면 해킹된것

관리자가 통신상태에 대해 숙지하고 있어야 한다. 


lsof

pgrep




# ps -ef |grep ssh
    root   552     1   0 13:34:01 ?           0:00 /usr/lib/ssh/sshd
# cd /proc/552
# ls
as         contracts  ctl        fd         lpsinfo    lusage     map        pagedata   priv       rmap       sigact     usage      xmap
auxv       cred       cwd        ldt        lstatus    lwp        object     path       psinfo     root       status     watch

# ls
as         contracts  ctl        fd         lpsinfo    lusage     map        pagedata   priv       rmap       sigact     usage      xmap
auxv       cred       cwd        ldt        lstatus    lwp        object     path       psinfo     root       status     watch

# ls -al
총 8278
dr-x--x--x   5 root     root         864  4월 19일  13:34 .
dr-xr-xr-x  89 root     root      130496  4월 19일  15:05 ..
-rw-------   1 root     root     4067328  4월 19일  13:34 as
-r--------   1 root     root         168  4월 19일  13:34 auxv
dr-x------   2 root     root          32  4월 19일  13:34 contracts
-r--------   1 root     root          32  4월 19일  13:34 cred
--w-------   1 root     root           0  4월 19일  13:34 ctl
lr-x------   1 root     root           0  4월 19일  13:34 cwd ->                            ///루트권한으로 실행되고있다 를 보여줌
dr-x------   2 root     root         144  4월 19일  13:34 fd
-r--------   1 root     root           0  4월 19일  13:34 ldt
-r--r--r--   1 root     root         120  4월 19일  13:34 lpsinfo
-r--------   1 root     root         816  4월 19일  13:34 lstatus
-r--r--r--   1 root     root         536  4월 19일  13:34 lusage
dr-xr-xr-x   3 root     root          64  4월 19일  13:34 lwp
-r--------   1 root     root        5280  4월 19일  13:34 map
dr-x------   2 root     root        1056  4월 19일  13:34 object
-r--------   1 root     root        6560  4월 19일  13:34 pagedata
dr-x------   2 root     root        1200  4월 19일  13:34 path
-r--------   1 root     root          72  4월 19일  13:34 priv
-r--r--r--   1 root     root         336  4월 19일  13:34 psinfo
-r--------   1 root     root        5280  4월 19일  13:34 rmap
lr-x------   1 root     root           0  4월 19일  13:34 root ->                             ///루트권한으로 실행되고있다를 보여줌
-r--------   1 root     root        1536  4월 19일  13:34 sigact
-r--------   1 root     root        1136  4월 19일  13:34 status
-r--r--r--   1 root     root         256  4월 19일  13:34 usage
-r--------   1 root     root           0  4월 19일  13:34 watch
-r--------   1 root     root        8360  4월 19일  13:34 xmap

===========================================
신뢰하는 포트와 서비스를 끝까지 확인하는 방법!

ps로 확인하고 pmap으로 맵을 확인해서 마지막까지 신뢰할 수 있는 서비스를 확인한다. 그래야 완벽히 안전함을 증명 , 이후 과정은 리버싱

      netstat 로 열린 포트 확인하고 해당포트의 서비스 확인
-->   ps -ef | grep  으로 프로세서 ID확인  
-->   cd /proc/ID번호    
-->   pmap ID번호 (여기서 참고하는 모든 라이브러리를 보여줌)

# ls -al *map
-r--------   1 root     root        5280  4월 19일  13:34 map
-r--------   1 root     root        5280  4월 19일  13:34 rmap
-r--------   1 root     root        8360  4월 19일  13:34 xmap
 
# pmap 552 | more
552:    /usr/lib/ssh/sshd
08045000      12K rw---    [ stack ]
08050000     308K r-x--  /usr/lib/ssh/sshd
080AD000      12K rw---  /usr/lib/ssh/sshd
080B0000      60K rw---    [ heap ]
D0AD0000       8K r-x--  /usr/lib/locale/ko/methods_ko.so.3
D0AE1000       4K rwx--  /usr/lib/locale/ko/methods_ko.so.3
D0AF0000      60K r-x--  /usr/lib/locale/ko/ko.so.3
D0B0E000       8K rwx--  /usr/lib/locale/ko/ko.so.3
D0B20000      40K r-x--  /usr/sfw/lib/libcrypto_extra.so.0.9.7
D0B3A000       4K rw---  /usr/sfw/lib/libcrypto_extra.so.0.9.7
D0B40000      28K r-x--  /lib/libnvpair.so.1
D0B57000       4K rw---  /lib/libnvpair.so.1
D0B60000      12K r-x--  /lib/libsecdb.so.1
D0B73000       4K rw---  /lib/libsecdb.so.1
D0B80000      56K r-x--  /lib/libmd.so.1
D0B9E000       4K rw---  /lib/libmd.so.1
D0BA0000    1080K r-x--  /lib/libc.so.1
D0CBE000      32K rwx--  /lib/libc.so.1
D0CC6000       8K rwx--  /lib/libc.so.1
D0CD0000      16K r-x--  /lib/libcontract.so.1
D0CE4000       4K rw---  /lib/libcontract.so.1
D0CF0000      12K r-x--  /lib/libcmd.so.1
D0D03000       4K rw---  /lib/libcmd.so.1
D0D10000      44K r-x--  /usr/lib/libgss.so.1
D0D2B000       4K rw---  /usr/lib/libgss.so.1
D0D30000     948K r-x--  /usr/sfw/lib/libcrypto.so.0.9.7
D0E2D000      80K rw---  /usr/sfw/lib/libcrypto.so.0.9.7
D0E41000       8K rw---  /usr/sfw/lib/libcrypto.so.0.9.7
D0E50000      24K r-x--  /usr/sfw/lib/libwrap.so.1.0
D0E60000       4K r--s-  dev:293,3 ino:450694984
D0E66000       4K rw---  /usr/sfw/lib/libwrap.so.1.0
D0E67000       4K rw---  /usr/sfw/lib/libwrap.so.1.0
D0E70000     116K r-x--  /lib/libbsm.so.1
D0E90000      24K rwx--    [ anon ]
D0E9D000      20K rw---  /lib/libbsm.so.1
D0EA2000       4K rw---  /lib/libbsm.so.1
D0EB0000      24K r-x--  /lib/libpam.so.1
D0EC0000       4K rwx--    [ anon ]
D0EC6000       4K rw---  /lib/libpam.so.1
D0ED0000      60K r-x--  /usr/lib/libz.so.1
D0EE0000       4K rwx--    [ anon ]
D0EEE000       4K rwx--  /usr/lib/libz.so.1
D0EF0000     516K r-x--  /lib/libnsl.so.1
D0F81000      20K rw---  /lib/libnsl.so.1
D0F86000      32K rw---  /lib/libnsl.so.1
D0F90000      44K r-x--  /lib/libsocket.so.1


'OS > Solaris' 카테고리의 다른 글

0425 공부 정리 <압축, 하드디스크 추가, 파티션 할당 및 마운트>  (0) 2011.04.26
0421 vi 정리 및 내용정리  (0) 2011.04.26
0419 공부정리  (0) 2011.04.26
유닉스 권한 비교  (0) 2011.04.26
기본명령어 정리 -  (0) 2011.04.22
AND

0419 공부정리

OS/Solaris 2011. 4. 26. 00:53
파일 inode는 주민번호처럼 유일하다.
 
링크카운터가 가리키는 의미 파일과 inode한개가 연결되면 링크카운터는 1     자기 바로 밑에 (자식은 부모에게만 )것만 반영을 한다.     디렉토리는 디폴트가 2 

ls -il
ls -ld
ls -R 하위까지
ls -F속성

ls -lt 수정시간
ls -lut 엑세스시간    t 옵션은 최근 우선순위로 정렬

touch 
1. 크기가 0인 파일 생성
2. 수정된 시간을 갱신(퇴근시 해놓고 출근해서 확인하면 해킹여부 확인- 실제론 이렇게 안한다(업무의 연속성을 건드리기때문))

데이터의 무결성 검사시 - 파일의 날짜 시간을 텍스트파일로 저장해 놓고 비교

리다이렉션 기호 > , 어팬드 >>

ctrl + D 콘솔종료
ctrl + C 프로세스 종료

mkdir  -p옵션    부모 디렉토리가 없어도 한꺼번에 만든다. 

cp 는 데이터를 복제 하여 새로운 inode랑 연결
디렉토리통째로 cp할때 -r옵션

diff는 비교하는 명령어

디렉토리에 아리을 집어 넣어도 디렉토리 자체에 대한 표시 용량은 증가하지 않는다. ==> 이말은 이 디렉토리가 가지고 있는 공간이 처음부터 정해져서 할당되었다는뜻이다. 

cp 를 쳐도 cp -i처럼 확인질문을 할 수 있게 해주는거, alias

mv inode안의 데이터영역 위치정보를 수정하는 것
1. 옮기기
2. 이름바꾸기

uname -X   시스템 서머리정보
 
id 자기 번호, 그룹번호 확인가능

















AND