Een fout bij /etc/sudoers /etc/sudoers.d.
Ik bewerk sudoers nooit met een editor die rechtstreeks op het bestand is geopend. visudo

Controleer de sudo-toegang voordat u een regel wijzigt.
Controleer eerst of uw account nog steeds sudo-rechten heeft en welke opdrachten het mag uitvoeren:
sudo -v
sudo -l
Identiteitskaart
groepen
sudo -v Valideert authenticatiegegevens zonder een gevoelige opdracht uit te voeren. sudo -l Toont de regels die daadwerkelijk op het account van toepassing zijn. Als deze stap mislukt, raak dan de sudoers-instellingen niet aan vanuit deze sessie.
Open vervolgens een tweede terminal en behoud daar een root-sessie:
sudo -ik
WHO
w
Linux-accounts en -groepen Dit kan u helpen het doelaccount te verifiëren voordat u het bevoegdheden verleent.
Sla sudoers op zonder de machtigingen te wijzigen.
Voordat je gaat bewerken, kopieer je het hoofdbestand naar een map die is gereserveerd voor de root-gebruiker. De optie -heeft behoudt met name de eigenaar, de groep en de modus:
sudo cp -a /etc/sudoers "/root/sudoers.backup-$(date +%F-%H%M)"
sudo stat -c '%A %a %U:%G %n' /etc/sudoers /etc/sudoers.d
Bij veel distributies, /etc/sudoers behoort tot wortel: wortel met een modus vierhonderdveertigCorrigeer machtigingen niet willekeurig als uw distributie een ander beleid hanteert. Noteer eerst de huidige status en bewaar het exacte pad naar de back-up.
Bewerk het hoofdbestand met visudo.
Om de hoofdconfiguratie te openen, start u eenvoudigweg:
sudo visudo
visudo Het programma vergrendelt het bestand om te voorkomen dat er twee bestanden tegelijk bewerkt worden. Bij het sluiten analyseert het de syntaxis en weigert het normaal gesproken een ongeldige configuratie te installeren. Als het programma een foutmelding geeft, ga dan terug naar de editor en corrigeer deze. Forceer het opslaan van een bestand dat u niet begrijpt niet.
Een sudoers-regel volgt doorgaans deze logica: gebruiker of groep, betrokken hosts, uitvoeringsidentiteit en vervolgens geautoriseerde opdrachten. Om het account te autoriseren. Om Nginx opnieuw op te starten en alleen te controleren, moet u eerst het binaire pad verifiëren:
Als het commando terugkeert /usr/bin/systemctlDe regel kan de volgende vorm aannemen:
alice ALL=(root) /usr/bin/systemctl is-active nginx, /usr/bin/systemctl restart nginx
Niet gebruiken GEEN PASSWD Uit gewoonte. Beperk automatisering tot één account, één commando en gecontroleerde argumenten. Een algemene regel die toegang verleent tot een shell, editor of commando dat andere programma’s kan starten, komt vaak neer op het verlenen van volledige root-toegang.
Maak een schoon bestand aan in /etc/sudoers.d
Voor een regel die specifiek is voor een afdeling of team, geef ik de voorkeur aan een apart fragment van het grote hoofdbestand. Open het met de optie -F :
sudo visudo -f /etc/sudoers.d/administration
Kies een eenvoudige naam, zonder spaties, punten of speciale tekens, zoals: ~Volgens de richtlijn Sommige namen worden door de distributie gebruikt, maar kunnen worden genegeerd. Controleer na registratie de eigenaar en de modus:
sudo chown root:root /etc/sudoers.d/administration
sudo chmod 0440 /etc/sudoers.d/administration
sudo stat -c '%A %a %U:%G %n' /etc/sudoers.d/administration
De algemene tutorial over sudo op Linux Hierin wordt de delegatie per gebruiker, groep en alias gedetailleerd beschreven. Het doel blijft hier beperkter: een verifieerbare regel installeren zonder de mogelijkheid te verliezen om terug te keren naar de vorige versie.
Controleer de volledige configuratie voordat u gaat testen.
Zodra de bewerkingen voltooid zijn, voert u een volledige controle uit. Deze opdracht controleert het hoofdbestand en de bestanden waarnaar het verwijst:
sudo visudo -c
Het resultaat moet aangeven dat de geanalyseerde bestanden syntactisch correct zijn. Als er een fragment wordt gerapporteerd, open dan dat specifieke bestand opnieuw met visudo -fStart de machine niet opnieuw op en sluit de root-sessie niet af zolang de controle mislukt.
Vanuit de behouden root-sessie kunt u vervolgens de rechten van het doelaccount weergeven:
sudo -l -U alice
Test in een nieuwe sessie voordat je root afsluit.
Open een derde inlogsessie met het betreffende account. Gebruik niet zomaar de sessie die al een gecachede sudo-ticket heeft. Maak deze cache ongeldig, vraag de lijst met privileges op en voer vervolgens alleen de geautoriseerde opdracht uit:
sudo -k
sudo -v
sudo -l
sudo systemctl status nginx
Controleer ook of een onverwachte opdracht nog steeds wordt geweigerd. Een regel is correct als de gebruiker de verwachte toegang behoudt zonder meer privileges te verkrijgen dan nodig. Sluit de back-up root-sessie pas na deze test.
Herstel de sudo-rechten als de validatie of toegang mislukt.
Als visudo -c Als het mislukt, corrigeer dan het defecte fragment vanuit de nog openstaande root-sessie. Om terug te keren naar het oorspronkelijke opgeslagen bestand, vervangt u het pad door uw daadwerkelijke back-up:
cp -a /root/sudoers.backup-YYYY-MM-DD-HHMM /etc/sudoers
visudo -c
Als alle beheerderssessies al gesloten zijn, gebruik dan de leveranciersconsole, de herstelmodus of een live-omgeving om het systeem te koppelen en de configuratie te herstellen. Het bewerken van sudoers vanuit een account zonder bevoegdheden werkt niet.
Om een weigering na een succesvolle validatie te begrijpen, controleer je de sudo-gebeurtenissen van de huidige opstartprocedure en vervolgens het authenticatielogboek als je distributie dit gebruikt:
sudo journalctl -t sudo -b --no-pager
sudo tail -n 100 /var/log/auth.log
Daar documenteert de vergrendeling, bediening en optie -F. Documentatie sudoers(5) Dit beschrijft de syntaxis, de inclusies en de commandoregels. Houd vooral deze volgorde aan: back-uptoegang, opslaan, bewerken met visudo, wereldwijde validatie, en vervolgens testen in een nieuwe sessie.