http://www.howtoforge.com/chrooted-ssh-sftp-tutorial-debian-lenny

위의 링크를 참고하여 시도하였으나 원할하게 돌아가지 않았습니다.

그래서 저는 sftp를 chroot 방법 보다는 sftp와 ssh 의 사용권한에 대해서 포스팅하겠습니다.

 

제가 다룰 ssh 의 권한을 설정하는 부분은 3가지 입니다.

  1. ssh는 사용가능하고 sftp를 사용 불가능하게 한다.
  2. ssh와 sftp 모두 사용 불가능하게 한다.
  3. ssh는 사용 불가능하고 sftp를 사용가능하고 home 디렉토리 이상으로 가지 못하게 한다.

 

1. ssh 는 사용 가능하고 sftp를 사용 불가능하게 한다. ( 전체 user 적용 )

이 경우는 아래의 파일을 수정함으로써 설정이 가능합니다.

/etc/ssh/ssh_config

위의 파일에서 subsystem sftp /usr/lib/openssh/sftp-server 부분을 주석처리 한 후 ssh를 재시작 하면

ssh는 사용가능하지만 sftp는 사용하지 못하게 됩니다.

 

2. ssh와 sftp 모두 사용 불가능하게 한다. ( 개별 user 적용 )

이 경우는 아래 파일을 수정해 설정이 가능합니다.

/etc/passwd

위의 파일에서 사용하지 못하게 설정할 유저의 line을 찾은 후 bin/bash 부분을 bin/nologin 으로 바꿔주면 됩니다.

 

3. 마지막으로 sftp 사용가능 ssh 사용 불가능 방법입니다.

이 방법은 포스팅 가장 처음에 나왔던 링크를 따라 시도했지만 잘 되지 않았던 방법입니다.

/etc/ssh/sshd_config

위의 파일을 열어 Subsystem sftp /usr/lib/openssh/sftp-server 라고 설정된 부분을

Subsystem sftp internal-sftp로 변경했습니다.

 

그리고 파일 맨 끝부분에 새로 아래의 부분을 추가해줬습니다.

Match User 유저명

ChrootDirectory /home

AllowTCPForwarding no

X11Forwarding no

ForceCommand internal-sftp

그리고 저장 후 ssh를 재시작해주었습니다.

 

이 후에 나타난 문제점은 위처럼 설정한 유저는 ssh 에 접속되지 않았습니다.

putty라는 프로그램을 사용하고 있는데 위처럼 설정한 유저는 로그인창에서 튀어버리는 현상이 발생했습니다.

sftp의 경우에는 /home 폴더까지 chroot 를 할수는 있었지만 그 이상으로 즉, /home/user 까지 설정해주면

인증이 실패했다는 메세지와 함께 로그인이 되지 않았습니다.

 

또한 internal-sftp를 초기의 /usr/lib/openssh/sftp-server 값으로 변경할 경우에도

역시 로그인이 되지 않았습니다.

 

어쩔 수 없이 /home 까지 접근 가능하게 한 후 각자의 디렉토리만 볼 수 있도록 퍼미션을 조정하는 것으로 끝났습니다.

결국은 ssh 권한을 주지 않는 방향으로 나아가게 되었는데

이 문제에 대한 해결책이 있는분은 연락주세요.

chmod 711 /home
chmod 711 /etc
chmod 711 /
chmod 711 /usr
chmod 711 /usr/local
chmod 711 /proc
chmod 711 /mnt
chmod 711 /opt
chmod 711 /misc
chmod 711 /dev
chmod 711 /bin
chmod 711 /boot
chmod 711 /www
chmod 711 /var

결국 위의 코드를 입력해 chmod로 권한 설정해주는 것으로 끝냈습닏

 

 

이것으로 이번 포스팅을 끝내겠습니다.


출처 - http://www.daclick.co.kr/bbs/board.php?bo_table=adm_server&wr_id=620



'System > Common' 카테고리의 다른 글

AWK & SED 예제  (0) 2012.04.05
PATH 환경변수 우선순위  (0) 2012.04.05
ssh와 sftp 사용 권한 설정  (0) 2012.04.04
/bin/false VS /sbin/nologin  (0) 2012.04.04
리눅스 파티션 나누기  (0) 2012.04.03
HP ProLiant DL160 G6 Server series (491532-B21) - specifications and warranty  (0) 2012.03.31
Posted by linuxism

댓글을 달아 주세요