FreeBSD mount_nullfs / nullfs resulta em operação não permitida

1

Estou usando o FreeBSD como um servidor web local e quero usar o SFTP para acessar os arquivos do projeto. Eu criei um usuário, mas não quero que o usuário possa navegar acima de seu diretório inicial.

Concha do usuário: /usr/sbin/nologin

Página inicial do usuário: /usr/home/username

Eu consigo estabelecer uma conexão SFTP como o usuário, mas preciso tornar os arquivos de projeto acessíveis para manipulação.

Os arquivos de projeto estão em /usr/local/www/nginx/projectname

Com base em uma resposta de uma pergunta relacionada, tentei:

mount_nullfs /usr/local/www/nginx/projectname /usr/home/username

mas isso só resulta em " Operação não permitida ".

Eu tenho procurado por um tempo agora e não posso determinar por que isso não está funcionando. Como posso conseguir isso?

Editar:

  • Tentei montar como root
  • Consigo chiar o usuário para o diretório do projeto
  • Deve-se mencionar que este servidor é uma cadeia em freenas, mas ambos os diretórios estão no mesmo servidor.
por Chris 13.07.2018 / 04:52

2 respostas

0

No começo, assumirei que você em sshd_config tem algo nos seguintes termos:

Port 22

PermitRootLogin no
ChallengeResponseAuthentication no
UsePAM no

Subsystem       sftp    internal-sftp

Match Group sftp
    ChrootDirectory %h
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no

Segundo, eu suponho que você esteja fazendo a montagem nullfs como um usuário comum. Usuários regulares normalmente não podem montar sistemas de arquivos. Se eu tentar como root - funciona para mim.

Teste-o como root ( sudo ou su ) para confirmar que você tem os caminhos corretos. Em seguida, adicione-o a /etc/fstab

/usr/local/www/nginx/projectname       /usr/home/username     nullfs    rw     0      0

Isso deve ser o suficiente.

Nesse caso, não faz sentido permitir que um usuário comum monte nada. Mas isso pode ser feito definindo vfs.usermount=1 em /etc/sysctl.conf e adicionando devfs regras se /dev/ for necessário.

Por fim, se você estiver usando ChrootDirectory , basta definir os usuários diretamente como /usr/local/www/nginx/projectname . A indirecção usando nullfs pode fornecer uma camada extra de segurança. Mas se você confia em seu sshd_config , então isso é suficiente.

    
por 13.07.2018 / 13:48
0

Você teria que modificar a configuração do jail para permitir a montagem de nullfs dentro de uma cadeia. Isso normalmente não é algo permitido dentro de uma prisão por motivos de segurança. Eu recomendaria contra isso.

Você poderia configurar a montagem nullfs no sistema host (em / etc / fstab), mas isso é mais difícil com o FreeNAS devido à maneira como ele armazena sua configuração.

    
por 06.09.2018 / 02:27

Tags