CHROOT: WINSCP를 사용하여 로컬 시스템에서 감옥에 갇힌 사용자 디렉터리로 파일을 복사할 수 없습니다.

CHROOT: WINSCP를 사용하여 로컬 시스템에서 감옥에 갇힌 사용자 디렉터리로 파일을 복사할 수 없습니다.

내 사용자 중 한 명을 위해 chroot 환경을 설정했습니다.고객내 시스템에. 공개 키 인증을 사용하여 내 컴퓨터에서 내 서버에 연결하기 위해 WINSCP를 사용하고 있습니다. 모든 것이 잘 작동합니다. 로그인하여 홈 디렉터리(감옥 디렉터리)를 볼 수 있지만 위로 이동할 수는 없습니다.

현재 겪고 있는 문제는 로컬 컴퓨터에서 서버로 파일을 복사할 수 없다는 것입니다. 내가 이것을 할 때 나는 얻는다.권한 거부됨: 원격 파일 /home/client/test.txt를 생성할 수 없습니다.

내 서버는 Red Hat 서버이고 이것은 내 sshd 구성입니다.

    Match User client
    ChrootDirectory %h
    PubkeyAuthentication yes
    AllowTCPForwarding no
    X11Forwarding no
    ForceCommand internal-sftp

나는 이것을 온라인에서 찾아보고 bin클라이언트 홈 디렉토리의 복사 및 폴더에 대한 몇 가지 의견을 찾았지만 그러한 솔루션은 도움이 되지 않았습니다.lib

지금 필요한 것은 사용자가 로컬 컴퓨터에서 내 서버의 chroot 폴더로 파일을 복사할 수 있는 것입니다.

편집 #1

내가 한 일에 대한 간단한 설명은 다음과 같습니다.

나는 chroot 사용자(사용자 이름: clientd)를 홈 디렉토리에 가두었습니다. 이 chroot 디렉토리는 /home/client/루트가 소유합니다.

이제 에 액세스하려면 이 클라이언트 사용자가 필요합니다 /mnt/datadrive/tomcat/webapps.

내가 한 일은 다음과 같습니다.

  1. 사용자의 공개 키를 사용하여 사용자를 홈 디렉터리로 루트합니다.
  2. /home/client해당 이름으로 폴더를 만들고 tomcat_ROOT소유권을 부여합니다 clientdev.

이제 명령을 실행하면 다음과 같습니다.

$ mount --bind /mnt/datadrive/tomcat/webapps /home/client/tomcat_ROOT

/home/client클라이언트를 사용하여 로그인하면 내부 디렉터리 목록에서 해당 폴더가 사라집니다. 내 루트 사용자는 이를 볼 수 있지만 필수 사용자는 볼 수 없습니다.

다음은 일부 권한 목록입니다.

출력 ls -l /home/client/tomcat_ROOT:

drwxr-xr-x.  6 root   root    4096 Apr 11 15:07 .   
drwxrwxr-x. 12 root   root    4096 Apr 11 15:07 .. 
drwxr-xr-x.  3 root   root    4096 Apr  9 22:10 webapp1 
drwxr-xr-x.  4 root   root    4096 Mar 18 18:43 webapp2 
drwxr-xr-x.  3 root   root    4096 Apr  9 22:11 webapp3 
drwxrwxr-x. 10 root   root    4096 Apr 11 15:20 ROOT

출력 ls -l /home/client/:

drwx------. 4 clientdev clientdev 4096 Apr 10 21:36 . 
drwxr-xr-x. 7 root      root      4096 Apr 10 22:07 .. 
-rw-------. 1 client client  664 Apr 10 21:43 .bash_history 
-rw-r--r--. 1 client client   18 Apr 23  2012 .bash_logout 
-rw-r--r--. 1 client client  176 Apr 23  2012 .bash_profile 
-rw-r--r--. 1 client client  124 Apr 23  2012 .bashrc 
drwx------. 2 client client 4096 Apr 10 19:20 .ssh
drwxr-xr-x. 2 client client 4096 Apr 10 21:34 tomcat_ROOT

답변1

비슷한 설정이 있고 작동하므로 구성이 유효해 보입니다. 일치 규칙 위에 이 줄을 추가하는 것이 좋습니다. 이렇게 하면 로그에 더 자세한 메시지가 표시되므로 근본적인 문제에 초점을 맞추는 데 도움이 될 수 있습니다.

Subsystem   sftp    internal-sftp -f AUTH -l INFO

sshd변경 후에는 반드시 다시 시작하세요. 귀하의 문제는 디렉터리 또는 사용자 폴더의 권한과 관련이 있다고 생각됩니다. 반드시 준수해야 하는 몇 가지 매우 구체적인 사용 ChrootDirectory조건이 있습니다. 그렇지 않으면 SSHD가 협조하지 않습니다.

 ChrootDirectory
        Specifies the pathname of a directory to chroot(2) to after 
        authentication.  All components of the pathname must be root-owned 
        directories that are not writable by any other user or group.  
        After the chroot, sshd(8) changes the working directory to the 
        user's home directory.

        The pathname may contain the following tokens that are expanded at 
        runtime once the connecting user has been authenticated: %% is 
        replaced by a literal '%', %h is replaced by the home directory of 
        the user being authenticated, and %u is replaced by the username of 
        that user.

        The ChrootDirectory must contain the necessary files and directories 
        to support the user's session.  For an interactive session this 
        requires at least a shell, typically sh(1), and basic /dev nodes 
        such as null(4), zero(4), stdin(4), stdout(4), stderr(4), arandom(4) 
        and tty(4) devices.  For file transfer sessions using “sftp”, no 
        additional configuration of the environment is necessary if the in-
        process sftp server is used, though sessions which use logging do 
        require /dev/log inside the chroot directory (see sftp-server(8) for 
        details).

        The default is not to chroot(2).

답변2

디렉토리 권한을 확인할 수 있나요?

폴더 구조가 /home/test/app인 것처럼

/home/test에는 'chmod 700' 및 'chown testuser test'가 있어야 하며 /home/test/app에는 'chmod 750' 및 'chown testuser app -R'이 있어야 합니다.

시도해 보세요

chmod 700 /home/client/
chown clientd /home/client/
cd /home/client/
chmod 750 * -R
chown clientd clientdev * -R

디렉터리 권한을 변경해도 작동하지 않으면 알려주시기 바랍니다.

관련 정보