Czy mogę ustawić moje konto użytkownika na brak hasła?

81

Jeśli spróbuję zmienić hasło na nic, otwierając „Konta użytkowników”, przycisk „Zmień” pozostaje wyszarzony:

Jak zmienić hasło, aby było puste? Wiem, że możesz ustawić Ubuntu na automatyczne logowanie, ale chcę, aby moje hasło było puste, nigdy nie chcę wpisywać hasła w celu uwierzytelnienia się jako ten użytkownik.

Wiem, że istnieją powody, dla których może to nie być dobry pomysł, ale chcę wiedzieć, czy to w ogóle możliwe. Używam Ubuntu 12.10.

Flimm
źródło

Odpowiedzi:

140

Nie możesz tego zrobić za pomocą narzędzia GUI, ale możesz użyć terminala.

  1. Po pierwsze, jeśli twój użytkownik ma uprawnienia sudo, musisz włączyć jego NOPASSWDopcję. W przeciwnym razie sudopoprosi o hasło, nawet jeśli go nie masz, i nie zaakceptuje pustego hasła.

    Aby to zrobić, otwórz plik konfiguracyjny sudoers za pomocą sudo visudoi dodaj do pliku następujący wiersz, zastępując davidswoją nazwą użytkownika:

    david ALL=(ALL) NOPASSWD:ALL
    

    Zamknij edytor, aby zastosować zmiany i przetestuj efekt sudo w nowym terminalu.

  2. Usuń hasło użytkownika, uruchamiając to polecenie:

    sudo passwd -d `whoami`
    

Jeśli pojawi się monit o podanie hasła, wpisz enter i powinno działać. Przetestowałem tę odpowiedź z LightDM, na ekranie blokady, sudo, gksui to działa, ale jest jeszcze jeden krok, aby zmusić go do pracy zpkexec (dzięki muru).

Flimm
źródło
1
Dla pkexecpatrz patrz askubuntu.com/a/614537/158442
muru
Wszelkie nowe zmiany Visudo, takie jak nopasswdpowinny zostać dodane na końcu, aby żadne inne ustawienie nie nadpisało wpisu.
Dean Meehan
4
To nie działało dla mnie (Ubuntu 16.04) przez logowanie ssh. Nadal prosi o hasło, ale żadne hasło nie jest akceptowane (puste lub stare lub drugie dla klucza ssh).
Deleet,
3
Na Debianie dostałem komunikat „Przepraszam, że nie działało, spróbuj ponownie”, gdy próbuję zalogować się przy użyciu pustego hasła po poleceniu passwd david -d. A teraz nie mogę się zalogować przy użyciu starego hasła.
fabriciorissetto,
1
Teraz nie mogę zainstalować oprogramowania, ponieważ wymaga do tego hasła.
Matthew
14

Ostrzeżenie: po usunięciu hasła za pomocą tej metody nie będzie można się uwierzytelnić, aby udowodnić, że masz uprawnienia administratora, w interfejsie GUI lub w terminalu (np. Podczas instalowania aplikacji za pomocą Synaptic lub za sudopomocą polecenia linia). Wynika to z błędu # 1168749 .

Zrób to tylko wtedy, gdy użytkownik nie jest jedynym użytkownikiem administracyjnym.

Zostało to przetestowane na Ubuntu 12.04 i 12.10.

  1. Upewnij się, że kliknąłeś Odblokuj, aby móc wykonać poniższe zadania:

    Odblokuj zrzut ekranu

  2. Przejdź do kont użytkowników i kliknij pole hasła:

  3. Po otwarciu okna kliknij strzałkę w dół po prawej stronie „Akcji” ...

  4. i zmień go na „Zaloguj się bez hasła”, a następnie kliknij „Zmień”:

  5. Opcjonalnie możesz także włączyć automatyczne logowanie:

    Zrzut ekranu

Aby ponownie podać użytkownikowi hasło po uruchomieniu tej procedury, nie można użyć interfejsu GUI ( błąd nr 882255 ), należy użyć wiersza polecenia:

  1. Zaloguj się jako inny użytkownik z uprawnieniami administratora. (Pamiętaj, że oryginalny nie może działać z uprawnieniami administratora bez hasła przy użyciu tej metody).

  2. Uruchom następujące polecenie w terminalu:

    sudo passwd <username>
    

Ponownie muszę cię ostrzec, że po usunięciu hasła nie będziesz w stanie uwierzytelnić się w interfejsie GUI lub terminalu, na przykład podczas instalowania aplikacji za pomocą Synaptic lub za pomocą sudowiersza poleceń.

Mitch
źródło
Mam jednak pytanie, co właściwie robi opcja „Zaloguj się bez hasła”? Czy w zasadzie robi to passwd -di usuwa hasło?
Alaa Ali,
Cóż, szczerze mówiąc, nie jestem w 100% pewien. Jest passwd -dto jednak szybki sposób na usunięcie hasła do konta. Ustawi nazwane konto bez hasła. Dostępne tylko do rootowania.
Mitch
Dostępne tylko do rootowania? Żaden człowiek, możesz go użyć do usunięcia hasła dowolnego użytkownika =). Myślę, że tak właśnie działa opcja „Zaloguj się bez hasła”; po prostu usuwa twoje hasło, dlatego nie będziesz mógł się uwierzytelnić. To po prostu głupie.
Alaa Ali,
1
Zgadzam się, ale dla przykładu mam wspólny laptop, z którego czasami korzystają moje dzieci i uruchamiają go około miliona razy na godzinę, a ja nie mam czasu na wpisywanie hasła za każdym razem, więc Ustawiam konto na automatyczne logowanie, aby zaoszczędzić sobie kłopotów, aby nie mogli przegapić niczego więcej niż to, co już robią. :)
Mitch
7

Myślę, że można to zrobić, ale wpakują cię w kłopoty, gdy spróbujesz zainstalować aktualizacje lub cokolwiek innego, co wymaga sudo; ponieważ potrzebujesz konta z dostępem sudo (i hasłem), aby zainstalować.

Najlepsze opcje wydają się:

  • Użyj konta gościa, które nie ma hasła. W ten sposób pozostawia domyślne konto z hasłem.
  • Hellbent na koncie bez hasła? Zdecydowanie nie rób tego: dodaj nowe konto użytkownika (z hasłem), a następnie zmień je na równoważne jako puste. Aby to zrobić:
    1. utwórz użytkownika (za pomocą GUI lub useradd itp.). Następnie,
    2. CTRL- ALT- Taby otworzyć terminal. Kolejny,
    3. gksu gedit nano -B /etc/shadownastępnie znajdź nowego użytkownika i zmień istniejący skrót hasła za pomocą: U6aMy0wojraho- aby wyglądał mniej więcej tak:newuser:U6aMy0wojraho:13996:0:99999:7:::
  • Najlepsze rozwiązanie twojego pytania: Wybierz automatyczne logowanie do konta, co jest prawdopodobnie główną korzyścią, której szukasz. aby to zrobić:

    1. naciśnij CTRL- ALT- T(aby otworzyć terminal). W terminalu wpisz:

      sudo gedit /etc/lightdm/lightdm.conf
      

      dodaj linie:

      autologin-user=YOURUSERNAME
      autologin-user-timeout=0
      

      replace YOURUSERNAME- z rzeczywistą nazwą użytkownika w twoim systemie.

Mike Stewart
źródło
Dzięki za wskazanie alternatyw. Wiem, że brak hasła nie jest świetnym pomysłem, ale chcę wiedzieć, czy jest to możliwe (zaktualizowałem pytanie).
Flimm
2

Jest to interfejs GUI i dlatego nie możesz zrobić z niego pustego hasła.

Gdyby istniał sposób, należałoby to zrobić przez terminal.

Ale w końcu musisz wejść do systemu za pomocą GUI i nawet jeśli zmieniłeś hasło na puste GUI to zapobiegnie. Więc jeśli nie chcesz zmienić interfejsu na GUI, nie jest to po prostu możliwe.

Meer Borg
źródło
2

Wygląda na to, że puste hasło nie spełnia wymagań dotyczących złożoności hasła.

To właśnie znalazłem man passwd

As a general guideline, passwords should consist of 6 to 8 characters including one or
       more characters from each of the following sets:

       ·   lower case alphabetics

       ·   digits 0 thru 9

       ·   punctuation marks

       Care must be taken not to include the system default erase or kill characters.  passwd will reject any password which is not
       suitably complex.

EDYCJA: Niestety, nie można ustawić hasła, aby opróżniać za pomocą tego interfejsu użytkownika.

http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/quantal/gnome-control-center/quantal-proposed/view/head:/panels/user-accounts/um-password-dialog.c#L358

to funkcja decydująca o tym, czy włączyć przycisk „Zmień”, czy nie.

    if (strlen (password) < MIN_PASSWORD_LEN) {
            can_change = FALSE;
            if (password[0] == '\0') {
                    tooltip = _("You need to enter a new password");
            }
            else {
                    tooltip = _("The new password is too short");
            }
    }
    else if (strcmp (password, verify) != 0) {
            can_change = FALSE;
            if (verify[0] == '\0') {
                    tooltip = _("You need to confirm the password");
            }
            else {
                    tooltip = _("The passwords do not match");
            }
    }
    else if (!um->old_password_ok) {
            can_change = FALSE;
            if (old_password[0] == '\0') {
                    tooltip = _("You need to enter your current password");
            }
            else {
                    tooltip = _("The current password is not correct");
            }
    }
    else {
            can_change = TRUE;
            tooltip = NULL;
    }

    gtk_widget_set_sensitive (um->ok_button, can_change);

Minimalne hasło len 6 jest zakodowane na stałe :(

http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/quantal/gnome-control-center/quantal-proposed/view/head:/panels/user-accounts/um-password-dialog.c#L39

#define MIN_PASSWORD_LEN 6
thefourtheye
źródło
1
To „więcej, co nazwałbyś wytycznymi niż rzeczywistymi zasadami” ...
Oli
Ale ostatni wiersz mówi: „passwd odrzuci każde hasło, które nie jest odpowiednio skomplikowane”. Tak więc, jak sądzę, prawdopodobnie nie pozwoliłoby na puste hasło.
theourourheheye
Ale znowu, te elementy nie są wymagane. Nie potrzebujesz pełnego spektrum znaków i wielkości liter, sugerują tylko użycie ich do silniejszego hasła. PAM dba o zasady dotyczące tego, czego naprawdę potrzebujesz.
Oli
2
Za passwdpomocą tej -dopcji możesz ustawić puste hasło .
Flimm
Tak. Przeczytaj to na stronach podręcznika. Właśnie dlatego powiedziałem: „nie mogę ustawić hasła do opróżnienia przez ten interfejs”.
theourourhehe
1

Istnieje możliwość zmiany hasła po usunięciu. Musisz tylko uruchomić w trybie odzyskiwania. Tutaj znajdziesz fajny samouczek: http://www.psychocats.net/ubuntu/resetpassword

W skrócie, co znajdziesz na powyższym linku:

  1. musisz ponownie uruchomić w trybie odzyskiwania. (aby wyświetlić menu rozruchu, musisz przytrzymać klawisz Shift podczas uruchamiania)
  2. W menu uruchamiania wybierz opcję „Drop to root shell prompt”

  3. wpisz na konsoli jeden po drugim

    ls /home
    passwd username
    passwd susan
    exit
    

    następnie uruchom ponownie normalnie

larshaeuser
źródło
1
Rozważ edycję swojej odpowiedzi, aby zawierała co najmniej zarys tego, co opisano w łączonym artykule i podaj link do celów referencyjnych / atrybucyjnych. W ten sposób, jeśli link stanie się niedostępny z jakiegokolwiek powodu, twoja odpowiedź pozostanie pomocna.
hmayag