이번에 공부를 위해서 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 |