Właśnie zacząłem używać Scientific Linux (7.0) (choć zakładam, że to pytanie może być neutralne pod względem dystrybucji ..). Wersja jądra to 3.10.0-123.20.1.el7.x86_64.
Wracając do mojego pytania.
Przełączyłem się na root
konto i stamtąd utworzyłem nowe konto użytkownika test-account
za pomocą polecenia adduser test-account
. Nie monitował mnie o hasło ani nie użyłem opcji podania hasła. Sądzę więc, że jest to konto „bez hasła”. Mogę zalogować się na to konto z konta root - co, jak sądzę, byłbym w stanie bez podania hasła, nawet gdyby konto testowe miało hasło. Jednak gdy próbuję zalogować się na to (konto testowe) z trzeciego konta - monituje mnie o hasło. I samo naciśnięcie Enter
nie działa.
Czy można zalogować się na to konto z konta innego niż root. Czy istnieje sposób (bez przełączania się na rootowanie lub używanie sudo
)?
adduser
zna-p
opcję ustawienia hasła, jednak jego użycie nie jest zalecane. Więc jako root zróbpasswd test-account
i ustaw hasło.su test-account
. To przełącza się natest-account
monit bez hasła (co by się stało, nawet gdybytest-account
miał hasło). Jednak gdy próbuję przełączyć się na konto testowe z innego nieuprzywilejowanego konta użytkownika, jądro pyta mnie o hasło z monitem i nie przyjmuje nieważności (naciśnięcieeneter
)Odpowiedzi:
Domyślnie w GNU / Linux dla przedsiębiorstw i jego pochodnych
adduser
polecenie tworzy użytkownika, który jest wyłączony, dopóki nie zostanie wyraźnie określone hasło dla tego użytkownika.Oto przykład CentOS 6.5, który powinien być taki sam jak Scientific Linux.
Powodem tego jest to, że w
/etc/shadow
pliku pole hasła jest takie,!!
jak widać w przykładzie.po uruchomieniu
passwd
dla tego konta zmieni ono hasło użytkownika i umożliwi mu logowanie.więc powinieneś być w stanie wykonać następujące czynności, aby mieć użytkownika bez hasła, po prostu utwórz konto, a następnie usuń hasło.
teraz każdy użytkownik powinien móc używać
su
i logować się jako użytkowniktest
w moim przykładzie. nie będziesz musiałsudo
się logować jako konto.Chociaż jest to możliwe i możesz mieć konto bez hasła, nie jest to zalecane. Jeśli po prostu ustawisz hasło dla użytkownika, powinieneś mieć możliwość logowania.
źródło
test-account
root, jeśli tak jest (użytkownik jest wyłączony)?su test-account
su
roota?root
puszka użytkownikasu
do dowolnego konta, które ma powłokę. Jeśli na przykład powłoka została ustawiona/bin/false
na, nie działałaby. To tylko magiaroot
! wiele kont użytkowników nie ma prawidłowej powłoki i są używane tylko do uruchamiania określonych programów jako ten użytkownik. takich jakapache
użytkownik i serwer WWW Apache.Mam gościa użytkownika, który nie wymaga hasła. Oto jego zapis:
Ciąg „U6aMy0wojraho” jest hashowanym hasłem użytkownika-gościa. Kiedy się loguję, po prostu wciskam Enter, aby uzyskać hasło, a system pozwala mi się zalogować.
Powinieneś edytować plik / etc / shadow i dodać wyżej wspomniany ciąg zaraz po nazwie użytkownika i pierwszym dwukropku.
Skopiowałem ten ciąg z Live CD Ubuntu - jego użytkownik nie ma hasła.
źródło
passwd -d ...
) działa to dodatkowo z sddm./etc/shadow
Bezpośrednia edycja pliku jest ryzykowna i zwykle nie jest zalecana. Posiadanieguest
konta jest w porządku, ale użycie narzędzi do edycji hasła ograniczy potencjalne niewłaściwe wprowadzanie danych przez użytkownika lub problemy z zapisywaniem plików dla wielu użytkowników.chpasswd -e
by to zrobić bardziej bezpiecznie: unix.stackexchange.com/a/472966/32558Użytkownik z pustym hasłem
Pytanie o hasło nadal jest niestety wyświetlane.
Ale jeśli po prostu naciśniesz klawisz Enter bez wpisywania czegokolwiek, a zaloguje się on jako użytkownik
test-user-0
.Te
-e
flagi mówichpasswd
, że hasło jest już zaszyfrowane iU6aMy0wojraho
jest hash pustego łańcucha.Testowane na Ubuntu 18.04.
BusyBox autologin
Przynajmniej na terminalu nie musisz tworzyć użytkownika bez hasła, aby ktoś mógł nie wpisywać swoich haseł za każdym razem,
inittab
wystarczy trochę hackowania : Jak zalogować się automatycznie bez wpisywania nazwy użytkownika root lub hasła w Buildroot BusyBox init?źródło