2007. 11. 26. 14:02 Unix/Linux

SuSE Linux 관련

o SuSE Linux Networking 관련
http://openskills.info/infobox.php?ID=949

o SuSE Linux Firewall 관련
http://www.topology.org/linux/fwsuse.html#suse91

o SuSE에만 해당되는 사항은 아니지만 Open Skills라는 사이트
http://openskills.info/
반응형
Posted by She쥐포s
o 증상

host login: root
configuration error - unknown item 'PASS_MIN_LEN' (notify administrator)
Password:

o 참고 URL

http://kldp.org/files/______________________________520.doc http://www.puschitz.com/SecuringLinux.shtml#EnablingPasswordAging
http://www.puschitz.com/SecuringLinux.shtml#EnforcingStrongerPasswords

o 사용예 설명

다음 예제는 어떻게 다음의 패스워드 규칙을 적용시키는가를 보여준다.
- 패스워드의 최소길이 8자
    pam_cracklib.so minlen=8
- 소문자 최소 1자
    pam_cracklib.so lcredit=-1
- 대문자 최소 1자
    pam_cracklib.so ucredit=-1
- 숫자 최소 1자
    pam_cracklib.so dcredit=-1
- 문자와 숫자이외의 문자 최소 1자(특수문자를 말하는 듯..)
    pam_cracklib.so ocredit=-1

이 패스워드 제한을 설정하려면 /etc/pam.d/system-auth 파일을 열어 파란색으로 된 부분을 추가하거나
변경을 하라

auth           required       /lib/security/$ISA/pam_env.so
auth           sufficient      /lib/security/$ISA/pam_unix.so likeauth nullok
auth           required       /lib/security/$ISA/pam_deny.so
account      required       /lib/security/$ISA/pam_unix.so
account      sufficient      /lib/security/$ISA/pam_succeed_if.so uid < 100 quiet
account      required       /lib/security/$ISA/pam_permit.so
password   requisite       /lib/security/$ISA/pam_cracklib.so retry=3 minlen=8 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1
password   sufficient      /lib/security/$ISA/pam_unix.so nullok use_authtok md5 shadow
password   required       /lib/security/$ISA/pam_deny.so
session      required       /lib/security/$ISA/pam_limits.so
session      required       /lib/security/$ISA/pam_unix.so

* pam(pluggable authentication module)을 사용하면 적용할 수 있을 것이라고 본다. 실제 적용해보진 않았지만.
반응형
Posted by She쥐포s

2007. 11. 20. 11:19 Unix/Linux

Magic SysRq Key Setting

o Magic SysRq Key란 무엇인가?
    - magic system request key 의 줄임말.
    - magical key combo를 말하는 것으로 해당 키를 누르게되면 커널이 무엇을
       하고 있던간에 커널이 완전히 죽은 경우가 아니라면, 바로 응답을 준다.

o 커널 컴파일옵션

make menuconfig -> Kernel Hacking -> Kernel Debugging 체크 -> Magic Sysrq Key 체크

* 일반적으로 배포되는 리눅스에는 위 옵션이 기본적으로 체크되어 있다. 따라서
   설치된 커널은 이미 sysrq 를 지원하도록 준비가 되어있는 셈이다.

o sysrq 활성화/비활성화
sysrq 를 run-time 에 enable / disable 할 수 있는데, 다음 명령을 사용한다.

enable : # echo 1 > /proc/sys/kernel/sysrq
disable : # echo 0 > /proc/sys/kernel/sysrq

o sysrq 사용
콘솔에서 <alt>-<sysrq>-"magic key" 를 누르면 된다.

o magic key 종류와 기능
magic key 에 해당하는 키와 그 기능을 살펴보면 다음과 같다.
(아래 내용은 커널 소스의 Documents/sysrq.txt 를 참조하였다.)

'r'     - 키보드 raw mode를 끄고 XLATE모드로 설정
          (상당히 제한적이며, 상/하 키 이벤트를 탐지할 수 없다. 모든 키에 대해 Ctrl/Alt/Shift를 처리할 수 없다)
          (* Quite limited, cannot detect key up/key down events. Doesn't handle ctrl/alt/shift for all keys.)
          -> X 서버 또는 svgalib 프로그램 Crash의 경우 편리함

'k'     - Secure Access Key (SAK), 현재 가상 콘솔 상의 모든 프로그램을 종료한다.
          (로그인시에 패스워드를 갈취하는 트로이목마 프로그램이 없기를 원할 때 유용하다.
           현재 가상 콘솔상의 모든 프로그램을 종료하여 트로이목마 프로그램이 실행한 것이 아닌 init에 의해
           실행된 로그인 프롬프트를 원할 경우)

'b'     - sync나 디스크의 마운트해제(unmount)없이 시스템을 즉시 reboot

'c'     - sync나 디스크의 마운트해제없이 의도적으로 시스템 crash를 일으킨다.
          이 키는 NETDUMP 클라이언트 패키지 또는 DISKDUMP 패키지가 설치되었다면 가장 유용하다

'o'     - 시스템을 끈다.(설정이 되어 있고 지원한다면).

's'     - 모든 마운트된 파일 시스템에 대해 sync 시도

'u'     - 모든 마운트된 파일 시스템을 읽기전용으로 마운트 시도

'p'     - 콘솔상에 현재 레지스터(register)와 플래그(flag)를 뿌려준다.

't'     - 콘솔상에 현재 작업 목록과 그 정보를 뿌려준다.

'm'   - 콘솔상에 현재 메모리 정보를 뿌려준다.

'v' - Dumps Voyager SMP processor info to your console.
        (Voyager SMP Processor가 뭔지.. 암튼 그 프로세서 정보를 콘솔에 뿌려준단다.)

'0'-'9' - 어떤 커널 메세지를 콘솔에 뿌려줄지 제어하는 콘솔 로그 레벨을 설정한다.
          ('0'의 경우 매우 긴급한 메시지만 콘솔상에 뿌려준다. syslogd/klogd가
           실행중이라면 계속 로그를 생성한다.(파일시스템에..))

'e'     - init 프로세스를 제외한 모든 프로세스에 SIGTERM 시그널을 보낸다.

'i'     - init 프로세스를 제외한 모든 프로세스에 SIGKILL 시그널을 보낸다.

'l'     - 모든 프로세스(init 포함)에 SIGKILL 시그널을 보낸다.(이를 수행한 후에 시스템은 동작하지 않음)

'h'     - 도움말을 표시한다.(실제로 위의 목록에 없는 key들은 도움말을 보여준다. 하지만 'h'가 기억하기 쉬움)

위에서 run-time 으로 sysrq ON/OFF 를 할 수 있는 방법을 얘기하였다. 하지만 이것은 reboot 후에는 적용되지
않는다. reboot 후에 적용되도록 하려면, 다음과 같은 방법을 사용한다.

1. /etc/sysctl.conf 파일을 직접 수정한다.

# vi /etc/sysctl.conf
  kernel.sysrq = 1 입력
# reboot

위와 같이 하면 reboot 후 항상 sysrq 가 enable 상태로 reboot 된다.


2. sysctl 명령어를 사용한다.

# sysctl -w kernel.sysrq=1

위 명령은 결국 /etc/sysctl.conf 에 kernel.sysrq=1 옵션을 기록해준다. 따라서 reboot 후에 적용된다.

만일 서버에 접속할 수는 있어도 콘솔은 없는 경우에 sysrq 를 사용하고 싶다면, 다음 파일을 사용하여 가능하다.

/proc/sysrq-trigger

말 그대로 sysrq-trigger 이다. 해당 파일의 permission 은 --w------ 이다. 즉 root 권한으로 쓰기만 가능하다.

echo b > /proc/sysrq-trigger 라고 하면 콘솔에서 <alt>-<sysrq>-"b" 를 누른것과 동일한 효과를 나타낸다. 즉 reboot 된다. 즉 sysrq-trigger 파일에 원하는 명령어를 써주면 바로 해당하는 sysrq 명령이 수행된다.

** 상기 내용은 http://blog.naver.com/pinocc/120037594446의 내용에 리눅스 커널문서중 sysrq.txt의 내용을
첨가하여 정리한 것임
** 더 상세한 내용은 sysrq.txt 내용을 보시기 바람.

반응형
Posted by She쥐포s
Windows용 Apache에 SSL 설정하기

o 패키지 다운로드
    - http://www.apache.org 또는
    - http://mirror.apache-kr.org 에 접속하여 SSL을 지원하는 바이너리 파일 선택
※ 현재 최신 안정버전(2.0대)은 apache_2.0.61-win32-x86-openssl-0.9.7m.msi 임(x86용)

o 패키지 설치
    - 설치과정 생략(일반 패키지 설치와 비슷)
사용자 삽입 이미지

기본설정

※ 설치디렉토리는 기본적으로 "C:\Program Files\Apache Group\Apache2"이다.

o bin 디렉토리로 이동("C:\Program Files\Apache Group\Apache2\bin")하여
   설치디렉토리 밑의 bin 디렉토리에 있는 ssleay32.dll, libeay32.dll 파일을 시스템디렉토리,
   (Windows 2000의 경우 C:\WINNT, Windows XP, 2003등은 C:\Windows)아래 system32
   디렉토리로 복사한다.

   PROMPT> copy ssleay32.dll C\WINDOWS\system32\
   PROMPT> copy libeay32.dll C\WINDOWS\system32\

사용자 삽입 이미지

o openssl.conf 파일 편집
    - 인증서를 위한 csr 파일을 만들때 입력하는 부분을 지정
    - _default로 된 값을 설정하면 추가 입력이 필요없다.
    - openssl.conf 파일은 conf 디렉토리 밑에 있다.(위치는 지정하면 되므로 상관없다)
사용자 삽입 이미지

openssl.conf 파일 편집


o CSR 생성(이과정을 마치면 privkey.pem, ww.my-server.csr 파일이 생성됨)

    PROMPT> openssl req -config openssl.cnf -new -out www.my-server.csr

※ "Common Name" 부분에 웹서버의 정확한 이름(FQDN)을 입력하지 않으면 접속시
    인증서의 이름과 다르다는 내용이 나온다.
사용자 삽입 이미지

o privkey.pem 파일에서 passphrase를 제거
    - 이과정은 private key에서 passphrase를 제거하는 과정이다.
    - key값은 아파치 서버와 관리자만 읽을 수 있어야 한다.

    PROMPT> openssl rsa -in privkey.pem -out www.my-server.key

사용자 삽입 이미지
    - .rnd 파일이 생성되는데 이 파일에는 키생성을 위한 entropy정보를 담고 있고
       private key에 대한 암호학적 공격에 사용될 수 있기 때문에 .rnd 파일을 삭제한다.
사용자 삽입 이미지

o Self Sign
    - 이 과정은 CA로부터 실제 인증서를 받기 전까지 사용할 수 있는 self-signed 인증서를
      생성하는 과정이다. 이 인증서는 1년 후에 expire된다. -days 옵션을 통해 날짜를 증가시킬
      수 있다.

    PROMPT> openssl x509 -in www.my-server.csr -out www.my-server.cert -req -signkey www.my-server.csr.key -days 365

사용자 삽입 이미지

o 아파치 설치 디렉토리의 conf 디렉토리 아래에 ssl 디렉토리를 만든다.

    PROMPT> cd "C:\Program Files\Apache Group\Apache2\conf"
    PROMPT> mkdir ssl

o 인증서 파일(www.my-server.cert)과 키(www.my-server.key) 파일을 지정한 디렉토리로 옮긴다.

    PROMPT> cd "C:\Program Files\Apache Group\Apache2\bin"
    PROMPT> move www.my-server.cert ..\conf\ssl\
    PROMPT> move www.my-server.key ..\conf\ssl\

o httpd.conf 수정(mod_ssl 사용하도록)
사용자 삽입 이미지
사용자 삽입 이미지

o ssl.conf 수정
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지

o 설정파일 문법 검사 및 아파치 시작
사용자 삽입 이미지

o 네트워크 open port 확인
사용자 삽입 이미지

o 서비스 접속 확인
사용자 삽입 이미지
사용자 삽입 이미지

o 인증서 정보 확인
사용자 삽입 이미지

o 참고 URL

○ self-signed CA 관련(mod_ssl 관련 FAQ)
http://www.modssl.org/docs/2.8/ssl_faq.html


○ apache+ssl
http://www.thompsonbd.com/tutorials/apachessl.php

반응형
Posted by She쥐포s

o 배포판 버전 : Ubuntu 7.04 Desktop 버전
o 설치 패키지 : open-vm-tools-2007.09.04-56574.tar.gz (http://open-vm-tools.sourceforge.net/)
o 설치한 이유 : vm-tools를 설치하다가 컴파일 에러가 나서..
o 설치한 과정 :
    - open-vm-tools-2007.09.04-56574.tar.gz을 다운로드 받는다.
    - 기본적으로 설치된 Desktop Ubuntu에 다음의 패키지를 설치한다.
        libgc-dev
        libXinerama-dev
        libxrandr-dev
        libxtst-dev
        libgtk-dev (1, 2 version 모두)
    - 압축을 풀고 디렉토리로 이동
    - ./configure
    - make
    - make modules
    - make install
    - /etc/ld.so.conf 에 /usr/local/lib 추가
    - ldconfig 실행

--- to be continued....

반응형
Posted by She쥐포s

telnet, ftp 서비스 잠금

telnet과 ftp 잠금

시스템으로의 외부로부터의 접근(inbound access)이 필요하지 않다면 다음과
같이 하여 사용자들의 telnet 또는 ftp 접근을 거부하라.

vi /etc/inetd.conf

telnet 또는 ftp로 시작하는 줄을 주석처리하라. 파일을 저장하고 편집을 마쳐라.
이제 다음의 명령어로 inetd 데몬을 정지 후 시작하라.

/etc/rc.d/init.d/inet stop
/etc/rc.d/init.d/inet start

(기종에 따라 /etc/init.d 가 될 수도 있다.)

이제부터는 아무도 (외부)네트웍에서 여러분의 서버로 telnet과 ftp를 할수 없다.

※ 역자註 : 요즘은 inetd super deamon을 사용하였으나 요즘은 xinetd를 사용하여
위의 팁은 현실과 맞지 않을 수 있다. xinetd는 다음과 같이 disable = yes (사용안함)
또는 disable = no (사용)을 설정하며

# default: off
# description: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#      
service 서비스명
{
        disable = yes
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/bin/rsync
        server_args     = --daemon
        log_on_failure  += USERID
}

다음의 명령으로 데몬을 재시작할 수 있다.

/etc/rc.d/init.d/xinetd stop
/etc/rc.d/init.d/xinetd start

-------------------------------------------------------------------------
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
                             UNIX GURU UNIVERSE
                                UNIX HOT TIP

                       Unix Tip 2323 - May 12, 2006

                   http://www.ugu.com/sui/ugu/show?tip.today
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

LOCK DOWN TELNET OR FTP

When inbound access isn't required into
a system deny users Telnet or FTP access
do the following:

vi /etc/inetd.conf

Comment the line starts with Telnet or
FTP.  Save the file and exit.

Stop and start the inetd daemon now by
following commands:

/etc/rc.d/init.d/inet stop
/etc/rc.d/init.d/inet start

(Your flavor may be /etc/init.d)

Now on nobody can telnet or FTP to your
server from outside network.

반응형
Posted by She쥐포s

2007. 11. 1. 18:58 Unix/Linux

Linux NIC 속도 설정

○ 하도 여러 사람들의 글이 많아서 내 나름 정리를 하고자... man page를 보고 끄적끄적

※ ethtool 사용법(주로 쓰이는 옵션 : 굵게)

# ethtool -s ethX [speed 10|100|1000] [duplex half|full] [port tp|aui|bnc|mii] [autoneg on|off] [phyad N] [xcvr internal|external] [wol p|u|m|b|g|g|s|d...] [sopass xx:yy:zz:aa:bb:cc] [msglvl N]

휴 길기도 하군..

※ 네트웍 설정에 넣기

/etc/sysconfig/network-scripts/ifcfg-ethX 파일에

ETHTOOL_OPTS="speed 1000 duplex full autoneg off"

추가

반응형
Posted by She쥐포s

리눅스 설정 방법

 

1. 네트워크 관련 설정 파일 설정

 ---------------------------------------------------------------------------

/etc/resolv.conf : nameserver

/etc/modules.conf : interface alias , duplex

/etc/sysconfig/network : default gateway , hostname

/etc/sysconfig/network-scripts/ifcfg-eth0 : ipaddr , netmask , broadcast

/etc/sysconfig/static-routes : static으로 설정되어 있는 routing table 정보

---------------------------------------------------------------------------

 

1. NICduplex상태 확인 및 설정

#ethtool eth0 : duplex및 속도 확인

#ethtool -s eth0 duplex full : duplex full로 설정

#ethtool -s eth0 speed 100 : speed 100으로 설정

 

/etc/modules.conf : 부팅시 설정하기 위해서 사용하는 file

alias  eth0  e100

alias  eth1  e100

options e100 e100_speed_duplex=4,4 // 1=10half;2=10full;3=100half;4=100full

* modules.conf에서 option duplex를 설정하는 방법은 NIC마다 다르므로 확인한 후 사용하여야 함.

위 예는 intel NIC를 설정하는것을 보인것임.

 

2. 수동으로 NIC 올리기

-기본값으로 UP / DOWN

#ifconfig eth0 plumb (사용)

#ifconfig eth0 up

#ifconfig eth0 down

#ifconfig eth0 unplumb(사용안함)

 

-값을 지정하여 올리기

#ifconfig eth0 211.41.84.222 netmask 255.255.255.0 broadcast 211.41.84.255 up

 

-인테페이스 사용/미사용

#ifconfig eth0 plumb (사용)

#ifconfig eth0 unplumb (미사용)

 

 

3. routing 수동 설정 방법

routing table에 설정할 내용

----------------------------------------------------

  NIC ip network주소에 대한 routing table

 local주소에 대한 routing table

 default gateway

 static routing table

----------------------------------------------------

#route add -net 211.41.84.0 netmask 255.255.255.0 dev eth0 : network주소에 대한 routing table등록

#route add -net 172.24.9.0 netmask 255.255.255.0 gw 172.24.64.1 dev eth1 : static route 등록

#route add default gw 211.41.84.234 dev eth0 : default gateway등록. /etc/sysconfig/network확인

 

#route add -host 211.41.84.111 gw xxx.xxx.xxx.xxx dev eth0 : 특정 호스트에 대한 routing table등록.

* netmask가 빠짐을 주의

 

/etc/sysconfig/static-routes : 그외 static으로 등록하여야 할 것(paran.com)

any net 172.24.9.0  netmask 255.255.255.0 gw 172.24.64.1 metric 1

any net 172.16.0.0  netmask 255.240.0.0   gw 172.24.64.1 metric 1

any net 10.0.0.0    netmask 255.0.0.0     gw 172.24.64.1 metric 1

any net 192.168.0.0 netmask 255.255.0.0   gw 172.24.64.1 metric 1

 

 

 

- 간단 요약 -

IP 설정 정보 확인
1. IP 주소
2. 넷마스크
3. G/W 주소
4. DNS 주소
5. 네트웍 주소


네트웍 설정
1. /etc/hosts

2. /etc/resolv.conf

3. 호스트 이름, 게이트웨이, 게이트웨이로 갈 장치 등을 설정
/etc/sysconfig/network 파일 수정
ex)  1  NETWORKING=yes
     2  HOSTNAME=kwsweb04
     3  GATEWAY=211.41.73.129
     4  GATEWAYDEV=eth0

4. 인터페이스 설정
/etc/sysconfig/network-scripts/ifcfg-eth0
ex)  1  DEVICE=eth0
     2  BOOTPROTO=static
     3  BROADCAST=211.41.73.191
     4  IPADDR=211.41.73.144
     5  NETMASK=255.255.255.192
     6  NETWORK=211.41.73.128
     7  ONBOOT=yes
각 인터페이스마다 설정한다.
5. /etc/rc.d/init.d/network restart
또는 간단히 service network restart


네트웍 설정 확인
# ping www.paran.com
# ifconfg -a | more
# mii-tool
ftp나 sftp 등으로 속도 테스트

※ 원문 : http://cafe.naver.com/quest4i/69

반응형
Posted by She쥐포s

Linux 에서 DAT 사용법

 

SCSI controller 를 linux 에서 인식시키는 방법.

modprobe <SCSI module 이름>

: modprobe initio

 

SCSI controller 및 연결된 장비 보는 방법.

J:~ # cat /proc/scsi/scsi

Attached devices:

Host: scsi0 Channel: 00 Id: 05 Lun: 00

   Vendor: HP       Model: C5683A           Rev: C005
   Type:   Sequential-Access                ANSI SCSI revision: 02

 

혹은 dmesg 명령.

 

scsi0 : Initio INI-9X00U/UW SCSI device driver; Revision: 1.03g

  Vendor: HP        Model: C5683A            Rev: C005

  Type:   Sequential-Access                  ANSI SCSI revision: 02

st: Version 20030403, bufsize 32768, max init. bufs 4, s/g segs 16

Attached scsi tape st0 at scsi0, channel 0, id 5, lun 0

st0: Block limits 1 - 16777215 bytes.

 

mt 사용법.

mt –f /dev/st0 status (첫번째 tape 장비 상태 보는 법)

mt –f /dev/st0 eject (첫번째 tape 장비안의 tape 꺼내기)

man mt 참고할 것.

 

tar 사용법.

tar cvf /dev/st0 /backup (/backup 을 tape 에 기록)

tar tvf /dev/st0 (tape 안의 내용을 봄)

tar xvf /dev/st0 (현재 folder 에 tape 내용을 복구)

man tar 참고할 것.

 

참고 문서: http://kldp.org/KoreanDoc/TapeDrive-KLDP

출처 : http://cafe.naver.com/lto/31

반응형
Posted by She쥐포s

아래글을 보고 Shell에 적용을 해 봤습니다.

DATE=`expr \`date +%d\` + 1 - 1`
echo $DATE

아니면 바로
expr `date +%d` + 1 - 1

흐흐흐

--------------<아래는 퍼온글입니다>------------------
우연히 발견했습니다.

echo date("m");

하시면 결과가 09 이렇게 나오죠(지금이 9월이니까)
그런데 여기서 앞의 0을 제거하는 방법중 가장 쉬운건....

echo date("m")+1-1;

하니까 0이 제거되는군요. 하하핫.

http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=3999

반응형
Posted by She쥐포s
이전버튼 1 2 3 이전버튼

블로그 이미지
She쥐포s
Yesterday
Today
Total

달력

 « |  » 2024.4
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

최근에 올라온 글

최근에 달린 댓글

글 보관함