내 Apache 서버에서 특정 폴더에만 액세스할 수 있는 새 사용자 계정을 만들어야 하는데 ssh에서 루트 디렉터리를 변경하려고 하면 서버가 이를 거부합니다. 먼저 sshd_config 파일을 편집하여 각 계정의 루트 디렉터리를 자동으로 변경하려고 시도했지만 작동하지 않는 것을 확인하고 usermod를 사용하여 변경해 보았는데 그 결과는 다음과 같습니다.
>sudo usermod -R /var/www/userFolder sftpUser1
usermod: user 'sftpUser1' does not exist
그러나 sftpUser1은 존재합니다. 이는 passwd 파일의 행이며 홈 디렉토리를 변경하는 데 사용된 -d 명령이 제대로 작동하는 것과 동일한 행입니다.
sftpUser1:x:1001:1001::/var/www/userFolder:/bin/false
이것이 내가 sshd_config에 추가한 것입니다.
Match Group sftpusers
ChrootDirectory /var/www/%u
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no
사용자와 연결을 시도한 후 Auth.log 파일에 나타나는 내용입니다.
pam_unix(sshd:session): session opened for user sftpUser1 by (uid=0)
fatal: bad ownership or modes for chroot directory component "/"
이 사용자는 sftpusers 그룹에 속해 있습니다.
답변1
' -R
' usermod
옵션은 사용자의 루트를 변경하지 않고 usermod
내부 액션의 루트를 변경하므로 이를 사용할 수 있습니다.chroot 환경에서 사용자 수정.
편집하다:나는 당신이 원하는 것이 SSH를 통해 로그인할 때 사용자를 chroot 환경에 두는 것이라고 가정하고 있습니다. 이 작업을 수행하려면 ' ChrootDirectory
' sshd_config
옵션을 사용할 수 있습니다.