사용자가 SFTP를 통해 컴퓨터에 로그인하는 경우 ChrootDirectory
키워드를 사용하여 사용자가 루트 디렉터리에 있는 것처럼 보이게 할 수 있습니다. 하지만 이 디렉터리는 root
사용자만 쓸 수 있습니다. 저는 이 사용자에게 그러한 쓰기 기능을 제공하고 싶은데, 제가 누락한 것이 없으면 OpenSSH는 이 기능을 제공하지 않는 것 같습니다.
SFTP 사용자에게 SFTP 내의 모든 파일/디렉토리에 대한 쓰기 액세스 권한이 부여될 수 있다는 것을 알고 있지만 ChrootDirectory
그것만으로는 충분하지 않습니다. 사용자가 쓰기 권한이 있는 하위 디렉터리를 만들지 않고도 해당 "루트" 디렉터리에서 직접 파일을 생성/삭제할 수 있는 해결 방법을 원합니다.
답변1
내부 SFTP에도 동일한 문제가 있습니다. 이 문제를 해결하기 위해 제가 한 일은 다음과 같습니다.
너 안에sshd_config문서:
Match group sftpusers
ChrootDirectory %h
너 안에/etc/그룹파일을 열고 sftp 사용자를 sftpusers
그룹에 추가합니다(존재하지 않는 경우 생성).
sftpusers:x:6000:user1,user2
chown
ChrootDirectory의 경우 디렉터리가 있는지 확인하세요.(경고 - 이 명령을 실행하는 디렉터리에 주의하세요. 사용자가 로그인한 디렉터리에서만 실행되는지 확인하세요. 명령은 -R
재귀적이므로 하위 폴더가 있으면 이 명령을 실행하지 않으려고 합니다. 실행하고 삭제하세요. 또한 SFTP 사용자에게는 루트 수준 시스템 디렉터리에 대한 액세스 권한이 부여되어서는 안 됩니다. /etc
유사한 디렉터리 아래에 폴더를 만들고 /usr/local/alcatraz
해당 디렉터리에 대한 액세스 권한을 부여하는 것이 좋습니다.:
chown -R root:sftpusers userChrootDirectory
원하는 권한을 얻으려면 디렉터리를 Chmod하세요. 예를 들면 다음과 같습니다.
drwxrws---
더 많은 정보가 필요하시면 알려주시기 바랍니다. 이는 주요 내용일 뿐이며 원하는 위치로 안내해 드릴 것입니다.