Tornar pastas ocultas invisíveis por sftp

Tornar pastas ocultas invisíveis por sftp

Meu cliente precisava de um servidor SFTP para compartilhar arquivos, então criei um servidor SFTP em uma máquina Amazon EC2 Ubuntu e adicionei usuários diferentes.

Agora, a necessidade deles é que quando o usuário faça login no servidor sftp via Winscp ou algum outro cliente, eles possam ver apenas suas próprias pastas no diretório inicial, as outras pastas não devem estar visíveis para eles. Também em seus diretórios pessoais eles não deverão ver nenhum arquivo ou pasta que comece com ponto(.).

Isso é possível? por exemplo, veja o link da captura de tela abaixo, só quero que meu cliente veja/acesse a pasta Transcript, nada mais.

https://i.stack.imgur.com/kEHfW.png

Responder1

Obrigado a todos, finalmente este link me ajudou a realizar minha tarefa.http://rmtheis.wordpress.com/2011/07/03/setting-up-an-sftp-site-on-amazon-web-services-ec2-creating-an-account-to-share-with-a- terceiro-e-restringindo-essa-conta-para-permitir-apenas-sftp/

Isso consiste em três partes:

  • configurando um site sftp no EC2
  • criando uma nova conta de usuário
  • configurando a nova conta de usuário para fazer FTP somente leitura, sem privilégios ssh

Destina-se à transferência de arquivos de e para usuários confiáveis. Eu uso isso como uma solução adequada para enviar ocasionalmente arquivos muito grandes para clientes, usando uma instância EC2 dedicada a essa tarefa. Após a conclusão da transferência, encerro ou excluo a instância.

Configure um servidor usando Amazon Web Services EC2, escolhendo uma imagem de máquina Ubuntu Amazon (AMI). (Você pode encontrar uma AMI usando http://cloud.ubuntu.com/ami/. Você pode escolher um que seja qualificado para o nível gratuito, como ami-1aad5273)

ssh no servidor:

ssh -i keyfile.pem [email protected]

Instale o vsftpd:

sudo apt-get install vsftpd

Crie um novo usuário:

sudo adduser newusername

Usando o AWS Management Console, gere um novo par de chaves para o usuário terceirizado.

Usando puttygen, importe a nova chave (keyname.pem) e copie sua chave pública.

No servidor, crie o diretório .ssh para o novo usuário:

sudo mkdir /home/newusername/.ssh

Cole a chave pública em /home/newusername/.ssh/authorized_keys.

Definir permissões:

sudo chmod 700 /home/newusername/.ssh

sudo chmod 600 /home/newusername/.ssh/authorized_keys

sudo chown -R newusername:newusername /home/newusername/.ssh

Teste o login sftp do novo usuário em sua máquina local:

sftp -o IdentityFile=newkeypair1.pem
[email protected]

Crie um novo grupo para usuários que devem se limitar a usar apenas sftp:

sudo groupadd sftponly

sudo adduser newusername sftponly

Edite /etc/ssh/sshd_confige altere a linha do Subsistema para:

Subsystem sftp internal-sftp

e adicione estas linhas ao final de /etc/ssh/sshd_config:

Match group sftponly
ChrootDirectory /home/%u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp

Defina permissões, sem sobrecarregar os arquivos necessários para a autenticação baseada em chave do EC2:

sudo chown root:root /home/newusername

sudo chown -R newusername:newusername /home/newusername/.ssh

sudo /etc/init.d/ssh restart

Agora o novo usuário pode se conectar por sftp, mas não por ssh. Coloque os arquivos que deseja compartilhar /home/newusernamee compartilhe a chave com o usuário.

informação relacionada