Cum să rulezi sudo fără parolă pe Linux

Puteți rula sudo fără parolă adăugând o NOPASSWDregulă la politica sudoers. Cea mai sigură abordare este să permiteți doar comanda administrativă exactă de care aveți nevoie, în loc să dezactivați solicitările de parolă pentru fiecare comandă sudo.

Înainte de a schimba ceva, rețineți ce face această setare: oricine sau orice obține controlul asupra contului dvs. conectat poate rula comanda permisă ca root fără un alt pas de autentificare. Manualul sudoers documentează NOPASSWDeticheta care elimină autentificarea pentru comenzile corespondente.

De ce sudo -s nu este o metodă sudo fără parolă

Sfatul mai vechi de a executa comanda sudo -snu configurează de fapt sudo fără parolă. -sOpțiunea pornește un shell sub sudo, dar politica sudo poate solicita în continuare autentificarea mai întâi. De asemenea, este posibil să vedeți mai multe comenzi rulate fără o altă solicitare, deoarece sudo stochează în mod normal în cache autentificarea reușită pentru o perioadă scurtă de timp. Aceasta este diferită de o NOPASSWDregulă permanentă.

Executați o comandă sudo specifică fără parolă

Acest exemplu permite utilizatorului alexsă repornească Nginx fără parolă. Înlocuiți numele de utilizator, comanda și argumentele cu valori care corespund sistemului dvs.

1. Confirmați numele de utilizator și calea comenzii

Executați următoarele comenzi ca utilizator obișnuit:

whoami
command -v systemctl

A doua comandă poate returna /usr/bin/systemctl. Folosește calea raportată de propriul sistem. Regulile Sudoer ar trebui să identifice comenzile după calea lor completă.

Terminal Linux care afișează whoami și comanda -v systemctl pentru a identifica numele de utilizator și calea completă a comenzii
Verificați numele contului și calea completă a comenzii înainte de a scrie regula sudoers.

2. Creați un fișier drop-in dedicat pentru sudoers

În loc să editați /etc/sudoersdirect, utilizați visudocu un fișier în /etc/sudoers.d:

sudo visudo -f /etc/sudoers.d/alex-nopasswd

În mod normal, veți introduce parola pentru acest pas de configurare. visudoEste preferat deoarece verifică sintaxa înainte de a accepta modificările. Manualul Ubuntu visudo menționează, de asemenea, că visudoblochează fișierul în timpul editării și verifică erorile de analiză.

Terminal Linux care deschide un fișier sudoers.d dedicat cu sudo visudo pentru configurarea sudo fără parolă
Deschideți un fișier drop-in sudoers separat cu , visudoîn loc să editați fișierul principal de politici cu un editor de text obișnuit.

3. Adăugați cea mai îngustă regulă NOPASSWD de care aveți nevoie

Pentru exemplul de repornire Nginx, adăugați:

alex ALL=(root) NOPASSWD: /usr/bin/systemctl restart nginx

Această regulă permite rularea ca utilizator root fără autentificare doar a comenzii cu acele argumente. Pentru a permite mai multe comenzi specifice, separați specificațiile comenzilor prin virgule.

Dacă doriți în mod deliberat ca fiecare comandă sudo pentru un utilizator să sară peste autentificare, regula generală este:

alex ALL=(ALL:ALL) NOPASSWD: ALL

Acest lucru este mult mai puțin sigur și rareori este cea mai bună alegere pe o stație de lucru sau un sistem partajat. O sesiune de utilizator compromisă ar avea o cale directă către privilegii de root nerestricționate.

Editorul Nano prezintă o regulă NOPASSWD din sudoers pentru repornirea nginx și un exemplu comentat și nerestricționat
O regulă specifică comenzii este mai sigură decât acordarea NOPASSWD: ALL.

4. Validați și testați regula

După salvare și ieșirea din editor, verificați politica completă sudoers:

sudo visudo -c

Nu săriți peste această verificare. visudoDocumentația explică faptul că politica sudoers este evaluată ca un întreg, așadar verificarea completă a configurației identifică problemele care pot implica fișierele incluse.

Apoi invalidați orice credențială sudo stocată în cache și testați neinteractiv:

sudo -k
sudo -n /usr/bin/systemctl restart nginx

Opțiunea -nîi spune lui sudo să nu solicite parola. Dacă regula corespunde, comanda se execută fără a solicita parola. Dacă autentificarea este încă necesară, sudo se închide cu o eroare în loc să aștepte introducerea unei date. Acest lucru este sudo -nutil în special pentru scripturile care nu trebuie să se blocheze niciodată la o solicitare de parolă.

Terminal Linux care validează sudoere cu visudo -c, șterge acreditările din cache și testează o comandă NOPASSWD cu sudo -n
Validați politica, ștergeți acreditările din cache și utilizați sudo -npentru a confirma că comanda nu mai necesită într-adevăr o parolă.

Depanarea erorilor sudo fără parolă

  • Comanda solicită în continuare o parolă: confirmați că numele de utilizator, calea comenzii și argumentele corespund exact cu intrarea sudoers.
  • Comanda nu este permisă: executați sudo -lpentru a verifica privilegiile atribuite contului dvs.
  • Se pare că elementul drop-in este ignorat: folosiți un nume de fișier simplu, cum ar fi alex-nopasswd. Unele configurații sudoers ignoră fișierele /etc/sudoers.dale căror nume conțin un punct sau se termină în sufixe de tip backup.
  • Trebuie să anulați modificarea: redeschideți meniul drop-in cu sudo visudo -f /etc/sudoers.d/alex-nopasswd, eliminați sau restrângeți regula, salvați și rulați sudo visudo -cdin nou.

Cea mai bună practică

Folosește sudo fără parolă doar atunci când există o nevoie concretă, cum ar fi o acțiune de service strict controlată sau o sarcină de automatizare. Preferă o cale de comandă exactă și argumente exacte, evită-le NOPASSWD: ALLcând este posibil și păstrează regula sudoers cât mai mică posibil. Aceasta păstrează cea mai mare parte a protecției sudo, eliminând în același timp solicitarea de parolă acolo unde este cu adevărat necesară.

Lasă un comentariu

4 alternative la WhatsApp pentru utilizatorii de Linux: Telegram, Signal, Wire și Element

4 alternative la WhatsApp pentru utilizatorii de Linux: Telegram, Signal, Wire și Element

Compară patru alternative WhatsApp pentru Linux după setările implicite de confidențialitate, compatibilitatea desktop, cerințele de configurare și persoanele potrivite pentru fiecare aplicație.

Cum să transferi un utilizator Ubuntu pe un computer nou

Cum să transferi un utilizator Ubuntu pe un computer nou

Transferă datele utilizatorului Ubuntu cu o arhivă tar și o unitate externă, apoi restaurează fișierele personale și setările selectate fără a suprascrie noua configurare.

Cum să joci No Man's Sky pe Linux cu Steam Proton

Cum să joci No Man's Sky pe Linux cu Steam Proton

Instalează versiunea Steam a jocului No Man's Sky pe Linux cu Proton, apoi depanează erorile de lansare, problemele grafice și setările de compatibilitate.

Cum să creezi liste de redare muzicală pe Linux cu Rhythmbox sau VLC

Cum să creezi liste de redare muzicală pe Linux cu Rhythmbox sau VLC

Creați o listă de redare organizată în Rhythmbox sau salvați o listă de redare XSPF reutilizabilă în VLC. Învățați cum să adăugați piese, să denumiți o listă și să o redeschideți pe Linux.

Cum să treci la kernelul LTS în Arch Linux

Cum să treci la kernelul LTS în Arch Linux

Instalați kernelul linux-lts al Arch Linux, adăugați-l la GRUB sau systemd-boot, selectați-l la pornire și verificați-l păstrând un kernel de rezervă.

Cum se instalează clientul Dino XMPP pe Linux

Cum se instalează clientul Dino XMPP pe Linux

Instalați Dino pe Linux cu Flatpak sau managerul de pachete al distribuției dvs. Obțineți comenzi actuale Ubuntu, Debian, Fedora și Arch, plus sfaturi pentru prima lansare.

Cum se remediază eroarea GPG „NO_PUBKEY” pe Ubuntu

Cum se remediază eroarea GPG „NO_PUBKEY” pe Ubuntu

Găsiți depozitul care a generat NO_PUBKEY, verificați cheia de semnare a editorului său, definiți-l cu Signed-By și actualizați APT în siguranță, fără a slăbi verificările de semnătură.

Cum se instalează LibreELEC pe un Raspberry Pi 4

Cum se instalează LibreELEC pe un Raspberry Pi 4

Descărcați imaginea corectă a Pi 4, scrieți-o pe un card microSD și finalizați configurarea inițială a LibreELEC cu Raspberry Pi Imager.

Cum să remediați o eroare de lansare a mașinii virtuale VirtualBox pe Linux

Cum să remediați o eroare de lansare a mașinii virtuale VirtualBox pe Linux

Depanați o mașină virtuală VirtualBox care nu pornește pe Linux verificând vboxdrv, anteturile kernelului, Secure Boot, versiunile Extension Pack și jurnalele mașinii virtuale.

Cum să începi să folosești gThumb pe GNOME

Cum să începi să folosești gThumb pe GNOME

Instalați gThumb pe Linux, răsfoiți și faceți editări simple ale fotografiilor, apoi setați-l ca aplicație implicită pentru tipurile de imagini pe care le alegeți în GNOME.