Isilon: OneFS 8.X e posterior: Como bloquear usuários de FTP em um diretório específico
Summary: Este artigo descreve como usar o comando isi ftp para configurar o acesso aos diretórios no cluster para usuários que se conectam usando FTP.
Instructions
O seguinte será abordado:
- Analisando as configurações atuais de FTP
- Explicação das configurações normalmente ajustadas
- Comportamento padrão
- Roteamento de usuários para um diretório específico
- Restringindo usuários a uma árvore de diretórios
Analisando as configurações atuais de FTP
sa8004-1# isi ftp view Accept Timeout: 1m Allow Anon Access: No Allow Anon Upload: Yes Allow Dirlists: Yes Allow Downloads: Yes Allow Local Access: Yes Allow Writes: Yes Always Chdir Homedir: Yes Anon Chown Username: root Anon Password List: - Anon Root Path: /ifs/home/ftp Anon Umask: 0077 Ascii Mode: off Chroot Exception List: - Chroot Local Mode: none Connect Timeout: 1m Data Timeout: 5m Denied User List: - Dirlist Localtime: No Dirlist Names: hide File Create Perm: 0666 Limit Anon Passwords: No Local Root Path: - Local Umask: 0077 Server To Server: No Session Support: Yes Session Timeout: 5m User Config Dir: - FTP Service Enabled: Yes
Configurações normalmente ajustadas
Há algumas configurações relacionadas à forma como os usuários são roteados no log-in que geralmente são alteradas:
- Always chdir (alterar diretório de trabalho) homedir (diretório base)
isi ftp modify --always-chdir-homedir=[true|false]- Define se o Isilon permitirá ou não que um usuário use o FTP direto em um diretório diferente de seu inicial
- Chroot Exception List
isi ftp modify --chroot-exception-list=["comma separated list of usernames"]- Define quem pode ignorar
Chroot Local Mode
- Chroot Local Mode
isi ftp modify --chroot-local-mode=['all','all-with-exceptions','none','none-with-exceptions']- Define se há ou não
chrooté aplicado e como o aplicamos- tudo | O acesso do usuário é limitado a
Local Root Pathe crianças - tudo-com-exceções | Todos os usuários, exceto aqueles na
Chroot Exception Listlimitam-se aLocal Root Pathe crianças - nenhum | O acesso do usuário não está limitado ao
Local Root Path - Nenhuma-com-exceções | Nenhum usuário, exceto os da
Chroot Exception Listlimitam-se aLocal Root Pathe crianças
- tudo | O acesso do usuário é limitado a
- Local root path
isi ftp modify --local-root-path=['/ifs/ftp/path']- Isso define onde os usuários de FTP são roteados no log-in. Se deixado em branco, o padrão é o diretório base do usuário
Comportamento padrão do FTP
Veja como o serviço FTP se comportará por padrão.
- Allow Anon Access: Não
- Always Chdir Homedir: Sim
- Chroot Local Mode: none
- Local root Path: -
Isso significa que somente os usuários que existem em um provedor de autenticação terão permissão para acessar o cluster por FTP. O sistema sempre iniciará uma conexão enviando-os para seus diretórios raiz e permitirá que eles naveguem livremente (com base na avaliação de permissão). Desde Local Root Path é indefinida, os usuários serão roteados para o caminho especificado em seu perfil de usuário. Você pode verificar isso com isi auth users $username | grep Home em que $username é substituído pelo nome de usuário que você está verificando. Veja um exemplo com um usuário local:
sa8004-1# isi auth users view xavier | grep Home Home Directory: /ifs/home/xavier
Na configuração padrão, o usuário acima se conectaria ao Isilon e seria roteado para /ifs/home/xavier (independentemente do caminho definido na conexão), podendo então alterar os diretórios para /ifs/home/ desde Chroot Local Mode está definido como Nenhum.
Roteamento de usuários para um diretório específico
Por padrão, os usuários que se conectam ao serviço FTP do OneFS serão roteados para seu diretório base. No entanto, muitas vezes, os clientes preferem que o FTP funcione mais como uma dropbox. Nesse caso, basta editar a configuração Local Root Path. Isso fará com que os usuários sejam roteados para esse caminho em vez de seu diretório base. Definir o valor como <em branco> o redefinirá para diretórios base.
Aqui estão alguns exemplos desses comandos:
# Routing to /ifs/ftp sa8004-1# isi ftp modify --local-root-path=/ifs/ftp # Restoring to default sa8004-1# isi ftp modify --local-root-path=''
Restringindo usuários a uma árvore de diretórios
Por padrão, os usuários que se conectam ao serviço de FTP do OneFS podem ver todo o file system e navegar nele conforme permitido por suas permissões (ainda verificamos o nome de usuário etc.). No entanto, muitos clientes preferem que seus usuários permaneçam restritos apenas à parte do file system relevante para eles. Isso é feito com a configuração Chroot Local Mode. Quando essa configuração é aplicada a um usuário, ele só poderá navegar ou ver arquivos abaixo de suas Root Path. Por padrão, isso é definido como none, mas há quatro aplicações diferentes da configuração.
Ajuste essa configuração com isi ftp modify --chroot-local-mode=['all','all-with-exceptions','none','none-with-exceptions']
- tudo | O acesso do usuário é limitado a
Local Root Pathe crianças - tudo-com-exceções | Todos os usuários, exceto aqueles na
Chroot Exception Listlimitam-se aLocal Root Pathe crianças - nenhum | O acesso do usuário não está limitado ao
Local Root Path - Nenhuma-com-exceções | Nenhum usuário, exceto os da
Chroot Exception Listlimitam-se aLocal Root Pathe crianças
Adicione exceções com o isi ftp modify --chroot-exception-list=["comma separated list of usernames"]
Aqui está um exemplo de limitação de todos os usuários, exceto um, a /ifs/ftp. Esse usuário ainda iniciará sua conexão, mas poderá ver o restante do /ifs/
# Adding user to exception list sa8004-1# isi ftp modify --chroot-exception-list=xavier # Routing all logins to `/ifs/ftp` sa8004-1# isi ftp modify --local-root-path=/ifs/ftp # Limiting everyone by `xavier` to the Local Root Path sa8004-1# isi ftp modify --chroot-local-mode=all-with-exceptions
Notas
Referência de comando:
- Guia de administração da CLI do PowerScale OneFS
- Este Guia do administrador não define o comportamento de todos os comandos