솔라리스 서버를 새로 설치 했다면 네트워크를 위한
다음과 같은 기본적인 설정이 필요합니다.

1. etc/hosts
=>hostname 이란 자신의 시스템에 IP주소와 컴퓨터 이름(hostname)을 설정하는 파일입니다.
편집은 vi editer로 하면 됩니다.

ex)
#vi /etc/hosts
127.0.0.1 localhost
168.10.10.1 test www.test.com

ip 주소와 hostname은 순서대로 입력해야 하며,순서가 바뀌면 안되며 또한 둘 사이에
공백이 반드시 있어야 합니다.


2. etc/defaultrouter
기본 Gateway를 지정하는 파일이며, 기본적으로 생성되어 있지 않기 때문에 vi editer를
이용해서 만들어 주면 됩니다. 부팅시 defaultrouter를 찾을 때 참조하는 파일이므로
중요한 파일 입니다.

ex)
#vi etc/defaultrouter
192.168.10.254

3. etc/nsswitch.conf
=>네임 서버를 지정하는 파일 입니다.대부분 domain name service를 많이 사용하므로 DNS를
입력하면 됩니다.

ex)
vi etc/nsswitch.conf
passwd: files
group: files
hosts: files <---요부분을 hosts : dns files 바꿔 주면 됩니다. 그럼 hosts에 파일을 먼저
참조하는것이 아니라 dns를 먼저 참조한다는 뜻입니다.

4. etc/resolv.conf
=>3번에서 지정한 네임버서를 실직적으로 지정해주는 파일 입니다. 이 파일 역시 없을수
있으므로 vi editer를 이용해서 새로 만들어 주면 됩니다.
자신이 속한 domain이 nuri.net이고, nameserver가 210.116.105.164 이라면 아래와 같은
내용을 적어주면 됩니다.

domain nuri.net
nameserver 210.116.105.164

5. 네트워크 연결
위와 같이 제대로 설정이 되었다면 설정된 파일이 적용되게 하기 위해서 한번 정도 리부팅 하는
것이 좋습니다.
2005/07/04 14:38 2005/07/04 14:38
solaris에서 showrev -p 로 패치정보 대한 설명좀

patch:108528-11 obsoletes:108874-01 requires:188704-01 incompatibles:109236-01 Packages:SUNWafb

PATCH: 패치 번호
OBSOLETES: 이 패치로 인해 필요 없게된 패치번호
REQUIRES: 이 패치를 설치하기 위해 필요한 패치번호
INCOMPATIBLES: 공존할 수 없는 패치 번호.
PACKAGES: 패치되는 패키지들
2005/07/04 14:38 2005/07/04 14:38
Q. sparc 에 솔라리스8을 깔았습니다.
근데..좀 쓰다가 안쓰고 시간이 좀 지나면
컴이 그냥 꺼져버립니다.마치 화면보호기 작동해서 그뒤로 컴이 꺼졌다가 살아나지 못하는듯하게..
이게 무슨 현상인지?

A. 설치 후에 일정시간동안 유휴상태가 되면 자동으로 전원을 끄겠냐고 물어보는 항목이 있습니다. 아마 거기서 yes로 대답하셔서 파워메니지먼트가 작동되는것 같습니다.

이걸 끄는 방법은 두가지가 있습니다.

첫번째는 /etc/rc2.d/S85power를 /etc/rc2.d/s85power로 파일네임을 변경하는것입니다.

두번째는 powerd의 설정파일인 /etc/power.conf에서 아래와같이 내용을 변경해주시면 됩니다.

# Auto-Shutdown Idle(min) Start/Finish(hh:mm) Behavior
autoshutdown 30 9:00 9:00 noshutdown

Behavior 부분을 noshutdown으로...
2005/07/04 14:37 2005/07/04 14:37
Q. 솔라리스를 쓰고 있는데 처음에 CDE로그인 창 뜨고
ID/패스워드 입력하고나면 Welcome 화면 으로 넘어 가는데 모래시계표시 되고 더이상 진행이 안됩니다.
텔넷이나 일반 써비스는 정상입니다. 왜 그런것죠?

A. 먼저 rpcbind daemon이 떠 있는지 부터 확인해 보세요..
만약 daemon이 정상적으로 떠 있다면
옵션--> 명령줄 로그인 클릭하면 흰화면에 login이라고 떨어질겁니다.
그러면 id랑 passwd 넣고 들어간 다음에
/usr/dt/config/dtlogin.rc stop후
/usr/dt/config/dtlogin.rc start 하고 나서 ctrl+d를 눌러서 다시 테스트
해보세요..
2005/07/04 14:37 2005/07/04 14:37
아래의 예를 보면 쉽게 이해 하실 수 있습니다.

ex)
[root@op /]# mkdir -p /home2/test/test/test
[root@op /]# cd /home2/test
[root@op test]# ls -al
합계 12
drwxr-xr-x 3 root root 4096 10월 30 02:48 .
drwxr-xr-x 20 root root 4096 10월 30 02:48 ..
drwxr-xr-x 3 root root 4096 10월 30 02:48 test
[root@op test]# cd test
[root@op test]# ls
test

디렉토리를 만들때 위와 같이 p옵션을 서브디렉토리내에
원하는 디렉토리를 한번에 만들 수 있습니다.
2005/07/04 14:36 2005/07/04 14:36
아래와 같이 하시면 됩니다.

[root@op test]# ipcs -m -a

------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x00000000 0 root 600 46084 6 dest

------ Semaphore Arrays --------
key semid owner perms nsems status

------ Message Queues --------
key msqid owner perms used-bytes messages
2005/07/04 14:36 2005/07/04 14:36

[Solaris] quota설정

Solaris 2005/07/04 14:35
예) /data3 file system에대하여 각 사용자에게 quota를 할당하고 싶은 경우

1. /etc/vfstab 수정.

/dev/dsk/c0t1d0s6 /dev/rdsk/c0t1d0s6 /data3 ufs 1 yes rq

/etc/vfstab에 위와 같이 마지막 항목을 "rq"로 지정한다.

2. quota를 사용하고 싶은 화일시스템의 mouting point에 가서 다음의 명령어를 실행한다.

# cd /data3
# touch quotas
# chmod 600 quotas

3. 각 사용자별로 quota량을 지정한다.

# edquota user-id
fs /data3 blocks (soft = 100, hard = 100) inodes (soft = 100, hard = 110)

block은 1KB단위.
soft의 한계가 넘으면, 경고메세지가 출력되고, hard한계를 넘으면 file creat가
수행이 되지 않음.

위와 같이 quota를 지정한 경우 /data3 화일 시스템에 사용자의 disk 사용량이 100KB를
넘어서면 경고 메세지가 출력되고 110KB에 달하면 더이상 /data3 화일 시스템에 화일을
만들수 없으며, owner가 user-id로 되어있는 화일의 갯수도 100개가 넘어서면 경고 메세지가 출력
되고, 또한 111개 이상의 화일은 만들 수 없다.

4.한 사용자의 quota를 다른 사용자에게 copy하는 경우

예) 사용자 aa와 같은 quota를 사용자 bb에게 할당하려면

# edquota -p aa bb

5. 현재 사용자가 사용하고 있는 quota 양을 알아보려면

# quota -v user-id

6. 시스템을 재 부팅시하지 않고 quota enable이 되게 하려면 아래와 같이 실행 한다.

# sh /etc/init.d/ufs_quota start

disable하려면

# sh /etc/init.d/ufs_quota stop

7. man page 참조

quota, edquota, checkquota, repquota, quotaon, quotaoff

[썬자료]
2005/07/04 14:35 2005/07/04 14:35
prom상태에서 시스템의 하드웨어적인 부분을 진단하는 방법

1) On-Board Diagnostics는 시스템의 boot PROM(EPROM)에존재하고 테스트 프로그램 은
POST가 완료된후 실행

2) 테스트 방법

ok test net (자동설정된 이더넷 인터페이스의 internal, external 으로 test합니다.)
ok test scsi (Main board안의 scsi Interface를 check 합니다.)
ok watch-net (자동적으로 선택하는것 AUI, TPE)
ok watch-tpe (10BaseT or TP check)
ok watch-net-all (Ethernet Monitoring 을 하는것이며, SBUS의 카드도 Check합니다.)
ok probe-scsi (Target Address, Unit Number, Device Type,
Manufactur name)
ok probe-scsi-all (모든 scsi device check)
ok test-all (HDD , FDD, Tape Drive, CD_ROM 등등 test)
ok test-memory (memory test)
ok test-net-tpe (Ethernet cable이 연경된 상태에서 내부 외부 TPE check)
ok test-disk (내부 외부 scsi disk test함)
ok test ttya
ok test ttyb
ok test keyboard
2005/07/04 14:34 2005/07/04 14:34
ls -la | grep "^d" : 숨은 디렉토리까지 보여 줌.

ex)
[root@op etc]# ls -al | grep "^d"
drwxr-xr-x 59 root root 4096 10월 29 05:36 .
drwxr-xr-x 20 root root 1024 10월 30 02:01 ..
drwxr-xr-x 3 root root 1024 3월 24 2003 .java
drwxr-xr-x 3 root root 1024 3월 23 2003 CORBA
drwxr-xr-x 3 root root 1024 3월 23 2003 FreeWnn
drwxr-xr-x 17 root root 1024 7월 6 18:44 X11
drwxr-xr-x 4 root root 1024 3월 23 2003 alchemist
drwxr-xr-x 2 root root 1024 9월 19 22:15 alternatives

위와 같이 숨어 있는 디렉토리도 보여줍니다.
아래와 같이 치면 그냥 디렉토리만 보여줍니다.
ls -l | grep "^d"
2005/07/04 14:34 2005/07/04 14:34
특정 아이피에서 자신의 서버로 계속해서 스캔을 하거나
또는 공격을 할때 iptable나 커널 자체에서 지원하지
않게 컴파일 했을 경우 아래와 같이 간단하게 해당 ip를
막을 수 있습니다.

막을 ip를 168.10.10.1로 가정했을 때

#route add -host 168.10.10.1 reject

위와 같이 하면 168.10.10.1 에서는 엑세스 하지 못합니다.
2005/07/04 14:33 2005/07/04 14:33
at 명령어는 명령실행시간을 정하여 그시간에 실행하게 해줍니다.

다음 예제는 at명령어를 사용한 예입니다.

ex)
[root@op bin]# at 09:12pm oct 28
위 내용은 10월 28일 오후 9시 12분에 at명령을 실행하라는 것입니다.

at> rm /home2/isseo/dirfile
위 커멘드 라인은 실행할 작업을 지정해주는 것입니다.
/home2/isseo/dirfile 이라는 file을 삭제해주라는 명령어 입니다.

at>
job 1 at 2003-10-28 21:12
control+D로 마무리 하면 위와 같이 작업 일시를 확인하는 메세지가 나옵니다.

위 시간에 지정해 놓은 명령어는 실행이 됩니다..
다른 명령어들을 지정해 줘서 사용하셔도 마찬가지로 실행이 됩니다.
2005/07/04 14:31 2005/07/04 14:31
ls를 사용하여 파일의 크기를 알아보기 위해서는 -l 과 -s 옵션을 주로 사용 합니다.

-l 옵션은 바이트 단위로 파일들의 크기를 나타내고 긴라인으로 파일들의 퍼미션과
주소 소유자와 그룹 그리고 사이즈를 보여 줍니다.

그라구 -s옵션은 지금 현재 디렉터리의 총 사이즈를 보여주고 파일들의 AF_UNIX
address family socket 을 보여 줍니다.

아래는 ls를 이용하여 용량이 큰 파일을 찾아내는 방법과 최근 만들어진 파일을 확인
하는 방법 입니다.

ex) sort -nr을 이용한 큰 파일 순으로 잡아내기

[root@op isseo]# ls -s | sort -nr | more
20220 mydocu.zip
4952 bind-9.2.2.tar.gz
3036 쉘 Secure CRT 4.01zip
1476 work_html(2).zip
456 nmap-3.48-1.i386.rpm
128 kissyweb_navigation_34.zip
72 Favorites(2).zip
20 mod_dosevasive.1.8.tar.gz
4 flash
4 test.sh
4 mod_dosevasive
4 html
4 bind-9.2.2
4 back.sh

ex) 최근 시간순으로 만들어진 파일 열거 하기

[root@op isseo]# ls -t | more
test.sh
back.sh
mod_dosevasive.1.8.tar.gz
nmap-3.48-1.i386.rpm
work_html(2).zip
플레쉬
kissyweb_navigation_34.zip
html
2005/07/04 14:30 2005/07/04 14:30
유닉스에서 갈무리 기능은 작업 히스토리 보관이나 메뉴얼 정리
등 여러가지 측면에서 활용도가 높습니다.

아래는 유닉스 갈무리 기능의 활용 예입니다. (리눅스 서버를 이용하였습니다.)

[root@op home2]# script test
Script started, file is test
갈무리 기능을 시작합니다.

ls, ps등 명령어나 다른 작업들을 하신 후
control+D를 누르면 아래와 같은 메세지가 나오면서 test라는 파일이 생깁니다.

[root@op home2]# Script done, file is test

[root@op home2]# ls
Disk1 dolmuri hkis isseo kknight1 oracle
brainjam dolmuri1 html kan646 lost+found shupong
dol dolmuri2 huntsman kingmaeda mysql test

vi를 사용하여 test라고 생성된 파일을 열어보면 작업했던 화면에 나온대로
갈무리가 됩니다..
위 명령어는 HP-UNIX, SUN-solaris, linux 모두에서 동작되는 명령어 입니다.
2005/07/04 14:30 2005/07/04 14:30
SMTP port를 이용하여 자신의 서버에서 sendmail 이 잘되는지 테스트 할수 있습니다.

# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 idial-pop.nuri.net ESMTP Inet Hosting, Inc. Mail eXchanger (info@inet.co.kr)

HELO isseo -----> isseo라는 이름으로 접속합니다.
250 idial-pop.nuri.net Hello localhost [127.0.0.1], pleased to meet you
Mail FROM: -----> 보내는 쪽의 메일 주소를 씁니다.
250 2.1.0 ... Sender ok
RCPT TO: -----> 받는 쪽의 메일 주소를 씁니다.
250 2.1.5 ... Recipient ok
DATA
354 Enter mail, end with "." on a line by itself
testing
^^v test test test test test -----> 내용을 입력합니다.
.
250 2.0.0 h9SFq5MD025278 Message accepted for delivery
quit --->종료
221 2.0.0 idial-pop.nuri.net closing connection
Connection closed by foreign host.

위와 같이 순조롭게 진행 된다면 정상입니다.

받는 메일 ( isseo@inet.co.kr ) 에게는
testing
^^v test test test test test 라는 내용으로 메일이 전달 됩니다.
2005/07/04 14:29 2005/07/04 14:29
리눅스의 rpm과 마찬가지로 솔라리스에서도 거의 모든 오퍼레이팅이
패키지화 되어 있습니다.
솔라리스의 패키지는 sunfreeware.com에서 쉽게 구하실 수 있습니다.

아래는 패캐지 관련 명령어와 사용 방법입니다.

1. pkgchk : 패캐지를 채크 합니다.

ex)
# pkgchk -l -p /usr/bin/mkdir ----> -l 은 리스트를 말하며 -p는 위치를 의미하는 옵션 입니다.

Pathname: /usr/bin/mkdir
Type: regular file
Expected mode: 0555
Expected owner: bin
Expected group: bin
Expected file size (bytes): 10264
Expected sum(1) of contents: 4598
Expected last modification: 10월 06 16:42:34 1998
Referenced by the following packages:
SUNWcsu
Current status: installed

위와 같은 결과를 보여 줍니다.

2. pkginfo : 인스톨 되어 있는 패캐지 리스트를 보여 줍니다.

ex)

# pkginfo
system AUBtocsin Auburn Univ. Engineering tocsin network scan detector
system FJSVhea SunOS Header Files for FUJITSU platform specific
system FJSVvplr Fujitsu platform specific symlinks (Root)
system FJSVvplu Fujitsu platform specific symlinks (user)
application FSFgzip gzip
application GLIB glib
application GNUbash bash
tools GNUgzip GNU gzip
tools GNUrcs GNU rcs and diffutils
application GNUwget wget
application GTK+ gtk+
system INTACT INTACT Change Detection System
application IZzip zip
application JSparm parm V5.0b2 - Performance Analysis Report Maker
application LWperl perl
application MHmpg123 mpg123
system MRsnort Marty Roesch's Snort (/usr/local)
utility NRMXkstat NRM Xkstat 0.90 SPARC Solaris 7
application NSCPcom Netscape Communicator
tools PARCdaily DailyCronJob
application PPkde KDE Desktop (PatriotSoft Packages)
application PPqtgif QT (PatriotSoft Packages)
...

3. pkgadd : 패캐지를 Add(설치) 합니다.

ex)
# pkgadd -d ntop-1.1-sol7-sparc-local

다음과 같은 패키지를 사용할 수 있습니다.
1 SMCntop ntop
(sparc) 1.1

처리할 패키지(들)를 선택하십시오.(또는 모든 패키지를
처리하려면'all'을 입력하십시오.) (default: all) [?,??,q]:all

4. pkgrm : 패키지를 지웁니다.

ex)
# pkgrm SMCntop ---> 이렇게 하면 SMCntop만 지워지겠죠.
현재 설치되어 있는 패키지는 다음과 같습니다:
SMCntop ntop
(sparc) 1.1

이 패키지를 제거하겠습니까? y

# pkgrm ----> 패캐지 리스트를 열거해줌으로 선택하여 지울수 있습니다.

5. pkgproto : prototype file 의 형태를 보여 줍니다.

ex)

# cd /usr/local/apache
# find . -print | pkgproto > prototype ----> 형태를 prototype 파일에 저장 합니다.
d none bin 0755 root other
f none bin/httpd 0755 root other
f none bin/ab 0755 root other
f none bin/apachectl 0755 root other
f none bin/htpasswd 0755 root other
f none bin/htdigest 0755 root other
f none bin/dbmmanage 0755 root other
f none bin/logresolve 0755 root other
f none bin/rotatelogs 0755 root other
f none bin/apxs 0755 root other
d none libexec 0755 root other
d none man 0755 root other
d none man/man1 0755 root other
f none man/man1/htpasswd.1 0644 root other
f none man/man1/htdigest.1 0644 root other
f none man/man1/dbmmanage.1 0644 root other
d none man/man8 0755 root other
f none man/man8/httpd.8 0644 root other
f none man/man8/ab.8 0644 root other
f none man/man8/apachectl.8 0644 root other
f none man/man8/logresolve.8 0644 root other
f none man/man8/rotatelogs.8 0644 root other
f none man/man8/apxs.8 0644 root other
....

여기서 f는 파일을 의미하며 d는 디렉터리를 의미합니다. 위에서 보듯이 퍼미션 코드와 유저 그룹도
알수 있습니다...
2005/07/04 14:28 2005/07/04 14:28
login을 접근 했다가 실패한 경우 그 로그를 저장 할수 있습니다.
만약 솔라리스 서버에서 /var/adm/loginlog 파일이 없다면 아래와
같이 생성하여 사용할 수 있습니다.

다음과 같은 작업으로 log파일을 저장할수 있습니다.
슈퍼 유저에서 합니다.

# touch /var/adm/loginlog
# chmod 600 /var/adm/loginlog
# chgrp sys /var/adm/loginlog

#more loginlog
michaelk:/dev/pts/24:Mon Sep 22 15:22:27 2003
michaelk:/dev/pts/24:Mon Sep 22 15:22:48 2003
michaelk:/dev/pts/24:Mon Sep 22 15:23:07 2003
michaelk:/dev/pts/24:Mon Sep 22 15:24:03 2003
4321:/dev/pts/19:Fri Oct 10 11:25:45 2003
guest:/dev/pts/19:Fri Oct 10 11:26:16 2003
guest:/dev/pts/19:Fri Oct 10 11:26:44 2003
guest:/dev/pts/19:Fri Oct 10 11:27:08 2003
guest:/dev/pts/19:Fri Oct 10 11:27:35 2003
agere:/dev/pts/3:Sat Oct 11 19:10:10 2003
agere:/dev/pts/3:Sat Oct 11 19:10:19 2003
agere:/dev/pts/3:Sat Oct 11 19:10:39 2003
agere:/dev/pts/3:Sat Oct 11 19:11:01 2003
agere:/dev/pts/3:Sat Oct 11 19:11:17 2003
guest:/dev/pts/28:Mon Oct 27 17:30:12 2003
guest:/dev/pts/28:Mon Oct 27 17:30:19 2003
info:/dev/pts/28:Mon Oct 27 17:30:30 2003
info:/dev/pts/28:Mon Oct 27 17:30:37 2003
info:/dev/pts/28:Mon Oct 27 17:30:45 2003

위의 결과를 토대로 로그인 실패된 유저에 대해서
확인해 볼 필요가 있습니다. (보안상의 이유)
2005/07/04 14:28 2005/07/04 14:28
1.login 유저 status 알아 보기

su 계정에서 logins 명령어를 이용해서 알아 볼수 있습니다.

ex)
# logins -x -l isseo
isseo 318799 test 9102
/hosting/isseo
/bin/csh
LK 010170 0 0 0

isseo : login user를 나타냅니다.
318799: UID를 나타냅니다.
test : 유저가 속한 그룹입니다.
9102 : 그룹 ID를 나타 냅니다.
/hosting/isseo : 유저 디렉터리를 나타 냅니다.
/bin/csh : 사용자의 쉘을 의미 합니다.
LK 010170 0 0 0 : 패스워드 관계 파일 입니다.
마지막으로 패스워드를 바꾼 날짜와 바꿀시간등을 나타 냅니다.

2. 패스워드가 없는 유저 알아보기

다음과 같은 명령어로 알아 볼 수 있습니다.
# logins -p
2005/07/04 14:27 2005/07/04 14:27
솔라리스 시스템에서 갑작스런 패닉 현상이 나타나게 되면 보통 crash 디렉터리를 지정을
하지 않았다면 /var/crash/[hostnam]/ 밑에 unix 파일과 core 파일을 남깁니다..

그 파일을 이용하여 시스템 패닉전에 무슨일이 있었는지 분석이 가능 합니다.

아래는 분석에 사용하는 명령어들과 보기입니다.

우선 core 파일과 unix파일이 있는 디렉터리로 이동 합니다. ( /var/crash/[hostname] )

1. strings

# strings vmcore.0 | grep SunOS ---> OS 의 종류를 보여준다.

# strings vmcore.0 | grep macine ---> 어떤 호스트인지 열거 하여 준다.

# strings vmcore.0 | more ---> 다 보여준다.

2. netstat

# netstat -d unix.0 vmcore.0 --> 네트웍 통계보기

# netstat -n unix.0 vmcore.0 --> NFS통계보기

3. arp

# arp -a unix.0 vmcore.0 --> arp 테이블보기

4. ipcs

# ipcs -a -N unix.0 -C vmcore.0 --> ipc 보기


5. crash

사용법 : crash [ -d dumpfile ] [ -n namelist ] [ -w output-file ]

예)

# crash -d unix.0 vmcore.0
dumpfile = vmcore.0, namelist = /dev/ksyms, outfile = stdout
> status
system name: SunOS
release: 5.7
node name: ns
version: Generic_106541-15
machine name: sun4u
time of crash: 수 11월 7 11:23:10 2001
age of system: 1 hr., 6 min.
panicstr: [AFT1] errID 0x000003a4.70f365cc %sError(s)
See previous message(s) for details
panic registers:
pc: 10010104 sp: 400275d8
> help
help [-w filename] function[s]
help function
alias:
acceptable aliases are uniquely identifiable initial substrings
> help p
p [-e] [-f] [-l] [-w filename] [([-p] [-a] tbl_entry | #procid)... | -r]
tbl_entry = slot number | address | symbol | expression | range
process table
alias: proc
acceptable aliases are uniquely identifiable initial substrings
p -e
PROC TABLE SIZE = 2922
SLOT ST PID PPID PGID SID UID PRI NAME FLAGS
0 t 0 0 0 0 0 96 sched load sys lock
1 s 1 0 0 0 0 58 init load
2 s 2 0 0 0 0 98 pageout load sys lock nowait
3 s 3 0 0 0 0 60 fsflush load sys lock nowait
4 s 347 1 347 347 0 58 sac load jctl
5 s 350 1 350 350 0 37 dmispd load
6 s 138 1 138 138 0 41 keyserv load
7 s 53 1 53 53 0 43 devfseventd load
8 s 57 1 57 57 0 50 devfsadm load
9 s 136 1 136 136 0 58 rpcbind load
10 s 205 1 205 205 0 53 nscd load
11 s 130 1 130 130 60001 58 tocsin load
12 s 188 1 188 188 0 52 syslogd load
13 s 178 1 178 178 0 58 automountd load
14 s 170 1 170 170 0 58 in.named load jctl
15 s 163 1 163 163 0 0 inetd load
16 s 233 228 228 228 1006 23 mshttpd load
17 s 300 267 0 0 0 58 mysqld load
18 s 193 1 193 193 0 49 cron load
19 s 232 228 228 228 1006 33 mshttpd load
20 s 228 1 228 228 0 59 mshttpd load
21 s 234 228 228 228 1006 13 mshttpd load
22 s 235 228 228 228 1006 3 mshttpd load
23 s 236 228 228 228 1006 0 mshttpd load
24 s 249 1 249 249 0 58 utmpd load
25 s 267 1 0 0 0 10 safe_mysqld load
26 s 253 1 253 253 0 58 sendmail load jctl
27 s 265 1 265 265 0 58 httpd load
28 s 10139 265 265 265 60001 58 httpd load
29 s 10146 265 265 265 60001 58 httpd load
30 s 10141 265 265 265 60001 58 httpd load
31 s 10151 265 265 265 60001 58 httpd load
32 s 10140 265 265 265 60001 58 httpd load
33 s 281 1 279 279 0 60 auditd load
36 s 331 1 331 331 0 48 dtlogin load jctl
37 s 325 1 325 325 0 23 mountd load
38 s 327 1 327 327 0 33 nfsd load
40 s 351 347 347 347 0 58 listen load nowait jctl
41 s 348 1 348 348 0 55 ttymon load
42 s 14566 331 14566 14566 0 59 Xsun load
43 s 352 347 347 347 0 58 ttymon load jctl
44 s 10137 265 265 265 60001 53 httpd load
50 s 14585 1 14574 14574 0 59 fbconsole load
55 s 14605 14574 14605 14605 0 59 dtgreet load
60 s 14574 331 14574 14574 0 50 dtlogin load
71 s 10150 265 265 265 60001 58 httpd load
76 s 10138 265 265 265 60001 58 httpd load
82 s 11077 265 265 265 60001 58 httpd load
90 s 11085 265 265 265 60001 58 httpd load
> p -l
p_lock: owner 0 waiters 0
cr_lock: owner 0 waiters 0
Condition variable p_cv: 0
Condition variable p_flag_cv: 0
Condition variable p_lwpexit: 0
Condition variable p_holdlwps: 0
Condition variable p_srwchan_cv: 0
82 s 11077 265 265 265 60001 58 httpd load

p_lock: owner 0 waiters 0
cr_lock: owner 0 waiters 0
Condition variable p_cv: 0
Condition variable p_flag_cv: 0
Condition variable p_lwpexit: 0
Condition variable p_holdlwps: 0
Condition variable p_srwchan_cv: 0
90 s 11085 265 265 265 60001 58 httpd load
.
.
.
. 이하생략..

> q

6. adb 사용하기

# adb -k unix.0 vmcore.0 ( unix파일이나 core파일 대신 커널쪽을 볼수도 있다 ex> adb -k /dev/ksyms /dev/mem )
adb -k unix.0 vmcore.0
physmem 5b01
*panicstr/s ---> 패닉 메세지가 무엇이었나 보여준다.
0x40027768: [AFT1] errID 0x000003a4.70f365cc %sError(s)
See previous message(s) for details
$ 호스트 이름과 장비에 관해 열거해준다.

utsname:
utsname: sys SunOS
utsname+0x101: node ns
utsname+0x202: release 5.7
utsname+0x303: version Generic_106541-15
utsname+0x404: machine sun4u

srpc_domain/s ---> 도메인
srpc_domain:
srpc_domain:

hw_provider/s ---> 제조업체
hw_provider:
hw_provider: Sun_Microsystems

*time-(lbolt%0t100)=Y --->부트시간/날짜
2001 Oct 6 21:26:01

$ 최근 메세지 버펄를 열거 하여 준다
SunOS Release 5.7 Version Generic_106541-15 [UNIX(R) System V R
elease 4.0]
0x700b57e0: Copyright (c) 1983-1999, Sun Microsystems, Inc.
0x700b53c3: Ethernet address = 8:0:20:86:23:9e
0x700b4fa0: mem = 196608K (0xc000000)
0x700b4b80: avail mem = 188989440
0x700b4763: root nexus = Sun Ultra 1 SBus (UltraSPARC 167MHz)
0x700b4343: sbus0 at root: UPA 0x1f 0x0 ...
0x70155ee3: sbus0 is /sbus@1f,0
0x70155ac0: dma0 at sbus0: SBus0 slot 0xe offset 0x8400000
0x701556a3: dma0 is /sbus@1f,0/espdma@e,8400000
0x70155280: /sbus@1f,0/espdma@e,8400000/esp@e,8800000 (esp0):
esp-options=0x46
0x70154e60: esp0 at dma0: SBus0 slot 0xe offset 0x8800000 Onboard device spa
rc9 ipl 4
0x70154a43: esp0 is /sbus@1f,0/espdma@e,8400000/esp@e,8800000
0x70154620: NOTICE: Memory scrubber exiting
0x70154200: sd0 at esp0:
0x70177d40: target 0 lun 0
0x70177923: sd0 is /sbus@1f,0/espdma@e,8400000/esp@e,8800000/sd@0,0
0x70177500:
0x701770e0: sd1 at esp0:
0x70176cc0: target 1 lun 0
0x701768a3: sd1 is /sbus@1f,0/espdma@e,8400000/esp@e,8800000/sd@1,0
0x70176480:
0x70176060: sd4 at esp0:
0x70179c00: target 4 lun 0
0x701797e3: sd4 is /sbus@1f,0/espdma@e,8400000/esp@e,8800000/sd@4,0
0x701793c0:
0x70178fa0: sd6 at esp0:
0x70178b80: target 6 lun 0
0x70178763: sd6 is /sbus@1f,0/espdma@e,8400000/esp@e,8800000/sd@6,0
0x70178347: root on /sbus@1f,0/espdma@e,8400000/esp@e,8800000/sd@0,0:a fstyp
e ufs
0x700efee0: zs0 at sbus0: SBus0 slot 0xf offset 0x1100000 Onboard device spa
rc9 ipl 12
0x700efac3: zs0 is /sbus@1f,0/zs@f,1100000
0x700ef6a0: zs1 at sbus0: SBus0 slot 0xf offset 0x1000000 Onboard device spa
rc9 ipl 12
0x700ef283: zs1 is /sbus@1f,0/zs@f,1000000
0x700eee66: keyboard is major <29> minor <2>
0x700eea46: mouse is major <29> minor <3>
0x700ee626: stdin is major <29> minor <2>
0x700ee200: cgsix0 at sbus0: SBus0 slot 0x1 offset 0x0 SBus level 5 sparc9 i
pl 9
0x7015fea3: cgsix0 is /sbus@1f,0/cgsix@1,0
0x7015fbe1: cgsix0: screen 1152x900, single buffered, 1M mappable, rev 11
0x7015f926: stdout is major <39> minor <0>
0x7015f660: cpu0: SUNW,UltraSPARC (upaid 0 impl 0x10 ver 0x22 clock 167 MHz)
0x7015f3a0: ledma0 at sbus0: SBus0 slot 0xe offset 0x8400010
0x7015f0e0: le0 at ledma0: SBus0 slot 0xe offset 0x8c00000 Onboard device sp
arc9 ipl 6
0x7015ee23: le0 is /sbus@1f,0/ledma@e,8400010/le@e,8c00000
0x7015eb63: dump on /dev/dsk/c0t0d0s1 size 1000 MB
0x7015e8a2: pseudo-device: devinfo0
0x7015e5e3: devinfo0 is /pseudo/devinfo@0
0x7015e320: fd0 at sbus0: SBus0 slot 0xf offset 0x1400000 Onboard device spa
rc9 ipl 11
0x7015e063: fd0 is /sbus@1f,0/SUNW,fdtwo@f,1400000
0x70559d60: sbusmem0 at sbus0: SBus0 slot 0x0 offset 0x0
0x70559aa3: sbusmem0 is /sbus@1f,0/sbusmem@0,0
0x705597e0: sbusmem1 at sbus0: SBus0 slot 0x1 offset 0x0
0x70559523: sbusmem1 is /sbus@1f,0/sbusmem@1,0
0x70559260: sbusmem2 at sbus0: SBus0 slot 0x2 offset 0x0
0x70558fa3: sbusmem2 is /sbus@1f,0/sbusmem@2,0
0x70558ce0: sbusmem3 at sbus0: SBus0 slot 0x3 offset 0x0
0x70558a23: sbusmem3 is /sbus@1f,0/sbusmem@3,0
0x7042b70b: WARNING: [AFT1] EDP event on CPU0 Data access at TL=0, errID 0x0
00003a4.70f365cc
AFSR 0x00000000.80400002 AFAR 0xffffffff.ffffffff
AFSR.PSYND 0x0002(Score 95) AFSR.ETS 0x00 Fault_PC 0x1018af18
UDBH 0x0000 UDBH.ESYND 0x00 UDBL 0x0000 UDBL.ESYND 0x00
0x7055834b: [AFT2] errID 0x000003a4.70f365cc No error found in ecache (No fa
ult PA available)
0x70558080: panic[cpu0]/thread=40027e60:
0x70558b80: [AFT1] errID 0x000003a4.70f365cc EDP Error(s)
See previous message(s) for details
0x70154fc0:
0x7015f7c3: syncing file systems...
0x7015fd43: [4]
0x7015f243: [4]
0x7015f500: panic[cpu0]/thread=4003fe60:
0x700ef800: panic sync timeout
0x7015ea00:
0x700efc23: dumping to /dev/dsk/c0t0d0s1, offset 209780736

$c ---> C 스택 역추적
complete_panic(0xf,0x10437c00,0x40027e60,0x7011478a,0x0,0x10107880) + 24
do_panic(0x1,0x40027954,0x10107f70,0x0,0x0,0x400277bb) + 174
vcmn_err(0x3,0x40027768,0x40027954,0x7efefeff,0x81010100,0xff00) + 14
cpu_aflt_log(0x400278f8,0x400277bb,0x40027978,0x3,0x1010785c,0x10107880) + 4c0

rootfs$ 루투장치는 어떤것인가

rootfs:
rootfs: fstype ufs^@^@^@^@^@^@^@^@^@^@^@^@^@
rootfs+0x10: name /sbus@1f,0/espdma@e,8400000/esp@e,8800000/sd@0,0:a^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@
rootfs+0x90: flags size vp
0 0 0

swapfile$ 스왑장치는 어떤것인지 열거

swapfile:
swapfile: fstype ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
swapfile+0x10: name ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@
swapfile+0x90: flags size vp
0 0 0

$q ---> 종료
2005/07/04 14:26 2005/07/04 14:26

crontab의 사용법.

FAQ 2005/07/04 14:26
아래는 래드헷 리눅스를 기준으로 작성하였습니다.

cron으로 특정 시간에 프로세서가 원하는 작업을 할수 있습니다.

설정된 cron은 /var/spool/cron/ 에서 각 유저로 사용한 작업을 확인할 수 있습니다.
/etc/crontab 에서 crontab을 설정 할 수 있습니다.

아래는 crontab 에 적용 되는 일반적인 옵션 입니다.

crontab -e [ username ] # crontab 파일을 에디트 한다.
crontab -l [ username ] # crontab 파일 리스트를 보여준다.
crontab -r [ username ] # cronatb 파일을 지운다.
crontab [ filename ] # file을 crontab 파일에 카피한다.

사용법은 분,시,일,월,요일 [명령어] 의 양식으로 사용 합니다.

"분" 은 0분에서 부터 59분을 사용한다.
"시" 는 0시에서 부터 23시 까지를 사용 한다.
"일" 은 1일 에서 부터 31일 까지를 사용 한다.
"월" 은 1월에서 12월 까지를 사용 한다.
"요일" 은 0에서 7까지를 사용 하는데 숫자별 요일은 다음과 같다.

0 , 7 = 일요일
1 = 월요일
2 = 화요일
3 = 수요일
4 = 목요일
5 = 금요일
6 = 토요일

ex)
[root@op isseo]# crontab -e
no crontab for root - using an empty one

0 0 * 8 * /home2/isseo/test.sh eth0 --> 8월 동안 매일 자정에 위의 경로에 있는 test.sh
스크립트를 실행시켜서 eth0 송신 수신 테스트를 하라는 뜻입니다.

위의 예는 기초적인 것이지만 사용에 능숙해지면 시스템 관리를 효율적으로 할 수 있습니다.
2005/07/04 14:26 2005/07/04 14:26
가끔 보면 자신의 계정도 아닌데 남의 계정을 해킹하려 하는 사람들이 있습니다.
그런 사람들을 막기 위해 비밀번호 제한을 걸어 놓으면 편리 합니다.

우선 root계정으로 로그인해서 etc/default/login 로 들어갑니다.

# RETRIES determines the number of failed logins that will be
# allowed before login exits.
#
RETRIES=3

RETRIES=? 의 숫자를 바꾸어주면 3번의 비밀번호 오류시 자연스럽게
시스템에서 빠져 나가게 됩니다.
2005/07/04 14:25 2005/07/04 14:25