SFTP를 통해 Linux 서버에서 AWS EC2의 Red Hat 8 서버로 파일을 전송할 수 있기를 원합니다.
라는 사용자를 만들었 sftpuser
으며 SFTP를 통해 이 사용자에게 전송된 모든 파일이 에 로그인되기를 원합니다 /testdata/sftp/incoming/
.
/testdata
루트를 and 의 소유자로 만든 경우에만 작동하도록 할 수 있었지만 다른 Linux 사용자가 소유 /testdata/sftp
해야 하며 /testdata
그룹/기타 권한을 부여하면 SFTP가 작동하지 않습니다.
Match User sftpuser
ChrootDirectory /testdata/sftp/incoming
AllowTcpForwarding no
X11Forwarding no
ForceCommand internal-sftp
들어오는 폴더에 sftp 파일을 전송하는 것이 가능하지만 다른 사용자가 해당 파일을 소유하도록 허용할 수 있습니까 /testdata
?
감사해요
답변1
/testdata
왜 다른 사용자가 디렉토리를 소유하게 하려고 합니까 ? ~처럼SFTP internal-sftp
ChrootDirectory를 사용하려면 지정된 모든 경로가 다음에 속해야 합니다.뿌리사용자 전용.
좋은 방법은 sftpuser
사용자 구성을 변경하는 것입니다. 예를 들면 다음과 같습니다.
Match User sftpuser
ChrootDirectory /testdata/sftp/
AllowTcpForwarding no
X11Forwarding no
ForceCommand internal-sftp
incoming
디렉토리를 제거했습니다.;그런 다음 구성을 다시 로드합니다.
sudo systemctl reload sshd.service
### sudo service ssh reload ## use this command if not a systemd
이제 incoming
특정 sftpuser
사용자/그룹 권한을 사용하여 개별적으로 디렉터리를 만듭니다. 예를 들면 다음과 같습니다.
sudo mkdir /testdata/sftp/incoming
sudo chown sftpuser /testdata/sftp/incoming
sudo chmod 755 /testdata/sftp/incoming
이제 경로에 sftpuser
읽기/쓰기 액세스 권한이 있습니다./testdata/sftp/incoming/