달력

07

« 2010/07 »

  •  
  •  
  •  
  •  
  • 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
  • 31

'chroot'에 해당되는 글 2

  1. 2009/07/21 하드웨어 변경시 OS 재설치 없이 사용하기
  2. 2008/03/04 solairs10 + openssh + rssh 설치
자주 사용하지 않다보니 자꾸 잊어버리게 되서 간단히 적어본다.
(RHEL 4 버전 기준)

보통 베어본 (or 하드웨어) 변경시 기존에 설치된 OS로 부팅을 하게 되면 대부분 SCSI 드라이버가 바뀌게 되어 kernel panic 이 발생하며 멈추게 된다. 이럴 경우 지루하게 OS를 재설치 하는 노가다를 하지않고 정상적으로 사용할 수 있도록 설정을 변경하는 방법은 아래와 같다.


1. 해당 OS 버전의 첫번째 CD로 부팅 하여 rescue 모드로 부팅한다.

2. chroot /mnt/sysimage 명령으로 기존에 설치되어 있는 파티션을 마운트 한다.

3. /etc/modprobe.conf 파일에서 SCSI 드라이버를 변경된 것으로 바꾸어준다. (그외 다른 드라이버도 마찬가지로...)

4. depmod -a `기존 OS 커널 버전`

5. initrd 이미지 생성

   mkinitrd -v -f /boot/initrd-해당버전 `기존 OS 커널 버전`

6. 재부팅
Posted by shsch
2008/03/04 22:38

solairs10 + openssh + rssh 설치 Linux2008/03/04 22:38

사용자 요구 사항

- ssh 사용은 못하고 sftp 만 사용하게 한다.
- 자신의 홈디렉토리를 벗어나지 못하게 한다.

요구 사항에 맞게 최대한 간단하게 설정할 수 있는 방법을 정리해 보고자 하는 생각에 이 글을 작성한다.

rssh 는 ssh 사용을 못하게 하는데 사용하며 자신의 홈디렉토리를 벗어나지 못하게 하는 것은 openssh 에 들어 있는 sftp-server  파일을 패치하여 사용한다.

1. rssh, openssh 설치

http://sunfreeware.com/ 에서 관련 패키지 다운로드 및 설치

libintl-3.4.0-sol10-x86-local.gz
libiconv-1.11-sol10-x86-local.gz
openssh-4.7p1-sol10-x86-local.gz
rssh-2.3.2-sol10-x86-local.gz
gcc-3.4.6-sol10-x86-local.gz
zlib-1.2.3-sol10-x86-local.gz
openssl-0.9.8f-sol10-x86-local.gz

# gunzip *.gz
# pkgadd -d 패키지명

2. openssh  설정

# mkdir /var/empty
# chown root:sys /var/empty
# chmod 755 /var/empty
# groupadd sshd
# useradd -g sshd -c 'sshd privsep' -d /var/empty -s /bin/false sshd

cd /usr/local/bin
# ssh-keygen -t rsa1 -f /usr/local/etc/ssh_host_key -N ""
# ssh-keygen -t dsa -f /usr/local/etc/ssh_host_dsa_key -N ""
# ssh-keygen -t rsa -f /usr/local/etc/ssh_host_rsa_key -N ""

default ssh 서비스 삭제
# svcadm disable ssh
# svccfg delete netowrk/ssh:default

openssh 서비스 등록 및 실행

ossh 파일을 다운 받은 후에 /lib/svc/method/ 디렉토리로 옮겨 놓는다.
그리고 퍼미션을 555 로 설정

ossh.xml 파일을 다운 받은 후에 /var/svc/manifest/network/디렉토리로 옮겨 놓는다.
그리고 아래의 명령 실행
# svccfg import /var/svc/manifest/network/ossh.xml
# svcadm enable ossh
3. chroot jail 설정

openssh 소스 파일 다운로드
sftp-server.c 파일 다운로드

압축을 푼 후 해당 디렉토리로 이동.
위에서 다운 받은 sftp-server.c 파일로 대체 후 컴파일 한 다음 sftp-server 파일을 복사해서 사용함.
(configure 에서 ar 에러 발생시 PATH 에 /usr/ccs/bin 추가하고 재실행 하면 됨.)

# cd openssh-4.7p1
# mv sftp-server.c sftp-server.c.orig
# mv ../sftp-server.c .
# ./configure
# make
# mv /usr/local/libexec/sftp-server /usr/local/libexec/sftp-server.orig
# cp sftp-server /usr/local/libexec
# chmod u+s /usr/local/libexec/sftp-server

마지막으로 변경 해야할 설정 파일들과 예제를 보자.

/usr/local/etc/rssh.conf 파일에서 sftp 만 사용할 것이므로 allowsftp 앞에 주석을 해제하자.

# grep -v '^#' rssh.conf | grep -v '^$'
logfacility = LOG_USER
allowsftp
umask = 022

testuser 사용자 추가 (홈디렉토리는 /users/testuser)

# useradd -m -d /users/testuser testuser
# usermod -s /usr/local/bin/rssh testuser

/etc/passwd 파일에서 사용자 홈디렉토리를 아래와 같이 변경.

testuser:x:101:10::/users/testuser/./:/usr/local/bin/rssh


참고 사이트

http://www.sunfreeware.com/sshsol10.html
http://www.sunfreeware.com/openssh9.html
http://www.minstrel.org.uk/papers/sftp/


Posted by shsch