Zmiana powłoki logowania niekoniecznie uniemożliwia użytkownikom uwierzytelnianie (z wyjątkiem niektórych usług, które sprawdzają, czy powłoka użytkownika jest wymieniona w /etc/shells
).
Ludzie mogą nadal być w stanie uwierzytelniać się w różnych usługach, które twój system zapewnia użytkownikom unixowym, i mogą być nadal upoważnieni do wykonywania niektórych działań, choć prawdopodobnie nie mogą wykonywać dowolnych poleceń bezpośrednio.
Zmiana powłoki na /bin/false
lub /usr/sbin/nologin
uniemożliwi im uruchamianie poleceń tylko w tych usługach, których można używać do uruchamiania poleceń (logowanie do konsoli, ssh, telnet, rlogin, rexec ...), więc wpływ na autoryzację tylko niektórych usług.
Na ssh
przykład nadal pozwala im to na przekierowanie portów.
passwd -l
wyłączy uwierzytelnianie za pomocą hasła, ale użytkownik może nadal mieć możliwość korzystania z innych metod uwierzytelniania (np. authorized_keys
z ssh
).
Przy pam
Linuksie możesz przynajmniej użyć pam_shells
modułu, aby ograniczyć uwierzytelnianie lub autoryzację do użytkowników z dozwoloną powłoką (tymi wymienionymi w /etc/shells
). Na przykład ssh
, będziesz chciał to zrobić na poziomie autoryzacji ( account
), jak w przypadku sshd
zastosowań uwierzytelniania pam
oprócz innych metod uwierzytelniania (jak authorized_keys
), lub możesz to zrobić za pomocą sshd_config
dyrektyw w /etc/ssh/sshd_config
(jak AllowUsers
i znajomych).
Pamiętaj jednak, że dodanie pewnych ograniczeń w globalnej autoryzacji pam może potencjalnie uniemożliwić uruchamianie cron
zadań jako tych użytkowników.
/bin/false
wydaje się bardziej powszechne niż/bin/true
.