Como acessar a pasta especificada via SSH / SFTP?

0

Eu olhei para algum tópico similar, mas eu não os entendo ainda. Porque eu sou iniciante absoluta neste tópico.

Eu quero resolvê-lo para que cada usuário acesse apenas seu diretório pessoal específico por meio de conexão SFTP.

Estrutura de exemplo:

admin1 access to: /var/www/vhosts/vhost1
(optional)editor1 access to: /var/www/vhosts/vhost1/public

admin2 access to: /var/www/vhosts/vhost2
(optional)editor2 access to: /var/www/vhosts/vhost2/public

etc...
...'
    
por Adam P. 18.12.2016 / 17:29

1 resposta

0

Talvez você esteja se referindo a uma Jail , uma pasta em que um usuário específico será confinado.
Tentarei retomar um exemplo de configuração :

1) Preparação do Ambiente
Você precisa fazer algumas etapas para preparar o ambiente da cadeia. Nós temos que respeitar algumas limitações de segurança impostas pelo SSH (se você quiser, você pode desativá-las, por que é realmente uma má idéia!).

  • A pasta Jail deve ser de propriedade da raiz
  • Jail fodler não pode ser grupo / outros graváveis
  • A pasta .ssh/ deve ter modos 700
  • O arquivo authorized_keys deve ter modos 600

Vamos supor que você tenha um usuário cujo nome de usuário seja echoes e cujo diretório pessoal seja /home/echoes/ e suponha que queremos delimitá-lo em seu próprio diretório inicial. Vamos supor, como você diz, que queremos usar uma conta SFTP com mecanismo de autorização de chave pública para isso.

mkdir /home/echoes/.ssh
# write echoes public-key into /home/echoes/.ssh/authorized_keys
chown root /home/echoes/  
chmod 755 /home/echoes/  
chown -R echoes:echoes /home/echoes/.ssh/  
chmod 700 /home/echoes/.ssh/  
chmod 600 /home/echoes/.ssh/authorized_keys  

2) Configuração SSH
Agora precisamos combinar o usuário e confiná-lo em seu próprio diretório inicial. Então, vamos abrir o arquivo de configuração do SSH Server:

vim /etc/ssh/sshd_config  

Ative o internal-sftp para gerenciar as conexões do sftp:

Subsystem sftp internal-sftp  

Copie e cole as seguintes linhas no arquivo de configuração sshd_config . Estamos dizendo: quando você combina echoes , basta movê-lo para a pasta definida por ChrootDirectory (sua pasta home onw neste exemplo).

Match user echoes  
    ChrootDirectory /home/echoes/ 
    ForceCommand internal-sftp

3) Permitir operações de escrita dentro de uma subpasta Como você pode ver, a pasta home do usuário agora é de propriedade da raiz, então echoes não poderá gravar alguns arquivos nela. Por esse motivo, você pode criar uma nova subpasta (por exemplo, echoes-write ), permitindo que o usuário escreva dentro dela:

mkdir /home/echoes/echoes-write/
chown echoes:echoes /home/echoes/echoes-write/
chmod ug+w /home/echoes/echoes-write/  

4) Mova-se automaticamente para sua própria pasta gravável

Se você precisa automaticamente:
Corresponder usuário - > Mova-o para uma prisão - > Mova-o automaticamente para sua subpasta gravável de sua própria Jail, avise-me e tentarei retomar esse cenário como etapas de configuração.
Como você não escreveu informações sobre o seu sistema, fiz muitas suposições.

Espero que esteja claro e ajude você :)

    
por 18.12.2016 / 18:46