AGETTY(8) Administrare sistem AGETTY(8) NUME agetty - alternativa la getty pentru Linux REZUMAT agetty [opiuni] port [rata_baud...] [term] DESCRIERE agetty deschide un port tty, solicita un nume de autentificare i invoca comanda /bin/login. In mod normal, este invocata de init(8). agetty are mai multe caracteristici non-standard care sunt utile pentru liniile cablate i pentru liniile dial-in: o Adapteaza configurarile tty la biii de paritate i la caracterele de tergere, omorare (kill), sfarit de linie i majuscule atunci cand citete un nume de autentificare. Programul poate gestiona caractere pe 7 bii cu paritate para, impara, fara paritate sau spaiu i caractere pe 8 bii fara paritate. Sunt recunoscute urmatoarele caractere speciale: Control-U (kill); DEL i backspace (tergere); retur de carucior i salt de linie (sfarit de linie). A se vedea, de asemenea, opiunile --erase-chars i --kill-chars. o In mod opional, deduce viteza de transmisie din mesajele CONNECT produse de modemurile compatibile de Hayes(tm). o Opional, nu inchide atunci cand i se ofera o linie deja deschisa (util pentru aplicaiile de reapelare). o Opional, nu afieaza coninutul fiierului /etc/issue. o Opional, afieaza o alternativa de fiiere sau directoare I in loc de /etc/issue sau /etc/issue.d. o Opional, nu solicita un nume de autentificare. o Opional, invoca un program de autentificare non-standard in loc de /bin/login. o Opional, activeaza controlul fluxului prin hardware. o In mod opional, foreaza linia sa fie locala, fara a fi necesara detectarea purtatorului. Acest program nu utilizeaza fiierele /etc/gettydefs (System V) sau /etc/gettytab (SunOS 4). ARGUMENTE port Un nume de ruta in raport cu directorul /dev. Daca se specifica ,,-", agetty presupune ca intrarea sa standard este deja conectata la un port tty i ca a fost deja stabilita o conexiune cu un utilizator la distana. In cadrul System V, un argument port ,,-" trebuie sa fie precedat de un ,,--". rata_baud,... O lista de una sau mai multe rate de transmisie, separate prin virgule. De fiecare data cand agetty primete un caracter BREAK, avanseaza prin lista, care este tratata ca i cum ar fi circulara. Ratele de transmisie trebuie sa fie specificate in ordine descrescatoare, astfel incat caracterul nul (Ctrl-@) sa poata fi utilizat i pentru comutarea ratei de transmisie. Acest argument este opional i nu este necesar pentru terminalele virtuale. Valoarea implicita pentru terminalele seriale este pastrarea ratei baud curente (a se vedea --keep-baud) i, daca nu se reuete, valoarea implicita este ,,9600". term Valoarea care urmeaza sa fie utilizata pentru variabila de mediu TERM. Aceasta inlocuiete orice valoare stabilita de init(1) i este motenita de <> i de <>. Valoarea implicita este ,,vt100", sau ,,linux" pentru Linux pe un terminal virtual, sau ,,hurd" pentru GNU Hurd pe un terminal virtual. OPIUNI -8, --8bits Preupune ca tty este curat pe 8 bii, deci dezactiveaza detectarea paritaii. -a, --autologin nume-utilizator Autentifica automat utilizatorul specificat, fara a cere un nume de utilizator sau o parola. Utilizarea acestei opiuni determina adaugarea unei opiuni i a unui argument -f nume-utilizator la linia de comanda /bin/login. Consultai opiunea --login-options, care poate fi utilizata pentru a modifica comportamentul acestei opiuni. Reinei ca --autologin poate afecta modul in care getty iniializeaza linia seriala, deoarece la autentificarea automata agetty nu citete de pe linie i nu are posibilitatea de a optimiza configuraia liniei. -c, --noreset Nu se reiniiaza ,,cflags" (moduri de control) ale terminalului. Pentru mai multe detalii, consultai termios(3). -E, --remote De obicei, comanda login(1) primete un nume de gazda la distana atunci cand este apelata de ceva precum telnetd(8). Aceasta opiune permite lui agetty sa transmita ceea ce folosete ca nume de gazda la login(1) pentru a fi utilizat in utmp(5). A se vedea --host, login(1) i utmp(5). Daca se da opiunea --host gazda-fictiva, atunci o opiune i un argument -h gazda-fictiva sunt adaugate la linia de comanda /bin/login. Daca se da opiunea --nohostname, atunci se adauga o opiune -H la linia de comanda /bin/login. A se vedea --login-options. -f, --issue-file ruta Specifica o lista de fiiere i directoare delimitata de caracterul ,,:", care trebuie sa fie afiate in loc de /etc/issue (sau altele). Toate fiierele i directoarele specificate sunt afiate, fiierele lipsa sau goale sunt ignorate in mod silenios. In cazul in care ruta specificata este un director, se afieaza toate fiierele cu extensia .issue in ordinea de sortare a versiunilor din director. Acest lucru permite afiarea de mesaje personalizate pe terminale diferite. Opiunea --noissue va anula aceasta opiune. --show-issue Afieaza fiierul cu numarul curent (sau altul) pe terminalul curent i iese. Folosii aceasta opiune pentru a revizui configuraia curenta, nu este conceputa in niciun alt scop. Reinei ca ieirea poate utiliza unele informaii implicite sau incomplete, deoarece ieirea corecta depinde de terminal i de linia de comanda agetty. -h, --flow-control Activeaza controlul hardware al fluxului (RTS/CTS). Se lasa la latitudinea aplicaiei sa dezactiveze protocolul de flux software (XON/XOFF), daca este cazul. -H, --host gazda-fictiva Scrie gazda-fictiva specificata in fiierul utmp. In mod normal, nu se indica nicio gazda de conectare, deoarece agetty este utilizat pentru conexiunile locale prin cablu i console. Cu toate acestea, aceasta opiune poate fi utila pentru identificarea concentratoarelor de terminale i altele asemenea. -i, --noissue Nu afieaza coninutul fiierului /etc/issue (sau altul) inainte de a scrie promptul de conectare. Terminalele sau echipamentul de comunicaii pot deveni confuze atunci cand primesc mult text la o viteza de transmisie greita; scripturile dial-up pot eua daca promptul de conectare este precedat de prea mult text. -I, --init-string ir-iniial Stabilete un ir iniial care sa fie trimis la tty sau modem inainte de a trimite orice altceva. Acesta poate fi utilizat pentru a iniializa un modem. Caracterele neimprimabile pot fi trimise prin scrierea codului octal al acestora precedat de o bara oblica inversa (\). De exemplu, pentru a trimite un caracter de salt de linie (ASCII 10, octal 012), scriei \12. -J, --noclear Nu terge ecranul inainte de a solicita numele de utilizator. In mod implicit, ecranul este ters. -l, --login-program program-autentificare Invoca programul program-autentificare specificat in loc de /bin/login. Acest lucru permite utilizarea unui program de conectare non-standard. Un astfel de program ar putea, de exemplu, sa ceara o parola de apelare sau sa utilizeze un fiier de parole diferit. A se vedea --login-options. -L, --local-line[=mod] Controleaza indicatorul de linie CLOCAL. Argumentul opional mod este auto, always (intotdeauna) sau never (niciodata). Daca argumentul mod este omis, atunci valoarea implicita este always. Daca opiunea --local-line nu este data deloc, atunci valoarea implicita este auto. always Foreaza linia sa fie o linie locala, fara a fi necesara detectarea purtatoarei. Acest lucru poate fi util atunci cand avei un terminal ataat local unde linia seriala nu stabilete semnalul de detectare a purtatoarei. never terge in mod explicit indicatorul CLOCAL din configuraia liniei i semnalul de detectare a purtatoarei este ateptat pe linie. auto Valoarea implicita agetty. Nu modifica valoarea CLOCAL i urmeaza valoarea stabilita de kernel. -m, --extract-baud Incearca sa extraga viteza de transmisie (rata de baud) din mesajul de stare CONNECT produs de modemurile compatibile Hayes(tm). Aceste mesaje de stare sunt de forma: "eu-nedorit>eu-nedorit>". agetty presupune ca modemul emite mesajul sau de stare la aceeai viteza ca cea specificata cu (prima) valoare rata_baud din linia de comanda. Deoarece caracteristica --extract-baud poate eua pe sistemele foarte incarcate, ar trebui totui sa activai procesarea BREAK prin enumerarea tuturor vitezelor de transmisie ateptate in linia de comanda. --list-speeds Afieaza ratele de baud suportate. Acestea sunt determinate in momentul compilarii. -n, --skip-login Nu solicita utilizatorului un nume de autentificare. Aceasta opiune poate fi utilizata impreuna cu opiunea --login-program pentru a invoca un proces de conectare non-standard, cum ar fi un sistem BBS. Reinei ca, in cazul opiunii --skip-login, agetty nu primete nici o informaie de la utilizatorul care se conecteaza i, prin urmare, nu va fi capabil sa calculeze paritatea, dimensiunea caracterelor i procesarea noilor linii ale conexiunii. Se utilizeaza in mod implicit paritatea spaiala, caractere de 7 bii i caracterul ASCII CR (13) de sfarit de linie (retur de carucior). Atenie la faptul ca programul pe care il pornete agetty (de obicei /bin/login) este rulat ca root. -N, --nonewline Nu se imprima o linie noua inainte de a scrie /etc/issue. -o, --login-options opiuni-autentificare Opiunile i argumentele care sunt transmise la login(1). In cazul in care \u este inlocuit cu numele de utilizator. De exemplu: --login-options '-h darkstar -- \u' A se vedea --autologin, --login-program i --remote. Va rugam sa citii informaiile din seciunea AVIZ DE SECURITATE de mai jos inainte de a utiliza aceasta opiune. -p, --login-pause Ateapta apasarea oricarei taste inainte de a trece la solicitarea de conectare. Poate fi combinata cu --autologin pentru a economisi memorie prin generarea lenea de shell-uri. -r, --chroot director Schimba radacina in directorul specificat. -R, --hangup Apeleaza vhangup(2) pentru a efectua o suspendare virtuala a terminalului specificat. -s, --keep-baud Incearca sa pastreze rata de baud existenta. Ratele baud din linia de comanda sunt utilizate atunci cand agetty primete un caracter BREAK. Daca este specificata o alta rata de baud, atunci rata de baud originala este, de asemenea, salvata la sfaritul listei de rate de baud dorite. Acest lucru poate fi utilizat pentru a reveni la rata de baud iniiala dupa BREAK-uri (intreruperi) neateptate. -t, --timeout ateptare Termina daca nu a putut fi citit niciun nume de utilizator in decurs de ateptare secunde. Nu se recomanda utilizarea acestei opiuni in cazul liniilor de terminal cablate. -U, --detect-case Activeaza suportul pentru detectarea unui terminal care utilizeaza doar majuscule. Aceasta opiune va detecta un nume de autentificare care conine doar majuscule ca fiind un terminal care utilizeaza doar majuscule i va activa unele conversii de la majuscule la minuscule. Reinei ca aceasta opiune nu ofera suport pentru niciun caracter Unicode. -w, --wait-cr Ateapta ca utilizatorul sau modemul sa trimita un caracter de retur de carucior sau un caracter de salt de linie inainte de a trimite fiierul /etc/issue (sau altele) i solicitarea de autentificare. Aceasta opiune este utila cu opiunea --init-string. --nohints Nu afieaza indicii despre Blocarile Num, Caps i Scroll. --nohostname In mod implicit, se va imprima numele de gazda. Daca aceasta opiune este activata, nu se va afia niciun nume de gazda. Aceasta configuraie este, de asemenea, posibila prin opiunea LOGIN_PLAIN_PROMPT din fiierul de configurare /etc/login.defs ( a se vedea mai jos pentru mai multe detalii). --long-hostname In mod implicit, numele de gazda este afiat doar pana la primul punct. Daca aceasta opiune este activata, se afieaza numele de gazda complet calificat prin gethostname(3P) sau (daca nu este gasit) prin getaddrinfo(3). --erase-chars ir Aceasta opiune specifica caracterele suplimentare care ar trebui interpretate ca o retrocedare ((backspace) ,,ignora caracterul anterior") atunci cand utilizatorul tasteaza numele de utilizator pentru autentificare. Opiunea de tergere suplimentara implicita a fost ,,#", dar de la util-linux 2.23 nu mai sunt activate in mod implicit caracterele suplimentare de tergere. --kill-chars ir Aceasta opiune specifica caracterele suplimentare care ar trebui interpretate ca un kill (,,ignora toate caracterele anterioare") atunci cand utilizatorul ii tasteaza numele pentru autentificare. Caracterul ,,kill" suplimentar implicit a fost ,,@", dar incepand cu util-linux 2.23 nu mai sunt activate in mod implicit caracterele suplimentare de tip kill. --chdir director Schimba directorul inainte de autentificare. --delay numar Doarme numar secunde inainte de a deschide tty. --nice numar Ruleaza <> cu aceasta prioritate. --reload Solicita tuturor instanelor agetty in curs de execuie sa reincarce i sa ii actualizeze mesajele afiate, daca utilizatorul nu a inceput inca sa se conecteze. Dupa ce a facut acest lucru, comanda va iei. Este posibil ca aceasta caracteristica sa nu fie suportata pe sistemele fara Linux inotify(7). -h, --help Afieaza acest mesaj de ajutor i iese. -V, --version Afieaza versiunea i iese. ELEMENTE ALE FIIERULUI DE CONFIGURARE agetty citete fiierul de configurare /etc/login.defs (a se vedea login.defs(5)). Reinei ca fiierul de configurare ar putea fi distribuit impreuna cu un alt pachet (de obicei shadow-utils). Urmatoarele elemente de configurare sunt relevante pentru agetty: LOGIN_PLAIN_PROMPT (boolean) Ii indica lui agetty ca imprimarea numelui de gazda ar trebui sa fie suprimata in promptul login:. Aceasta este o alternativa la opiunea de linie de comanda --nohostname. Valoarea implicita este no. EXEMPLU Aceasta seciune prezinta exemple pentru campul process al unei intrari din fiierul /etc/inittab. Va trebui sa adaugai valorile corespunzatoare pentru celelalte campuri. Pentru mai multe detalii, consultai inittab(5). Pentru o linie cablata sau o consola tty: /sbin/agetty 9600 ttyS1 Pentru un terminal conectat direct fara o cablare corespunzatoare de detectare a purtatoarei (incercai acest lucru daca terminalul dvs. doarme in loc sa va dea o parola: prompt): /sbin/agetty --local-line 9600 ttyS1 vt100 Pentru o linie dial-in de tip vechi cu un modem de 9600/2400/1200 baud: /sbin/agetty --extract-baud --timeout 60 ttyS1 9600,2400,1200 Pentru un modem Hayes cu o interfaa fixa de 115200 bps la maina (irul init de exemplu dezactiveaza codurile de echo i de rezultat ale modemului, face ca DCD modem/calculator sa urmareasca DCD modem/modem, face ca o cadere DTR sa provoace o deconectare i activeaza raspunsul automat dupa 1 apel): /sbin/agetty --wait-cr --init-string 'ATE0Q1&D2&C1S0=1\015' 115200 ttyS1 AVIZ DE SECURITATE Daca utilizai opiunile --login-program i --login-options, trebuie sa tii ca un utilizator rau intenionat poate incerca sa introduca nume de autentificare cu opiuni incorporate, care apoi sunt transmise programului de autentificare utilizat. agetty verifica daca exista un ,,-" de inceput i se asigura ca numele de autentificare este transmis ca un singur parametru (astfel incat spaiile incorporate nu vor crea inca un parametru), dar, in funcie de modul in care binarul de autentificare analizeaza linia de comanda, acest lucru ar putea sa nu fie suficient. Verificai daca programul de autentificare utilizat nu poate fi abuzat in acest mod. Unele programe folosesc ,,--" pentru a indica faptul ca restul liniei de comanda nu trebuie interpretat ca opiuni. Folosii aceasta caracteristica, daca este disponibila, trecand ,,--" inainte ca numele de utilizator sa fie pasat de \u. FIIERE ISSUE Fiierul implicit ,,issue" (fiierul ce conine informaii utile i mesajul de intampinare) este /etc/issue. Daca fiierul exista, atunci agetty verifica i directorul /etc/issue.d. Directorul este o extensie opionala a fiierului implicit ,,issue", iar coninutul directorului este afiat dupa coninutul /etc/issue. In cazul in care /etc/issue nu exista, atunci directorul este ignorat. Toate fiierele cu extensia .issue din director sunt afiate in ordinea de sortare a versiunilor. Directorul poate fi utilizat pentru a menine mesajele terilor independent de fiierul /etc/issue al sistemului primar. Incepand cu versiunea 2.35, sunt acceptate locaii suplimentare pentru fiierul i directorul ,,issue" (de publicare a informaiilor i mesajelor de intampinare ale sistemului i/sau a le terilor). agetty verifica fiierele /run/issue i /run/issue.d, apoi /usr/lib/issue i /usr/lib/issue.d. Directorul /etc este ateptat pentru configuraia specifica a gazdei, /run este ateptat pentru lucrurile generate i /usr/lib pentru configuraia statica meninuta de distribuie. Reinei ca in versiunile 2.35 - 2.40, locaiile suplimentare erau citite numai daca fiierul /etc/issue implicit nu exista. Cu toate acestea, de la versiunea 2.41, locaiile suplimentare sunt citite intotdeauna, indiferent de existena fiierului /etc/issue. Aceasta modificare permite generarea de fiiere issue in mod implicit. Rutele implicite pot fi complet inlocuite prin opiunea --issue-file. In acest caz, ruta specificata trebuie sa fie un fiier sau un director, iar toate locaiile implicite ale fiierelor i directoarelor ,,issue" sunt ignorate. Caracteristica fiierului ,,issue" poate fi complet dezactivata prin opiunea --noissue. Este posibil sa se revizuiasca fiierul ,,issue" curent prin agetty --show-issue pe terminalul curent. Fiierele ,,issue" pot conine anumite coduri de eludare pentru a afia numele sistemului, data, ora etc. Toate codurile de eludare constau dintr-o bara oblica inversa (\) urmata imediat de unul dintre caracterele enumerate mai jos. 4 sau 4{interfaa} Introduce adresa IPv4 a interfeei de reea specificate (de exemplu: \4{eth0}). Daca argumentul interfaa nu este specificat, atunci se selecteaza prima interfaa complet configurata (UP, non-LOCALBACK, RUNNING). Daca nu se gasete nicio interfaa configurata, se revine la adresa IP a numelui de gazda al mainii. 6 sau 6{interfaa} La fel ca \4, dar pentru IPv6. b Insereaza rata de baud a liniei curente. d Insereaza data curenta. e sau e{nume} Transforma numele, care poate fi interpretat de catre om, intr-o secvena de eludare i-o insereaza (de exemplu: \e{red}Text alerta.\e{reset}). Daca argumentul nume nu este specificat, atunci se insereaza \033. Denumirile acceptate in prezent sunt: ,,black" (negru), ,,blink" (clipire), ,,blue" (albastru), ,,bold" (aldin), ,,brown" (maron), ,,cyan" (cian, albastru-verzui), ,,darkgray" (gri inchis), ,,gray" (gri), ,,green" (verde), ,,halfbright" (semiluminos), ,,lightblue" (albastru deschis), ,,lightcyan" (cian deschis), ,,lightgray" (gri deschis), ,,lightgreen" (verde deschis), ,,lightmagenta" (magenta deschis), ,,lighttred" (rou deschis), ,,magenta", ,,red" (rou), ,,reset" (restabilire), ,,revers" (inversare), ,,yellow" (galben) i ,,white" (alb). Toate numele necunoscute sunt ignorate in tacere. s Insereaza numele sistemului (numele sistemului de operare). La fel ca <>. A se vedea i codul de eludare \S. S sau S{VARIABLE} Insereaza datele VARIABILE din /etc/os-release. Daca acest fiier nu exista, atunci se revine la /usr/lib/os-release. Daca argumentul VARIABILE nu este specificat, atunci se utilizeaza PRETTY_NAME din fiier sau numele sistemului (a se vedea \s). Acest cod de eludare poate fi utilizat pentru a pastra distribuia i lansarea /etc/issue independente. Reinei ca \S{ANSI_COLOR} este convertit in secvena de eludare reala a terminalului. l Insereaza numele liniei tty curente. m Insereaza identificatorul de arhitectura al mainii. La fel ca uname -m. n Insereaza numele de nod al mainii, cunoscut i sub numele de gazda. La fel ca uname -n. o Insereaza numele de domeniu NIS al mainii. La fel ca hostname -d. O Insereaza numele de domeniu DNS al mainii. r Insereaza numarul de versiune al sistemului de operare. La fel ca uname -r. t Insereaza ora curenta. u Insereaza numarul de utilizatori conectai in prezent. U Insereaza irul de caractere "1 utilizator" sau " utilizatori", unde este numarul de utilizatori actuali conectai. v Insereaza versiunea sistemului de operare, adica data construirii i altele asemenea. Un exemplu. Pe sistemul meu, urmatorul fiier /etc/issue: Acesta este \n.\o (\s \m \r) \t se afieaza ca: Acesta este vader.stardark.ro (Linux i386 1.1.9) 18:29:30 FIIERE /var/run/utmp fiierul de stare al sistemului. /etc/issue afiat inainte de solicitarea de autentificare. /etc/os-release /usr/lib/os-release datele de identificare ale sistemului de operare. /dev/console rapoarte de probleme (daca nu se utilizeaza syslog(3)). /etc/inittab init(8) fiierul de configurare pentru demonul <> in stil SysV. ACREDITARI agetty accepta configurarea prin intermediul acreditarilor systemd (a se vedea ). agetty citete urmatoarele acreditari systemd: agetty.autologin (ir) Daca este definita, configureaza agetty pentru a se conecta automat la utilizatorul specificat fara a cere un nume de utilizator sau o parola, in mod similar cu opiunea --autologin. ERORI Caracteristica de detectare a vitezei de baud (opiunea --extract-baud) necesita ca agetty sa fie programata suficient de repede dupa terminarea unui apel de apelare (in decurs de 30 ms cu modemurile care comunica la 2400 baud). Pentru robustee, folosii intotdeauna opiunea --extract-baud in combinaie cu un argument de linie de comanda cu mai multe viteze de transmisie in baud, astfel incat sa fie activata procesarea BREAK. Textul din fiierul /etc/issue (sau altul) i promptul de conectare sunt intotdeauna afiate cu caractere pe 7 bii i paritate de spaiu. Caracteristica de detectare a vitezei de baud (opiunea --extract-baud) necesita ca modemul sa emita mesajul de stare dupa crearea liniei DCD. DIAGNOSTICARE In funcie de modul in care a fost configurat programul, toate diagnosticele sunt scrise pe dispozitivul de consola sau sunt raportate prin intermediul serviciului syslog(3). Mesajele de eroare sunt produse daca argumentul port nu specifica un dispozitiv de terminal; daca nu exista o intrare ,,utmp" pentru procesul curent (numai pentru System V); i aa mai departe. AUTORI Werner Fink , Karel Zak Originalul agetty pentru terminale seriale a fost scris de W.Z. Venema i adaptat la Linux de Peter Orbaek . RAPORTAREA ERORILOR Pentru rapoarte de eroare, folosii sistemul de urmarire al erorilor . DISPONIBILITATE Comanda agetty face parte din pachetul util-linux care poate fi descarcat de la Linux Kernel Archive . util-linux 2.41 2025-03-29 AGETTY(8)