Permissão somente leitura para usuário sftp em diretório específico

Permissão somente leitura para usuário sftp em diretório específico

Quero criar um usuário SFTP específico que terá permissões para ler apenas todas as pastas e subpastas no arquivo /var/www/vhosts. Alguma ajuda sobre isso?

Responder1

Os sistemas Unix fornecem o chrootcomando que permite redefinir o /usuário para algum diretório na hierarquia do sistema de arquivos, onde ele não pode acessar arquivos e diretórios "superiores".

No entanto, no seu caso, seria apropriado fornecer um chroot virtual implementado pelo serviço shell remoto. O sftp pode ser facilmente configurado para restringir um usuário local a um subconjunto específico do sistema de arquivos.

portanto, no seu caso, você deseja, chrootdigamos, usuário foousuário no /var/www/vhosts/diretório.

Você pode definir um diretório chroot para seu usuário confiná-lo ao subdiretório /var/www/vhosts/como em /etc/ssh/sshd_config;

Criar usuário foocom senha

sudo useradd foo
sudo passwd foo

Criar apenas para grupo SFTP

$ sudo groupadd sftp_users 

Adicionar a um usuário fooapenas para grupo SFTP

$ sudo usermod -G sftp_users foo 

Alterar proprietário, porque permissão de leitura/gravação

sudo chown root.root /var/www/vhosts/

Adicionar permissão

sudo chmod 755 /var/www/vhosts/

Editar/etc/ssh/sshd_config

sudo vi /etc/ssh/sshd_config

Comente e adicione uma linha como abaixo

#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp

Adicione no último

Match Group sftp_users
  X11Forwarding no
  AllowTcpForwarding no
  ChrootDirectory /var/www/vhosts/
  ForceCommand internal-sftp

(NOTA: Matchos blocos precisam estar noFIMdo sshd_configarquivo.)

Reiniciar sshserviço

sudo service ssh restart

Com esta configuração você pode fazer ssh na pasta ubuntue obter arquivos. Não pode putoudelete

Para fazer sftp na pasta certa, edite o arquivo /etc/passwd. Altere a linha do usuário foopara ficar assim

$ sudo vi /etc/passwd

..
foo:x:1001:1001::/var/www/vhosts/:
..

Isso mudará fooa pasta inicial do usuário para a pasta do servidor SFTP.

informação relacionada