SFTP 전용 사용자는 자신이 만든 파일을 삭제/편집할 수 없습니다.

SFTP 전용 사용자는 자신이 만든 파일을 삭제/편집할 수 없습니다.

SSH를 사용할 수 없는 sftp 사용자 그룹을 지원하기 위해 이 줄을 사용하여 /etc/ssh/sshd_config를 수정했습니다.

    Subsystem sftp internal-sftp -l VERBOSE
    Match Group sftpusers
    X11Forwarding no
    AllowTcpForwarding no
    ChrootDirectory %h
    ForceCommand internal-sftp

ssh 기능이 다음과 같이 제한되는 sftpusers 그룹에 사용자를 생성합니다.

useradd -g sftpusers -s /sbin/nologin <username>

문제는 다음 명령을 사용하여 홈 폴더의 모든 사용자 및 그룹에 재귀 권한을 부여하더라도 기본 파일 권한이 파일 구조에 재귀적으로 설정한 것이 아니기 때문에 새 파일을 생성하면 즉시 액세스 권한을 잃게 된다는 것입니다.

chmod -R 777 /home/<username>/

사용자에게 파일 구조의 소유권을 부여하려고 시도했지만 이로 인해 사용자가 더 이상 sftp를 수행할 수 없게 되었습니다(홈 디렉터리와 모든 하위 구성 요소를 루트가 소유해야 하는 ChrootDirectory 옵션 때문이라고 생각합니다). 저는 사용자가 sftp(ssh 없음)만 허용하고 특별히 액세스 권한을 부여하거나 생성하지 않는 한 홈 디렉터리에 있는 대부분의 파일에 액세스할 수 없도록 하는 솔루션을 정말 원합니다.

답변1

다음 단계를 수행하면 원하는 것을 얻을 수 있습니다.

  1. 사용자 디렉터리의 모든 파일과 폴더에 대해서만 소유자 액세스 권한을 반복적으로 부여합니다(루트 또는 파일 소유자만 모든 항목에 액세스할 수 있음).

    chmod -R 700 /home/<사용자 디렉터리>/

  2. sftp를 사용할 때 파일을 나열할 수 있도록 사용자 및 그룹에 chroot에 대한 액세스 권한을 부여합니다(이 명령을 실행한 후 sftp 사용자는 사용자 디렉터리의 내용을 나열할 수 있습니다).

    chmod 755 /home/<사용자 디렉터리>/

  3. 사용자에게 전체 액세스 권한을 부여하려는 파일의 소유권 또는 디렉터리의 재귀적 소유권을 부여합니다.

    chown /home/<사용자 디렉터리>/file

또는

chown -R /home/<사용자 디렉터리>/dir

필요에 따라 2단계와 3단계를 반복하여 어디서나 액세스할 수 있습니다. 도움이 되었기를 바랍니다!

관련 정보