Vraag Hoe wachtwoordloze `sudo` instellen op Linux?


Hoe kan wachtwoordloos zijn sudo toegang kan worden ingesteld op RHEL (Fedora, CentOS, enz.) of Ubuntu-distributies? (Als het hetzelfde is voor verschillende distributies, is dat nog beter!)

Instelling: persoonlijke en / of laboratorium / trainingsapparatuur zonder zorgen voor ongeoorloofde toegang (dwz de apparaten bevinden zich op niet-openbare netwerken, en / of alle gebruikers zijn volledig vertrouwd en de inhoud van de apparaten is "plain-vanilla") .


136
2017-07-15 04:09


oorsprong


Het antwoord van @Richipal is actullay degene die het best werkt met de minste inspanning: het lijkt erop dat sudoers regels in omgekeerde volgorde van toepassing zijn. - a1an
@ algemene regels worden toegepast in dezelfde volgorde als vermeld in het sudoers-bestand en terwijl ze worden toegepast, vervangen ze elkaar. Dus als ik niet wil dat een regel helemaal verandert, zou ik het naar het einde van het bestand brengen, zodat het uiteindelijk wordt toegepast en niet kan worden opgeheven. - rsjethani


antwoorden:


BEWERK dankzij medina's commentaar: Volgens de man-pagina zou je moeten kunnen schrijven

ALL            ALL = (ALL) NOPASSWD: ALL

om alle gebruikers toe te staan ​​om alle opdrachten zonder wachtwoord uit te voeren.


Ter referentie, ik verlaat mijn vorige antwoord:

Als u een regel van het formulier toevoegt

%wheel         ALL = (ALL) NOPASSWD: ALL

naar /etc/sudoers (de ... gebruiken visudo commando, natuurlijk), het laat iedereen in de groep wheel voer alle commando's uit zonder een wachtwoord op te geven. Dus ik denk dat de beste oplossing is om al je gebruikers in een bepaalde groep te plaatsen en een regel als die in te plaatsen sudoers - Natuurlijk moet je het vervangen wheel met de daadwerkelijke groep die u gebruikt.

U kunt ook een gebruikersalias definiëren,

User_Alias     EVERYONE = user1, user2, user3, ...

en gebruik dat:

EVERYONE       ALL = (ALL) NOPASSWD: ALL

hoewel je zou moeten updaten /etc/sudoers elke keer dat u een gebruiker toevoegt of verwijdert.


151
2017-07-15 04:25



Maakt niet ALL werk in plaats van * om alle gebruikers te specificeren? Zie het voorbeeld in sudoers(5). - medina
@medina: dat is zo, dat heb ik gemist toen ik de man-pagina aan het lezen was. Ik zal het bewerken. - David Z
onder Ubuntu, maak een bestand aan onder /etc/sudoers.d en plaats deze in het dan zal het stoppen met het bewerken van sudoers - Xetius
In CentOS7 is deze invoer standaard aanwezig, net uit commentaar. - killjoy
Alleen geslaagd om het te gebruiken in centOS door kopiëren / plakken, mislukte bij elke poging om rechtstreeks de configuratie in te voeren. Maar het resultaat lijkt identiek, behalve voor spaties ... - MUY Belgium


Ik heb de bovenstaande oplossingen zonder succes geprobeerd. De volgende oplossing werkte voor mij Bewerk het bestand / etc / sudoers en voeg de volgende regel toe

username ALL=(ALL) NOPASSWD: ALL

De sleutel is om het toe te voegen na de laatste regel die zegt

#includedir /etc/sudoers.d

81
2018-05-19 15:23



//, Dit lijkt de betere manier om het te doen, vooral wanneer bepaalde applicaties hun eigen regels voor systeemgebruikers, Richipal, zullen toevoegen. Meer info over sudoers.d: sudo.ws/man/1.8.13/sudoers.man.html - Nathan Basanese
//, Zou u bereid zijn om een ​​deel van de diagnostiek van Gearoid Murphy toe te voegen aan uw antwoord? - Nathan Basanese
Bedankt voor deze verduidelijking. Het toevoegen ervan na de regel #includeir /etc/sudoers.d lijkt belangrijk in CentOS 7, terwijl het prima lijkt te werken om de regel eerder in CentOS 6 te hebben. - dmohr
Het probleem met het negeren van de NOPASSWD van% wheel lijkt te ontstaan /etc/sudoers.d/USERNAME de NOPASSWD-machtiging van de groep overschrijven. NOPASSWD toepassen in /etc/sudoers.d/USERNAME lost het probleem op. - eel ghEEz


Ik heb alle antwoorden op deze pagina geprobeerd, zonder bruikbare resultaten. Uiteindelijk heb ik het uit, gebruik dit commando om uw sudo rechten op te sommen:

sudo -l

Dit zou je een output als deze moeten geven:

User gmurphy may run the following commands on this host:
    (root) NOPASSWD: ALL
    (ALL) ALL

Het laat zien dat ik geconfigureerd ben met root-privileges, maar dat ik nog steeds deel uitmaak van een groep (admin) die overeenkomt met een sudo-regel die het wachtwoord verwacht ("(ALL) ALL"). Dit dwong sudo om mij te waarschuwen. De regel in kwestie was de admin-gebruikers:

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

Nadat ik dit had opgemerkt, kon ik sudo zonder wachtwoord. Ik hoop dat dit nuttig is voor iemand anders.


24
2017-11-06 12:57



Ahhh, bedankt! Dit maakte me gek ... in mijn geval maakte mijn gebruiker deel uit van de "sudo" -groep evenals van "admin" (die ik heb gemaakt), en de machtigingen voor elk waren verkeerd afgestemd, zoals ze in jouw geval waren . Nu werkt dit spul! :) - neezer
Een line-out reageren is een bot instrument. Wellicht bent u geïnteresseerd om te horen dat "sudo het sudoers-bestand leest en de machtigingen van boven naar beneden toepast, zodat de laatste regel in het bestand elk vorig conflict overschrijft" volgens ubuntuforums.org/showthread.php?t=1132821 - en dit werkte voor mij. - David J.


Binnen /etc/sudoers er is een voorbeeld van alleen dat aan de onderkant van het bestand:

## Same thing without a password
# %wheel        ALL=(ALL)       NOPASSWD: ALL

9
2017-07-15 04:24



dat monster was niet in de mijne - maar bedankt! - warren
Zoals je beknopte antwoord - Pei


Er is een andere manier om het te doen zonder het sudoers-bestand aan te raken.

  • Bewerk /etc/pam.d/su en uncomment de lijn hieronder:

    auth           sufficient      pam_wheel.so trust use_uid
    
  • Voeg de gebruiker toe aan de wheel groep.


5
2017-07-15 08:39





Er is een andere manier om het te doen zonder het sudoers-bestand aan te raken.

  • Bewerk /etc/pam.d/sudo en voeg de regel hieronder toe:

    auth voldoende pam_wheel.so vertrouwen gebruik_uid
  • Voeg de gebruiker toe aan de wheel groep.

Props to "topdog" en "Daniel Serodio" voor het oorspronkelijke antwoord met betrekking tot "su" in plaats van "sudo". Ik gebruikte dat als een referentie en schaamteloos gekopieerd en gewijzigd, hun post.


1
2017-09-11 00:36



Ik denk dat in plaats van letterlijk te kopiëren, het beter is om ze te crediteren, maar wees duidelijk over hoe jouw antwoorden verschillen. Ik neem aan dat dit wachtwoordloos toestaat su, in plaats van / maar ook zonder wachtwoord sudo? Daniel's toevoeging is trouwens alleen maar een opmaak. - mwfearnley