[목표]
1. 리눅스에서 sftp 접속 가능하게 하기
2. sftp 접속시 최상위 폴더 접근 제한
3. sftp 만 접근 가능하게 세팅
아이디 : sftponlyuser
그룹 : sftponly
위치 : /home/sftponly/sftponlyuser
[작업]
// sftp 만 접근 가능한 그룹을 만든다.
# group add sftponly
// /etc/ssh/sshd_config 에 설정값 수정
#Subsystem sftp /usr/libexec/openssh/sftp-server
=> Subsystem sftp internal-sftp
Match Group sftponly
ChrootDirectory %h
AllowTcpForwarding no
X11Forwarding no
ForceCommand internal-sftp
// 사용자 등록
# useradd -M -g sftponly sftponlyuser
// 사용자 ssh 로그인 못하게 막기
# vim /etc/passwd
sftponlyuser:x:123:123::/home/sftponly/sftponlyuser:/bin/bash
=> sftponlyuser:x:123:123::/home/sftponly/sftponlyuser:/bin/false
// selinux 해당 폴더 보안 재설정(?)
restorecon -R /home/sftponly
or
restorecon -R /home/sftponly/sftponlyuser
[권한]
폴더 : /home/sftponly/sftponlyuser
/home/sftponly/ 의 소유주와 권한은 755 와 root:sftponly
/home/sftponly/sftponlyuser/ 의 소유주와 권한은 755 와 sftponlyuser:sftponly
권한은 777 로 주거나 하면 안됨
접속해서 처음으로 보여지는 폴더의 소유주와 권한은 root:sftponly 와 755 이여야만 하고
접속 후 저장을 할 수 있는 폴더의 소유주와 권한은 sftponlyuser:sftponly 와 755 여야만 한다.
[기타]
해당 권한 개념에서 어려워 엄청 헤매였음. 야매로 하려니 뭐 다 그렇지. 중간에 selinux 관련 해서도 저게 맞는진 모르겠지만 우선 저렇게 세팅됨.