특정 폴더에 대한 액세스가 제한된 SFTP용 사용자를 만들고 싶습니다.
내 폴더 구조는 다음과 같습니다.
/var/www/site1/files/
/var/www/site2/files/
/var/www/site3/files/
filezila를 사용하여 웹사이트 파일을 업로드하기 위해서만 액세스할 수 있는 sftp user1을 만들고 싶고 /var/www/site1/files/
다른 폴더는 볼 수 없습니다.
제한된 액세스 권한을 가진 user2의 경우에도 마찬가지입니다./var/www/site2/files/
제한된 액세스 권한을 가진 user3의 경우/var/www/site3/files/
답변1
당신은 그 일을 거의 따라했습니다.
가장 좋은 방법은 다음과 같이 하는 것입니다.
/home
에 다음 줄을 추가하여 3개의 디렉터리를 각각 디렉터리에 마운트합니다/etc/fstab
./var/www/site1/files/ /home/site1/htdocs/ bind 0 0 /var/www/site2/files/ /home/site2/htdocs/ bind 0 0 /var/www/site3/files/ /home/site3/htdocs/ bind 0 0
mount -a
마운트를 즉시 시작하는 데 사용합니다 .사용자 site1, site2, site3을 동일한 그룹(예: sftpusers 또는 sftponly)에 추가했는지 확인하세요. 다음 명령을 사용하여 사용자를 그룹에 추가할 수 있습니다.
usermod -aG sftponly site1 usermod -aG sftponly site2 usermod -aG sftponly site3
/home/{site1,site2,site3}
다음을 사용하여 해당 사용자의 홈 디렉토리를 만듭니다 .usermod -d /home/site1 site1 usermod -d /home/site2 site2 usermod -d /home/site3 site3
에 다음을 추가합니다
/etc/ssh/sshd_config
.Match group sftponly ChrootDirectory %h X11Forwarding no AllowTcpForwarding no
마지막으로 다음을 사용하여 SSH 서비스를 다시 시작합니다.
service ssh restart
보다Digital Ocean에 대한 이 게시물자세한 내용은.
답변2
팔로우 후크리슈나 찰리스의 답변소유권과 권한을 조정해야 할 수도 있습니다.
예를 들어, 사용자 site1의 경우:
chown root:root /home/site1
chmod 755 /home/site1
cd /home/site1
chown site1:sftponly