사용자가 소유한 SFTP 디렉터리

사용자가 소유한 SFTP 디렉터리

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-sftpChrootDirectory를 사용하려면 지정된 모든 경로가 다음에 속해야 합니다.뿌리사용자 전용.

좋은 방법은 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/

관련 정보