Como impedir o login remoto, mas habilite um 'su username' local

0

Estamos escrevendo um aplicativo (perl, mysql) que será executado sem problemas em um * nix (provavelmente CENTOS).

Como posso configurar / proteger o usuário / senha local para a conta 'app' (onde o aplicativo será executado) para que,

  • um ssh-login remoto não é possível
    ssh está funcionando, então logins para todas as contas, mas eu preciso proteger essa conta única
  • um 'su app' funciona para usuários com contas existentes

Como é essa configuração? Eu certamente não sou o primeiro a tentar isso, ele deve ser documentado muitas vezes, mas não consigo encontrar os termos de pesquisa relevantes para o Google.

EDIT: Solução

Eu adicionei as linhas:

# prevent certain users from using ssh for login
# while retaining the option to 'su username'
DenyUsers app

para / etc / ssh / sshd_config

depois reinicie o sshd usando

service sshd restart

Agora posso fazer login como 'usuário' em ssh e 'su app' para funcionar como aplicativo.

    
por lexu 27.10.2009 / 10:37

2 respostas

2

coloque todos os usuários em um grupo 'remote_users' e especifique em seu sshd.conf , que apenas os usuários desses grupos podem fazer login via ssh:

AllowGroups

         This keyword can be followed by a list of group name patterns,
         separated by spaces.  If specified, login is allowed only for
         users whose primary group or supplementary group list matches one
         of the patterns.  Only group names are valid; a numerical group
         ID is not recognized.  By default, login is allowed for all
         groups.  The allow/deny directives are processed in the following
         order: DenyUsers, AllowUsers, DenyGroups, and finally
         AllowGroups.
    
por 27.10.2009 / 10:43
0

Se você estiver usando chaves openssh para efetuar login via ssh, você pode simplesmente proibir logins de senha para todas as contas. su ing ainda seria possível.

    
por 27.10.2009 / 10:44