Alterando o ChrootDirectory para um subdiretório dentro do diretório home

0

Estou criando usuários em meu sistema, que são chroot que são presos em seu próprio diretório pessoal usando apenas "/ etc / ssh / sshd_config". Funciona bem, mas eu quero fazer com que ChrootDirectory faça o seu diretório home para /home/%u/%u ou /home/%u/public .

Eu tentei os dois, mas parece sempre negar a conexão ao fazer isso e conectar usando um cliente FTP como FlashFXP ou FileZilla ( /home/%u funciona).

As permissões são adequadas, pois consigo acessar o subdiretório quando ele está definido como "ChrootDirectory / home /% u". O que estou fazendo errado então?

    
por Aradmey 07.10.2017 / 16:09

1 resposta

1

man sshd_config :

ChrootDirectory
Specifies the pathname of a directory to chroot(2) to after authentication. At session startup sshd(8) checks that all components of the pathname are root-owned directories which are not writable by any other user or group.

Você pode usar o diretório pessoal (mas não um subdiretório) sem truques se você limitar os usuários ao SFTP:

In the special case when only sftp is used, not ssh nor scp, it is possible to use ChrootDirectory %h or ChrootDirectory /some/path/%u. The file system containing this directory must be mounted with options nodev and either nosuid or noexec. The owner of the directory should be the user. The ownership of the other components of the path must fulfill the usual conditions. No aditional files are required to be present in the directory.

A limitação ao SFTP é possível com ForceCommand internal-sftp .

    
por 07.10.2017 / 17:34