Wat betekent sudo en wat doet het?

“Kan iemand me vertellen wat sudo betekent?” Ik ben Linux aan het leren. Ik heb gegoogeld, maar kan iemand me een Windows vergelijking geven? Ik denk dat dit me een beetje zal helpen. Ik weet dat su een andere gebruiker betekent. sudo is een andere gebruiker, maar hoe en waarom? Waarom “kun je jezelf niet gewoon machtigingen geven onder je gebruikersnaam?

Reacties

  • In windows, als je ‘ heb geen beheerdersrechten, je moet een naam en wachtwoord opgeven voor een account die dat ook doet. Je kunt jezelf natuurlijk toestemming geven onder je gebruikersnaam, het is gewoon niet slim om dat te doen, zoals elk programma dat je run kan dan alles wijzigen waarvoor je toestemming hebt. Dat is een van de redenen waarom Windows zo lang onveilig is geweest.
  • @KnowledgeBeyondMe: Wat is het onderwerp van de vraag? Wijzig het in iets zinvols.
  • ok, dus laat me eens kijken of ik dit begrijp. In plaats van dat mensen beheerdersaccounts hebben, heeft iedereen het potentieel om een beheerder te worden door de sudo-gebruikersnaam te gebruiken. Door die sudo-gebruikersnaam te gebruiken, je acties zullen naar je worden teruggelogd omdat het nogal verdomd is van je daadwerkelijke gebruikersnaam acct. Als dit zo is, vind ik dat echt leuk. Het bespaart veel tijd. Je hoeft niet ‘ je hoeft niet te wachten tot iemand met privileges naar je toe komt om software en printers en dergelijke toe te voegen.

Antwoord

sudo stelt u in staat een programma uit te voeren als de root-supergebruiker . Als u het gebruikt in plaats van su,

  1. u hoeft het root-wachtwoord niet te weten omdat het om uw wachtwoord vraagt,
  2. je weet expliciet welke commandos zullen draaien als de root en welke anderen als jij. Als je su gebruikt, heb je een shell en kun je onbedoeld enkele (gevaarlijke) programmas draaien, en
  3. worden al je acties aangemeld bij de auth.log bestand. Acties in een shell, zoals die geïnitieerd door su worden gewoonlijk niet geregistreerd .

Waarom kunnen “je jezelf niet gewoon machtigingen geven onder je gebruikersnaam?

Voor veiligheidsredenen, het root-account wordt zelden gebruikt voor dagelijkse doeleinden . Gewoonlijk gebruiken alle gebruikers, inclusief beheerders, een “normale” gebruiker en voeren ze alleen opdrachten uit als root wanneer het nodig is. Dit kan (1) ongeautoriseerde toegang tot bestanden van andere gebruikers, (2) niet-geregistreerde rootacties en (3) problemen veroorzaakt door het uitvoeren van “gevaarlijke” programmas voorkomen.

Daar is een analogie in Wikipedia die u kunt overwegen:

  • Het gebruik van een root-account lijkt veel op Superman zijn; gebruiker lijkt meer op Clark Kent. Clark Kent wordt Superman zolang het nodig is om mensen te redden. Hij keert dan terug naar zijn “vermomming”. Root-toegang moet op dezelfde manier worden gebruikt. De vermomming van Clark Kent beperkt hem echter niet echt, omdat hij nog steeds zijn superkrachten kan gebruiken. Dit is analoog aan het gebruik van het sudo-programma.

Opmerkingen

  • Het gebruik van sudo is net als Goofy zijn totdat je een superpinda eet die je in Super Goof verandert. Je superkrachten slijten na een time-out (standaard 15 minuten), waarna je wordt gevraagd om een nieuwe pinda … eh, je wachtwoord.
  • ok, dus laat me kijken of ik dit begrijp. In plaats van dat mensen beheerdersaccounts hebben, heeft iedereen het potentieel om wees een admin door de sudo-gebruikersnaam te gebruiken. Door die sudo-gebruikersnaam te gebruiken, worden je acties echter weer bij je gelogd, omdat het nogal vervelend is voor je werkelijke gebruikersnaam-acct. Als dit zo is, vind ik dat echt leuk. Het bespaart tonnen U hoeft niet ‘ te wachten tot iemand met geheimen naar u toe komt om software en printers en dergelijke toe te voegen.
  • @KnowledgeBeyondMe Iedereen heeft de krachtig Je moet een admin zijn, maar je moet nog steeds geautoriseerd zijn door vermeld te worden in /etc/sudoers. Er zijn enkele andere voordelen van sudo ten opzichte van su, maar het belangrijkste punt van sudo is dat u zich authenticeert met uw eigen wachtwoord. Gedeelde wachtwoorden zijn slecht.
  • U moet mensen autoriseren, inclusief hen in de /etc/sudoers of met behulp van andere technieken , om sudo uit te voeren. Meestal autoriseer je niet alle mensen, alleen systeembeheerders.

Answer

Standaard op de meeste Unices , de “administrator” -account, root, moet slechts spaarzaam worden gebruikt. Er zijn slechts twee niveaus van beheerders- of “supergebruiker” -rechten op een normaal Unix-systeem: je hebt de volledige controle over alles , of je hebt geen controle.

“Volledige controle” omvat het omzeilen van de meeste toestemmingscontroles en het volledig verknoeien van het systeem door simpelweg verkeerd typen. Als gewone gebruiker kunt u hoogstens uw eigen bestanden verwijderen.

Het oudere su -hulpprogramma wordt samen met het root-wachtwoord gebruikt om de root-identiteit aan te nemen, maar kan ook worden gebruikt om de identiteit van andere gebruikers aan te nemen, of om enkele commandos als hen uit te voeren, op voorwaarde dat u tot de juiste gebruikersgroep behoort en hun wachtwoorden kent.

su wordt vaak door de rootgebruiker (op een Unix-systeem) gebruikt om daemons (serviceprocessen) te starten die onder bepaalde gebruikersidentiteiten moeten worden uitgevoerd om ze te beschermen tegen toegang tot gebieden waar ze geen toegang toe zouden moeten hebben (meestal webservers, SSH-server en dergelijke). Dit kan worden gedaan in opstartscripts terwijl het systeem opstart.

su wordt zelden interactief gebruikt (op de opdrachtregel).

Het sudo -hulpprogramma vereist een beetje meer configuratie omdat het een gebruiker toestaat opdrachten uit te voeren als een andere gebruiker door hun eigen wachtwoord te gebruiken (wat betekent dat een root-wachtwoord bijvoorbeeld niet gedeeld hoeft te worden), en het maakt ook fijnmazige controle mogelijk over wie precies wat mag doen. Men zou bijvoorbeeld een enkele gebruiker, of een hele groep gebruikers, de mogelijkheid kunnen geven om een bepaalde schijf te mounten, maar niet om deze te unmounten of om andere disks te mounten, of om software te installeren met behulp van specifieke commandos etc. Nogmaals, de sudo hulpprogramma maakt het mogelijk om de identiteit van andere gebruikers aan te nemen (niet alleen root) voor interactieve sessies, of om enkele commandos uit te voeren (als de configuratie op deze manier is ingesteld door een andere persoon met root permissions).

Typisch zou men enkele commandos uitvoeren met sudo (vandaar de naam “superuser do”):

$ sudo apt-get install vim 

of

$ sudo shutdown -ph now 

Het gebruik van sudo op deze manier verdient de voorkeur boven het gebruik van sudo -s en werk met een interactieve rootshell, omdat de opdrachten die u uitvoert worden gelogd. men kan later de acties in het logbestand terugvinden om te zien waar (en wie) iets heeft gedaan, hetzij voor debuggen of voor controle.

Als je merkt dat je typi Als u voor een langere tijd weggaat bij een interactieve root-prompt, dan moet u heroverwegen wat u doet en of dat echt root-privileges vereist.

Als voorbeeld, de enige keer dat ik het oproepen van een interactieve root-prompt is wanneer ik een gewone gebruiker voor mezelf toevoeg op een pas geïnstalleerde machine, of wanneer ik echt een aantal ernstige problemen heb waardoor ik niet eens kan inloggen als een gewone gebruiker.


OpenBSD (sinds release 5.8) heeft een hulpprogramma genaamd doas dat sudo vervangt in de standaard systeeminstallatie. Het werd ontwikkeld toen duidelijk werd dat sudo te complex was geworden om te voldoen aan de doelen die door de ontwikkelaars van OpenBSD waren opgesteld. Het gebruik ervan is vergelijkbaar met dat van sudo, maar het configureren is eenvoudiger .

Answer

In vroege versies van Unix was het meest voorkomende scenario om in te loggen via een terminal zonder venstersysteem. Het su commando (vervangende gebruiker) was een handige manier om uw huidige rechten te wijzigen zonder uit te loggen. Onthoud dat uitloggen zonder een window-systeem betekende dat je moest stoppen met wat je aan het draaien was.

Het gebruik van su om root te worden heeft enkele vervelende problemen. Mensen vergaten af en toe de sessie te verlaten en voeren per ongeluk opdrachten uit als root. Het wijzigen van het beheerderswachtwoord werd bemoeilijkt door het feit dat u het moest verspreiden onder iedereen die het nodig had. De meeste systemen logden niet elk commando, dus het was moeilijk om te zeggen wie wat had gedaan als root. En zo verder.

sudo loste deze problemen op door mensen één commando als root te laten uitvoeren. Het biedt een betere controle en controle, terwijl het een beetje handiger is voor eenmalige opdrachten.

Antwoord

ok, dus laat me kijken of ik dit begrijp. In plaats van dat mensen beheerdersaccounts hebben, heeft iedereen het potentieel om een beheerder te worden door de sudo-gebruikersnaam te gebruiken. Door die sudo-gebruikersnaam te gebruiken, worden uw acties echter weer bij u vastgelegd, omdat het soort van uw werkelijke gebruikersnaam acct verdomd is. Als dit zo is, vind ik dat echt leuk. Het bespaart veel tijd. U hoeft niet te wachten tot iemand met informatie naar u toe komt om software en printers en dergelijke toe te voegen.

Opmerkingen

  • sudo is een hulpprogramma, geen gebruikersnaam. Iemand moet je nog steeds het recht geven om sudo te gebruiken. Het recht kan beperkt zijn tot het gebruik van bepaalde commandos, of voor het gebruik van sudo om bepaalde andere gebruikersidentiteiten aan te nemen. sudo kan worden gebruikt om over te schakelen naar andere rollen dan alleen root.
  • oh dus het is net als Active Directory organisatiegroepen? U heeft uw eigen gebruikersnaam met privileges, maar als u permissies krijgt, kunt u toegang krijgen tot de privileges van een gespecialiseerde organisatie. De ORG in deze zin zou het hulpprogramma SUDO zijn?
  • Niet wetend wat een ” Active Directory ” is, Ik kan ‘ daar niet met zekerheid ja of nee op zeggen.
  • Controlemechanisme voor rechten en rollen in Windows.
  • Nee, sudo is geen groep of gebruikersaccount. – In Windows, Active Directory en LDAP kunt u gebruikersgroepen definiëren. In Linux kunt u ook gebruikersgroepen definiëren. Uw linux heeft bijvoorbeeld gewoonlijk een admin groep. Elke gebruiker kan behoren tot een primaire groep en meerdere secundaire groepen . – U kunt de sudo machtigen tot alle leden van een groep . Als je het /etc/sudoers aanvinkt, hebben de geautoriseerde groepen een % voorvoegsel.

Answer

Met sudo kunt u een programma uitvoeren als een andere gebruiker (inclusief root) op basis van een configureerbare, vooraf gedefinieerde set regels.

Aan een Unix / POSIX / Linux-systeemboot is god. De rootgebruiker is ook enkelvoudig.

In veel omgevingen zijn er meerdere admins die volledige root-toegang nodig hebben, maar er kunnen ook individuen zijn die toegang nodig hebben om een specifieke functie uit te voeren die gewoonlijk gereserveerd is voor root; DBAs moeten DB-services stoppen en starten, DB-configuratiebestanden bewerken, netwerkbeheerders moeten netwerkapparaten en routes configureren, beveiligingsbeheerders moeten certificaten beheren en firewalls configureren.

Door te beperken welke commandos een persoon kan uitvoeren, past sudo het principe van de minste rechten toe – gebruikers krijgen geen toegang die ze niet nodig hebben. Maar het beperkt niet alleen de binaire bestanden die gebruikers gebruiken. Veel beheertaken worden uitgevoerd vanaf de opdrachtregel – en de parameters die aan die opdracht worden doorgegeven, kunnen ook worden beperkt door sudo (of vastgelegd in een shellscript met toegang geboden door sudo), daarom is het mogelijk om de gegevens / apparaten die deze specialisten te beperken beheerders hebben toegang.

Waarom kunnen “je jezelf niet gewoon machtigingen geven onder je gebruikersnaam?

1) dit zou slecht zijn.

  • Ik heb vaak toegang gehad tot het root-account op systemen – maar ik heb altijd een account met een naam ingesteld om te gebruiken voor inloggen , en alleen “su” of “sudo” als ik mijn superkrachten expliciet wil aanroepen. Naast het vermijden van dwaze fouten, biedt mijn genoemde account een sandbox voor alle zich misdragende componenten.

  • wat als er 5 mensen zijn die de geprivilegieerde toegang nodig hebben, geef ik die dan aan iedereen? Hoe zit het met 20? Hoe zit het met 200?

2) dit zou moeilijk zijn

  • het is niet het Unix-beveiligingsmodel. Natuurlijk kunt u de machtigingen voor sommige uitvoerbare bestanden wijzigen (zie eerdere opmerking over parameters). Maar als u zich bewust bent van de beveiliging, past u regelmatig patches toe – wat een aangepast toestemmingsmodel kan ondermijnen (sudo OTOH behoudt zijn toestemmingen onafhankelijk van de opdrachten zelf).

Opmerkingen

  • ahhh, dit is waarom Linux wat moeilijker aan te vallen is. Minder mensen met rechten. De aanvaller zou de juiste persoon met de juiste rechten per se moeten vinden.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *