Dar a todos eles acesso à mesma conta fictícia não parece inteligente. Mesmo se você bloqueá-lo para ter acesso a nada, MAS smbpasswd
eles ainda poderiam mudar as senhas do outro. E há sempre a possibilidade de um ataque de escalonamento de privilégios mal-intencionados.
Essencialmente, o que parece que você quer é permitir que eles executem APENAS o comando smbpasswd
da própria conta de usuário enquanto ainda têm uma conta equivalente a nologin
.
Isso pode ser feito com o uso da opção "ForceCommand" no seu sshd_config.
Tente isto:
-
Conceda a cada usuário uma conta da conta do Samba para o mesmo grupo. Para nosso exemplo, digamos "sambaOnly":
#From Root groupadd sambaOnly usermod -a -G sambaOnly Joe
-
Em seguida, queremos alterar nosso arquivo sshd_config para ter o seguinte:
#From Root cat << EOF >> /etc/ssh/sshd_config Match Group sambaOnly ForceCommand smbpasswd EOF
Presto. Pelo que entendi (e testes breves), isso significa que, quando eles fizerem login via SSH, terão automaticamente o comando smbpasswd
executado e serão solicitados de acordo. Eles nunca terão a chance de ter acesso ao shell. Depois que o comando é concluído, eles são desconectados automaticamente, nunca mais tendo a chance de ter acesso ao shell.
Eu não estou 100% certo de que isso remove todo o acesso à máquina remotamente. Por exemplo, se você estiver executando um servidor SSH diferente na mesma máquina que não ForceCommand
, eles poderão fazer o login por meio dele, dependendo de sua configuração de controle de acesso.
Além disso, se eles tiverem a oportunidade de acessar fisicamente um terminal, eles poderão fazer login.
No entanto, acho que na maioria das situações isso é um controle de acesso bastante strong.