OpenSSH - restringe os usuários a uma ou várias pastas

1

Eu quero saber como posso restringir o acesso do usuário usando o OpenSSH Server. Digamos que eu queira

  • usuário 1 para acessar somente / Mídia, / Documentos e sua pasta pessoal,
  • O usuário 2 deve acessar somente / Folder21 e sua homefolder,
  • O usuário 3 deve ter acesso somente a / Documents, / Folder21 e sua pasta pessoal,

Como posso fazer uma coisa dessas?

Eu encontrei como fazer isso com uma pasta, mas isso foi para todos os usuários, eu acho?    descrição aqui: link

(copiado do link que dei acima:
Posso apenas fazer isso:

$ usermod User1 -s /bin/false
$ usermod User2 -s /bin/false

E defina o diretório inicial do usuário:

$ usermod User1 -d /folder
$ usermod User2 -d /folder

em seguida, cria todas as outras pastas subpastas de / folder e restringe o acesso a essas pastas de acordo com meus desejos usando o comando chmod , ou existe uma solução melhor?

Adição e esclarecimento: Adicioná-lo ao seu homedirectory não é uma opção, já que são pastas compartilhadas, alguns usuários precisam acessar o mesmo conteúdo, enquanto ele é restrito a outros usuários,

Isso é o que eu tinha em mente:

  • usuário 1
  • usuário 2
  • usuário 3
  • usuário 4

  • pasta "Documentação de rede"

  • pasta "documentação do aplicativo"
  • pasta "Downloads"
  • pasta "Mídia"

  • O usuário 1 precisa de acesso total a tudo, mas acesso somente leitura à documentação da inscrição Item da lista

  • O usuário 2 precisa de acesso total a ambas as pastas de documentação
  • O usuário 3 precisa apenas de acesso à pasta "Mídia"
  • O usuário 4 só precisa acessar a pasta "Downloads" e "Documentação do aplicativo"
por FrankB 02.10.2014 / 17:34

2 respostas

0

Você poderia não apenas colocar as pastas que deseja que cada usuário acesse em seu diretório pessoal? Se não, acredito que o ssh usa as mesmas permissões de arquivo que o sistema de arquivos no computador. Assim, você pode usar apenas os mesmos modificadores de permissões de arquivo que você usaria para conceder ao usuário acesso a uma pasta fora de seu diretório inicial, desta forma: link

    
por Termhn 02.10.2014 / 20:39
0

Você pode fazer um sistema de controle de permissões simples.

Primeiro, você precisa de uma árvore de diretórios, então vamos fazer isso:

~ (Home Folder
|
|---> Their Files
|
|---> Symlink to /opt/public/

Em /opt/public/ , você tem todas as suas pastas. Neste caso,

  • Media
  • Documents
  • Folder51

Como você tem apenas três usuários (e três pastas), você pode criar grupos.

Uma maneira simples de fazer isso é criar um grupo para cada pasta. Por exemplo:

  • groupadd opt-public-media-access
  • groupadd opt-public-documents-access
  • groupadd opt-public-folder51-access

Agora, adicione os usuários aos grupos específicos (nesse caso, user1 está indo para o grupo media .)

usermod -a -G opt-public-media-access user1

Por fim, execute esses comandos em cada pasta para garantir perms de leitura / gravação somente para o grupo específico:

chown -R root:opt-public-media-access /opt/public/Media
chmod 770 -R /opt/public/Media/

Adicione e remova grupos / pastas à vontade. Algumas coisas a notar, no entanto:

  • O comando para remover grupos é groupdel . Você deve excluir o grupo quando excluir a pasta.
  • Outros usuários do sistema que não estão no grupo adequado não poderão acessar essas pastas, independentemente disso.
  • Forneça a cada usuário sua própria pasta pessoal. Não coloque em algo como /opt/public .
  • O Root pode ir onde quiser. Certifique-se de que nenhum dos usuários tenha sudo de direitos.
  • Todos os comandos nesta postagem devem ser executados como root, a menos que especificado de outra forma .
por Kaz Wolfe 03.10.2014 / 17:32