[Linux] SFTP 전용 계정 만들기
나는 별로 선호하지 않지만, 계정을 SSH 없이 특정 디렉토리만 SFTP로 접근하고 싶을 때가 있다.
sftp로 묶어서 처리할 그룹을 생성한다.
그냥 개별유저에 권한을 줘도 되는데, 한번 만들어서 재사용을 하고 싶다면 그룹을 이용하는 것이 편리하다.
sftp설정을 해주려면 sshd_config라는 파일을 편집하면 된다.
열어서
다음과 같이 작성한다.
Match Group sftpgroup
ChrootDirectory %h
ForceCommand internal-sftp
X11Forwarding no
AllowTCPForwarding no
그럼 이제 이 그룹으로 계정을 생성하고, 적절히 권한을 맞춰주기만 하면 된다.
그리고 공개해줄 디렉터리를 755 권한으로 생성한다.
저 디렉터리는 각 계정에 대한 chroot로만 쓰이게 할 것이라서, 루트 외에 쓰기는 하지 못하게 해야 한다.
775나 777을 준다거나 하면 제대로 동작하지 않는다.
그래서 쓰기를 할 수 있는 작업용 디렉터리를 또 안에 만들어줘야 한다.

계정도 만들어준다.
-G로 그룹을 달아주고, -d로 각 유저가 사용할 홈 디렉터리를 임의로 지정해준다.

그리고 임의로 지정한 home에 쓰기 작업을 할 수 있게 소유권을 준다.

ssh 도구를 재시작해서 반영시키면 끝이다.

그럼 sftp로 들어가서 마음대로 작업을 할 수 있을 것이다.



반면 ssh로의 접속은 불가하다.

참조
https://zetawiki.com/wiki/SFTP%EB%A7%8C_%EB%90%98%EB%8A%94_%EA%B3%84%EC%A0%95_%EC%83%9D%EC%84%B1
https://linuxism.ustd.ip.or.kr/517