No Solaris, posso criar uma conta de usuário em uma única entrada de linha de comando que não esteja desabilitada, mas com a senha desabilitada (só permite SSH)

2

Estou construindo um script para os SA seguirem ao executar determinada tarefa. Essa tarefa requer a adição de um usuário a um sistema que só pode fazer SSH para o sistema (usando uma chave) e não efetuar login com uma senha. O que eu quero fazer é que o SA execute o comando adduser com os flags apropriados, todos de uma vez, para criar o usuário.

Eu não quero fazer adduser ... então usermod -L, username. (que bloqueia completamente o usuário) ou defina o shell como / sbin / nologin (que faz a mesma coisa que usermod -L.

Eu também não quero que o SA edite manualmente / etc / passwd.

Estou procurando uma solução de linha de comando única. Eu sei que posso escrever um script, mas isso exigiria que o SA baixasse o script e o executasse, que é meu último recurso.

    
por weismanm 23.05.2014 / 18:15

2 respostas

1

Com relação a uma solução de uma linha, não há nenhuma. Uma lógica complexa como essa requer manipulação da pilha do PAM. Dito isso, eu não acho que essa regra do PAM teria que ser muito complexa ... então isso realmente depende se você tem uma estratégia de gerenciamento de configuração para gerenciar essa configuração do PAM para você, e não colocá-la no SE. Se você fizer isso, isso pode não ser muito doloroso.

É um fato frequentemente negligenciado, mas a autenticação ssh baseada em chave ignora a pilha auth do PAM. Se você tiver uma maneira de identificar as pessoas que devem fazer login apenas via chaves SSH, poderá instalar um gancho na pilha auth que falhar na tentativa de autenticação se essa característica for vista. Sugiro criar um grupo para essa finalidade, pois ele é melhor do que os nomes de usuário com código de hardware em uma configuração do PAM.

Colocando tudo isso junto, e assumindo que 65536 é o gid do grupo em questão:

  1. groupadd -g 65536 sshonly
  2. Adicione a seguinte linha ao topo da sua pilha auth :
    auth required pam_succeed_if.so gid ne 65536
  3. useradd -u $SOMEUID -g $SOMEGID somename
  4. usermod -a -G sshonly somename
por 23.05.2014 / 19:11
0

Na verdade, a resposta de Andrew não está totalmente correta. Embora a criação do grupo distinto e a modificação da pilha de autenticação sejam boas recomendações, as etapas 3 e 4 podem, de fato, ser feitas em uma linha. Com base no exemplo de Andrew, aqui está o one-liner (e um pouco mais perto de completar):

useradd -u $SOMEUID -g $SOMEGID -G sshonly -s $SHELL -c comment -d $HOMEDIR somename

Sinalizadores adicionais podem ser adicionados conforme necessário para o seu ambiente. Espero que isso ajude!

    
por 20.04.2017 / 18:58