Diferențe
Aici sunt prezentate diferențele dintre versiunile selectate și versiunea curentă a paginii.
| Ambele părți revizuirea anterioarăVersiuni anterioare | |||
| autologin_tty [2026/05/23 22:02] – thinkroot | autologin_tty [2026/05/23 22:16] (curent) – thinkroot | ||
|---|---|---|---|
| Linia 1: | Linia 1: | ||
| - | ====== Autologin în TTY pe Linux ====== | + | ====== Autologin în TTY ====== |
| Autologinul în TTY permite autentificarea automată a unui utilizator la pornirea sistemului, fără a introduce parola. Este util pe sisteme cu un singur utilizator, dispozitive dedicate unui singur scop (servere fără monitor, kioscuri, dispozitive de scris), sau orice situație în care autentificarea manuală este inutilă. | Autologinul în TTY permite autentificarea automată a unui utilizator la pornirea sistemului, fără a introduce parola. Este util pe sisteme cu un singur utilizator, dispozitive dedicate unui singur scop (servere fără monitor, kioscuri, dispozitive de scris), sau orice situație în care autentificarea manuală este inutilă. | ||
| Linia 7: | Linia 7: | ||
| ===== Concepte de bază ===== | ===== Concepte de bază ===== | ||
| - | La pornire, systemd pornește un serviciu | + | La pornire, systemd pornește un serviciu getty pe fiecare TTY activ. Getty afișează promptul de autentificare și gestionează sesiunea. Există |
| * **agetty** - implementarea standard, parte din pachetul '' | * **agetty** - implementarea standard, parte din pachetul '' | ||
| - | * **kmscon** - o alternativă | + | * **kmscon** - un emulator de terminal |
| + | * **pam_autologin** - un modul PAM care salvează parola | ||
| - | Un detaliu important: tipul terminalului creat diferă în funcție de ce gestionează TTY-ul. agetty creează terminale de tip ''/ | + | Un detaliu important: tipul terminalului creat diferă în funcție de ce gestionează TTY-ul. agetty creează terminale de tip ''/ |
| Poți verifica oricând ce tip de terminal folosești cu: | Poți verifica oricând ce tip de terminal folosești cu: | ||
| Linia 22: | Linia 23: | ||
| ===== Metoda 1: Autologin prin agetty și systemd ===== | ===== Metoda 1: Autologin prin agetty și systemd ===== | ||
| - | Aceasta este metoda standard, care funcționează pe orice distribuție ce folosește systemd. | + | Aceasta este metoda standard, care funcționează pe orice distribuție ce folosește systemd. |
| + | |||
| + | ==== Consolă virtuală ==== | ||
| Creează un fișier drop-in pentru serviciul getty de pe TTY1: | Creează un fișier drop-in pentru serviciul getty de pe TTY1: | ||
| Linia 36: | Linia 39: | ||
| [Service] | [Service] | ||
| ExecStart= | ExecStart= | ||
| - | ExecStart=-/ | + | ExecStart=-/ |
| </ | </ | ||
| Linia 48: | Linia 51: | ||
| </ | </ | ||
| - | ==== Note pentru | + | > **Notă:** Opțiunea '' |
| - | < | + | ==== Consolă serială ==== |
| - | <tab title=" | + | |
| - | Pe Debian și Ubuntu, calea către agetty poate varia în funcție de versiune. Verifică cu: | + | Pentru terminale seriale (de exemplu '' |
| + | |||
| + | < | ||
| + | [Service] | ||
| + | ExecStart= | ||
| + | ExecStart=-/ | ||
| + | </ | ||
| + | |||
| + | ==== Consolă nspawn ==== | ||
| + | |||
| + | Pentru containere systemd-nspawn, | ||
| <code bash> | <code bash> | ||
| - | which agetty | + | sudo mkdir -p / |
| </ | </ | ||
| - | Pe instalările minimale de Debian, interfața WiFi declarată în '' | + | < |
| + | [Service] | ||
| + | ExecStart= | ||
| + | ExecStart=-/ | ||
| + | </ | ||
| + | |||
| + | ==== Doar parola, fără username ==== | ||
| + | |||
| + | Dacă vrei să sari peste introducerea username-ului dar să ceri în continuare parola: | ||
| + | |||
| + | < | ||
| + | [Service] | ||
| + | ExecStart= | ||
| + | ExecStart=-/usr/bin/agetty -o '-- USERUL_TAU' | ||
| + | </ | ||
| + | |||
| + | ==== Note pentru distribuții ==== | ||
| + | |||
| + | < | ||
| + | <tab title=" | ||
| + | |||
| + | Calea către agetty | ||
| </ | </ | ||
| <tab title=" | <tab title=" | ||
| - | Pe Arch Linux, serviciul '' | + | Pe Arch Linux, serviciul '' |
| - | + | ||
| - | Alternativ, poți folosi '' | + | |
| <code bash> | <code bash> | ||
| Linia 75: | Linia 106: | ||
| <tab title=" | <tab title=" | ||
| - | Metoda | + | Metoda funcționează identic. Dacă autologinul nu funcționează, |
| <code bash> | <code bash> | ||
| journalctl -u getty@tty1 -b | journalctl -u getty@tty1 -b | ||
| + | ausearch -m avc -ts recent | ||
| </ | </ | ||
| - | |||
| - | Pe unele versiuni RHEL, SELinux poate interfera cu serviciile modificate. Verifică cu '' | ||
| </ | </ | ||
| <tab title=" | <tab title=" | ||
| - | Metoda systemd standard funcționează fără modificări suplimentare. YaST oferă și o interfață grafică pentru configurarea autologinului, | + | Metoda systemd standard funcționează fără modificări suplimentare. |
| </ | </ | ||
| </ | </ | ||
| - | |||
| - | ==== Autologin pe consolă serială ==== | ||
| - | |||
| - | Pentru terminale seriale (de exemplu '' | ||
| - | |||
| - | <code bash> | ||
| - | sudo mkdir -p / | ||
| - | sudo nano / | ||
| - | </ | ||
| - | |||
| - | < | ||
| - | [Service] | ||
| - | ExecStart= | ||
| - | ExecStart=-/ | ||
| - | </ | ||
| - | |||
| - | ==== Autologin fără parolă dar cu username ==== | ||
| - | |||
| - | Dacă vrei să sari peste introducerea username-ului dar să ceri în continuare parola, folosești opțiunea '' | ||
| - | |||
| - | < | ||
| - | [Service] | ||
| - | ExecStart= | ||
| - | ExecStart=-/ | ||
| - | </ | ||
| ===== Metoda 2: Autologin prin kmscon ===== | ===== Metoda 2: Autologin prin kmscon ===== | ||
| - | [[https:// | + | [[https:// |
| - | **Atenție: | + | **Atenție: |
| ==== Instalare ==== | ==== Instalare ==== | ||
| Linia 145: | Linia 150: | ||
| <tab title=" | <tab title=" | ||
| - | kmscon nu este disponibil în depozitele oficiale | + | kmscon nu este disponibil în depozitele oficiale. Trebuie compilat din sursă |
| - | + | ||
| - | <code bash> | + | |
| - | git clone https:// | + | |
| - | cd kmscon | + | |
| - | meson setup builddir/ --prefix=/ | + | |
| - | ninja -C builddir/ | + | |
| - | sudo ninja -C builddir/ install | + | |
| - | </ | + | |
| </ | </ | ||
| </ | </ | ||
| - | ==== Activare | + | ==== Activare ==== |
| + | |||
| + | Pe TTY1 există o configurație specială implicită pentru getty. Pentru a fi conservator, | ||
| - | Pentru a rula kmscon | + | Pentru a activa |
| <code bash> | <code bash> | ||
| Linia 174: | Linia 173: | ||
| </ | </ | ||
| - | Dacă kmscon nu poate porni din orice motiv, | + | > **Sfat:** Poți reactiva |
| - | ==== Autologin | + | ==== Autologin |
| + | |||
| + | Metoda cea mai simplă este direct prin ''/ | ||
| + | |||
| + | < | ||
| + | # Autologin ca utilizatorul " | ||
| + | login=/ | ||
| + | </ | ||
| + | |||
| + | ==== Autologin prin override de serviciu ==== | ||
| + | |||
| + | Alternativ, prin fișier drop-in systemd: | ||
| <code bash> | <code bash> | ||
| Linia 193: | Linia 203: | ||
| sudo reboot | sudo reboot | ||
| </ | </ | ||
| + | |||
| + | ==== Schimbarea TTY-ului ==== | ||
| + | |||
| + | Combinația obișnuită '' | ||
| ===== Metoda 3: pam_autologin ===== | ===== Metoda 3: pam_autologin ===== | ||
| - | [[https:// | + | [[https:// |
| + | |||
| + | Autologinul | ||
| + | |||
| + | ==== Instalare ==== | ||
| < | < | ||
| Linia 208: | Linia 226: | ||
| <tab title=" | <tab title=" | ||
| - | pam_autologin nu este disponibil în depozitele oficiale | + | pam_autologin nu este disponibil în depozitele oficiale. Trebuie compilat din sursă. |
| </ | </ | ||
| </ | </ | ||
| - | Configurare | + | ==== Configurare |
| + | |||
| + | Editează | ||
| < | < | ||
| #%PAM-1.0 | #%PAM-1.0 | ||
| - | auth required pam_autologin.so | + | auth required pam_autologin.so |
| - | auth include system-local-login | + | auth include |
| - | account include system-local-login | + | account include |
| - | session include system-local-login | + | session include |
| </ | </ | ||
| - | Linia '' | + | Linia '' |
| - | + | ||
| - | <code bash> | + | |
| - | sudo touch / | + | |
| - | </ | + | |
| - | Deoarece agetty nu este o aplicație PAM, trebuie | + | Deoarece agetty nu este o aplicație PAM, nu poate trimite username-ul direct către '' |
| < | < | ||
| Linia 236: | Linia 252: | ||
| ExecStart=-/ | ExecStart=-/ | ||
| </ | </ | ||
| + | |||
| + | Salvează primul login creând fișierul de configurare: | ||
| + | |||
| + | <code bash> | ||
| + | sudo touch / | ||
| + | </ | ||
| + | |||
| + | La primul reboot vei vedea un mesaj că următorul login va fi salvat. Autentifică-te normal. La al doilea reboot autologinul va funcționa. | ||
| Pentru autologin la fiecare pornire, nu doar prima dată: | Pentru autologin la fiecare pornire, nu doar prima dată: | ||
| Linia 243: | Linia 267: | ||
| </ | </ | ||
| - | **Notă de securitate:** pam_autologin stochează credențialele obfuscat, | + | Pentru a opri autologinul, |
| + | |||
| + | <code bash> | ||
| + | sudo shred -u / | ||
| + | </ | ||
| + | |||
| + | ==== Notă de securitate | ||
| + | |||
| + | pam_autologin stochează credențialele obfuscat | ||
| ===== Pornirea automată a unui program după autologin ===== | ===== Pornirea automată a unui program după autologin ===== | ||
| - | Verifică mai întâi ce tip de terminal | + | Verifică mai întâi ce tip de terminal |
| <code bash> | <code bash> | ||
| Linia 253: | Linia 285: | ||
| </ | </ | ||
| - | Adaugă în '' | + | Adaugă în '' |
| < | < | ||
| Linia 289: | Linia 321: | ||
| **Programul din .bashrc nu pornește: | **Programul din .bashrc nu pornește: | ||
| - | Verifică ce TTY folosești | + | Verifică ce terminal ai efectiv după autologin cu '' |
| **kmscon și agetty active simultan pe același TTY:** | **kmscon și agetty active simultan pe același TTY:** | ||
| Linia 296: | Linia 328: | ||
| sudo systemctl list-units | grep -E ' | sudo systemctl list-units | grep -E ' | ||
| </ | </ | ||
| + | |||
| + | Dacă ambele apar active pe același TTY, dezactivează unul dintre ele. | ||
| **Autologinul pornește în buclă după delogare:** | **Autologinul pornește în buclă după delogare:** | ||
| - | Comportamentul implicit al agetty cu '' | + | Comportamentul implicit al agetty cu '' |
| + | |||
| + | **Root nu se poate autentifica cu kmscon:** | ||
| + | |||
| + | Verifică dacă '' | ||
| ===== Referințe ===== | ===== Referințe ===== | ||
| Linia 308: | Linia 346: | ||
| * [[https:// | * [[https:// | ||
| - | {{tag> | + | {{tag> |