이번에 공부를 위해서 chroot를 통해서 원격 접속 시 루트 폴더(최 상위 디렉터리)를 제한하는 것을 열심히 파봤습니다.


해당하는 내용에 대해서 메모를 겸하여 포스팅을 합니다.




배포판 환경 : CentOS 6.8 (Final)




우선 편한 작업을 위해서 관리자권한으로 작업을 합시다. (어짜피 실습)


# vi /etc/ssh/sshd_config


파일명이 유사한게 많다. 착각하지말고 잘 열자



다음 항목을 수정한다.

(수정 전)

Subsystem sftp /usr/libexec/openssh/sftp-server


(수정 후)

Subsystem sftp internal-sftp



다음 항목을 추가한다.

Match user (계정명)

ChrootDirectory (제한할 경로)


혹은 그룹으로


Match group (그룹명)

ChrootDirectory (제한할 경로)



해당 유저거나 해당 그룹에 속할 시 적용이 받게 되겠다.






설정하고 해당 계정으로 접속하게 되면 주요 파일들이 없기에 제대로 동작하지 않는다.


그렇기에 주요파일들이나 필요한 파일들을 옮겨줘야한다.





폴더를 마운트로 통째로 옮겨줘야할 목록

/home

/lib

/tmp(선택)

/usr/lib


장치 파일 추가

1. null

# mknod -m 0666 (제한할 경로)/dev/null c 1 3

2. zero

# mknod 0m 0666 (제한할 경로)/dev/zero c 1 5


이동 시켜야 할 파일

/bin/bash         : 너무 중요한 bash쉘

/usr/bin/dircolors    : ls를 할 때 컬러를 변경하는 파일

/usr/bin/id             : 본인의 이름으로 변경

/etc/DIR_COLORS    : 컬러 관련 설정?

/etc/bashrc

/etc/profile

/etc/profile.d/*

/etc/group

/etc/passwd



group과 passwd는 사실 그냥 UID에서 본인의 이름을 매칭시켜 받기 위해서다..


다운로드 링크로


위에 파일 생성들이 귀찮다면


해당 스크립트를 이용해보아도 된다.


하지만, 신용도나 안정성은 책임 못지므로 주의

'Linux' 카테고리의 다른 글

[리눅스] mailx 사용법/명령어  (0) 2017.03.21
REMOTE HOST IDENTIFICATION HAS CHANGED! 에러  (0) 2017.03.20
리눅스의 파일 권한  (0) 2017.01.26
리눅스 ANSI color(색깔 입히기)  (0) 2017.01.23
리눅스 네트워크 설정  (0) 2016.12.09