Você pode fazer isso criando um contêiner LUKS em um arquivo e montando-o como a casa do usuário sftp, por exemplo,
# Create a 1G file to work with
dd if=/dev/zero of=/path/to/container bs=1M count=1024
# Make it a LUKS container and open it for use
cryptsetup -y luksFormat /path/to/container
cryptsetup luksOpen /path/to/container sftpvolume
# Format it for use
mkfs.ext4 -j /dev/mapper/sftpvolume
Agora você pode montá-lo como o diretório home do sftp
mount /dev/mapper/sftpvolume /home/sftpuser
Para montar na inicialização, você precisará craetar uma entrada adequada em / etc / cryptab, veja crypttab (5) para detalhes e uma entrada em / etc / fstab veja fstab (5) para detalhes .
As permissões normais do sistema de arquivos devem ser suficientes para atender aos seus outros requisitos.