mtak@rubiks:~$ ssh admin@pdv1
admin@pdv1's password:
Linux pdv1 4.4.8-1-pve #1 SMP Tue May 17 16:14:08 CEST 2016 x86_64
Last login: Wed Aug 24 12:05:28 2016 from xxx
root@pdv1:~#
Como você conhece assshd verificações do UID 0? Você não está usando nenhuma argumentação para apoiar sua declaração.
mtak
2
O Unix define um superusuário pelo seu UID = 0. Como outro exemplo pode ser um código fonte de openssh.
Jakuje 24/08/16
O kernel funciona, mas você estava assumindo que o OpenSSH também funcionava. Por exemplo, a autenticação básica do Apache também não permite login raiz, não é? Obrigado pelo link, modifiquei sua resposta para incluir isso.
mtak
1
Se o fizesse de outra maneira, seria um risco potencial à segurança.
Jakuje
3
@Bakuriu e por que criaria o pwcontexto a partir de outra coisa. O opensshcódigo é de código aberto e os leitores interessados podem passar por todo o código. Construções semelhantes estão por todo o código para todos os métodos de autenticação. Se você greppassar pelo código, nunca encontrará strcmp('root', pw->pw_name), se o tornará mais confiável para você.
root@pdv1
no shellAgradeço a abordagem do @mtak na outra resposta, mas a resposta é óbvia mesmo sem esses testes.
É baseado em
UID
, como você pode ver no código fonte do openssh:Além disso, todo método de autenticação mostra algo como
grep
- ainda mais no código, você pode notar, não há nenhumastrcmp('root', pw->pw_name)
alternativa, se for o suficiente para você.fonte
sshd
verificações do UID 0? Você não está usando nenhuma argumentação para apoiar sua declaração.openssh
.pw
contexto a partir de outra coisa. Oopenssh
código é de código aberto e os leitores interessados podem passar por todo o código. Construções semelhantes estão por todo o código para todos os métodos de autenticação. Se vocêgrep
passar pelo código, nunca encontrarástrcmp('root', pw->pw_name)
, se o tornará mais confiável para você.