Hoe de Controle van sudo Toegang op Linux

0
36
Fatmawati Achmad Zaenuri/Shutterstock

Het sudo commando kunt u opdrachten uitvoeren op Linux, alsof je iemand anders, zoals de root. sudo ook kunt u bepalen wie toegang heeft tot de wortel van de mogelijkheden, met granulatie. Geeft gebruikers volledige toegang of laat ze gebruik maken van een kleine subset van de opdrachten. Wij laten u zien hoe.

sudo en Root Rechten

We hebben allemaal gehoord van de oversimplificatie) dat alles in Linux een bestand. In waarheid, vrijwel alles wat in het besturingssysteem van processen, bestanden, mappen, stopcontacten en leidingen praten aan de kernel door een bestandsdescriptor. Dus hoewel alles niet van een bestand, de meeste besturingssystemen objecten worden behandeld alsof zij waren. Waar mogelijk, het ontwerp van Linux-en Unix-achtige operating systemen voldoen aan dit principe.

Het concept van “alles is een bestand” is ingrijpend in Linux. Het is gemakkelijk om dan te zien, hoe machtigingen voor bestanden in Linux werd een van de pijlers van de gebruiker privileges en rechten. Als u een bestand of map (een speciaal soort bestand), kunt u doen wat u wilt, zoals bewerken, hernoemen, verplaatsen en verwijderen. Ook kunt u de machtigingen voor het bestand, zodat andere gebruikers of groepen van gebruikers kunnen lezen, wijzigen of het bestand uit te voeren. Iedereen wordt beheerst door deze machtigingen.

Iedereen die, afgezien van de superuser, bekend als root. Het root account wordt een speciaal bevoorrechte account. Het is niet gebonden door de rechten op een van de objecten in het besturingssysteem. De root gebruiker iets kan doen, naar alles, vrij veel, op elk moment.

Natuurlijk, iedereen met toegang tot het root-wachtwoord kunnen hetzelfde doen. Ze kunnen grote schade aanrichten, hetzij met opzet of per ongeluk. In feite, kan de root gebruiker kan een ravage aanrichten door het maken van een fout ook. Niemand is onfeilbaar. Het is gevaarlijk spul.

Dit is de reden waarom het wordt nu beschouwd als de beste praktijk om niet als root in te loggen op alle. Log in met een gewone account aan en gebruik dan sudo te verheffen uw rechten voor de korte duur dat u ze nodig hebt. Vaak is dat slechts een enkele opdracht.

GERELATEERD: Wat Betekent “Alles Is een Bestand” Betekenen in Linux?

De sudoers Lijst

sudo reeds geïnstalleerd is op de Ubuntu 18.04.3, Manjaro 18.1.0, en Fedora 31 computers gebruikt voor het onderzoek in dit artikel. Dit is geen verrassing. sudo is al sinds het begin van de jaren 1980 en is uitgegroeid tot de standaard van superuser bijna alle distributies.

Wanneer u de installatie van een moderne distro, de gebruiker maakt u tijdens de installatie wordt toegevoegd aan een lijst van gebruikers genoemd sudoers. Dit zijn de gebruikers die gebruik maken van het sudo commando. Omdat je sudo bevoegdheden, kunt u ze gebruiken om andere gebruikers toevoegen aan de lijst van sudoers.

Natuurlijk, het is roekeloos om met de hand uit het volledige superuser status tegen wil en dank, of aan iemand die slechts een gedeeltelijke of specifieke behoefte. De sudo-lijst kunt u aangeven welke opdrachten de verschillende gebruikers zijn toegestaan om te gebruiken met sudo. Op die manier hoeft u niet hen de sleutels van het koninkrijk, maar ze kunnen bereiken wat ze moeten doen.

Het uitvoeren van een Opdracht als een Andere Gebruiker

Het was oorspronkelijk de naam “superuser doen”, omdat je dingen kon doen als de superuser wordt uitgevoerd. De reikwijdte is uitgebreid nu, en u kan sudo gebruiken om commando uit te voeren alsof u een gebruiker. Het is van naam veranderd om aan te geven dat nieuwe functionaliteit. Het heet nu “vervangen door de gebruiker.”

Om sudo gebruiken om een commando uitvoeren als een andere gebruiker, moeten we gebruik maken van de -u (gebruiker) optie. Hier gaan we het uitvoeren van het whoami-commando als de gebruiker mary. Als u gebruik maken van het sudo commando zonder de optie-u, zult u de opdracht uitvoeren als root.

En natuurlijk, omdat je met sudo-u wordt gevraagd uw wachtwoord in.

sudo -u maria whoami

De reactie van whoami vertelt ons dat de account van de gebruiker die de opdracht uitvoert, is maria.

U kunt gebruik maken van het sudo commando om in te loggen als een andere gebruiker zonder het te weten hun wachtwoord. U zult worden gevraagd om uw eigen wachtwoord. We moeten gebruik je de-i (login) optie.

sudo -i-u maria
pwd
whoami
ls -hl
afsluiten

U bent ingelogd als maria. De “.bashrc”, “.bash_aliases”, en “.profiel” bestanden voor de maria-gebruikersaccount worden verwerkt exact hetzelfde als wanneer de eigenaar van de maria gebruiker account was ingelogd zelf.

  • De commando prompt verandert dit is een sessie voor de gebruiker account maria.
  • De pwdcommand reprots dat u nu in mary ‘ s home directory.
  • whoami vertelt ons bent u met de user account maria.
  • De bestanden in de map behoren tot de mary gebruikersaccount.
  • De opdracht exit hiermee keert u terug naar uw normale gebruikersaccount sessie.

Het bewerken van de sudoers File

Om gebruikers toe te voegen aan de lijst van mensen die sudo kan gebruiken , moet u het bewerken van de sudoers file. Het is van vitaal belang dat u alleen maar doen met het visudo commando. Het visudo commando voorkomt dat er meerdere mensen uit te proberen voor het bewerken van de sudoers file in een keer. Het voert ook controle van de syntax en het parseren op de inhoud van het bestand als u ze opslaat.

Als u uw wijzigingen niet doorgeven van de tests, het bestand is niet blindelings opgeslagen. Je krijgt opties. U kunt annuleren en de wijzigingen, ga dan terug en wijzig de wijzigingen weer, of de macht van de onjuiste bewerkingen worden opgeslagen. De laatste optie is een zeer slecht idee. Laat u niet verleiden om dat te doen. Je kan jezelf vinden in een situatie waar iedereen per ongeluk buitengesloten van het gebruik van sudo.

Hoewel u begint met het bewerken gebruik het visudo commando, je visudo is niet een editor. Het roept een van uw bestaande editors uit te voeren van het bestand bewerkt. Op Manjaro en Ubuntu, het visudo commando gestart met de eenvoudige editor nano. Op Fedora, je visudo gestart met de meer in staat, maar minder intuïtief—vim.

GERELATEERD: Hoe Verlaat de Vi of Vim Editor

Als u liever gebruik maken van nano op Fedora, kun je dit eenvoudig. Installeer eerst nano:

sudo dnf installeren nano

En dan visudo moest een beroep worden gedaan met dit commando:

sudo EDITOR=nano visudo

Dat lijkt een goede kandidaat voor een alias. De nano editor wordt geopend met de sudoers file geladen in.

Het toevoegen van Gebruikers aan de sudo Groep

Gebruik je visudo te openen sudoers file. Gebruik deze opdracht of de hierboven beschreven is voor het specificeren van de editor van uw keuze:

sudo visudo

Blader door de sudoers file tot u de definitie van de %sudo toegang.

Het percentage teken geeft aan dat dit een groep definitie geen gebruikers-definitie. Op sommige distributies, het %sudo lijn heeft een hash # aan het begin van de regel. Dit maakt de lijn een reactie. Als dit het geval is, verwijder de hash en sla het bestand op.

De %sudo lijn afbreekt, zoals deze:

  • %van sudo: De naam van de groep.
  • ALLE=: Deze regel geldt voor alle hosts op het netwerk.
  • (ALLE:ALLE): leden van deze groep kunnen uitvoeren van opdrachten als alle gebruikers en groepen.
  • Allen: leden van deze groep kunnen uitvoeren van alle opdrachten.

Te herformuleren dat iets, leden van deze groep kunnen uitvoeren van een opdracht, als een gebruiker of een groep, op deze computer of op een andere host op dit netwerk. Dus een eenvoudige manier om iemand te laten root privileges en de mogelijkheid tot het gebruik van sudo, is om ze toe te voegen aan de sudo groep.

We hebben twee gebruikers, Tom en Mary, met gebruikersaccounts tom en mary respectievelijk. We gebruikersaccount toevoegen tom de sudo groep met de usermod commando. De -G (groepen) optie geeft de groep gaan we naar voeg de tom-account. De-a (toevoegen) de optie voegt deze groep aan de lijst van groepen waar de gebruiker rekening tom is al in. Zonder deze optie het gebruikersaccount tom zou worden geplaatst in de nieuwe groep, maar verwijderd van alle andere groepen.

sudo usermod-a -G sudo tom

Laten we eens kijken welke groepen Maria is in:

groepen

De gebruikersaccount maria is alleen in de maria-groep.

Laten we eens kijken met Tom:

groepen

De tom—gebruikersaccount en daarom, Tom—is in de groepen tom en sudo.

Laten we proberen om Maria te doen van iets dat vereist sudo-rechten.

sudo less /etc/shadow

Maria kan niet kijken in de beperkte file “/etc/shadow.” Ze krijgt een licht dat voor het proberen om het sudo gebruiken zonder toestemming. Laten we hoe Tom tarieven:

sudo less /etc/shadow

Zodra Tom voert zijn wachtwoord, is hij het /etc/shadow bestand.

Gewoon door hem toe te voegen aan de sudo groep, hij is verheven tot de elite gelederen van degenen die sudo kan gebruiken. Helemaal onbeperkt.

Het geven van Gebruikers Beperkt sudo Rechten

Tom heeft gekregen volledige sudo rechten. Hij kan niets doen dat de wortel—of iemand anders in de sudo groep kunnen doen. Dat zou hem meer macht dan je gelukkig te overhandigen. Soms is er een eis voor een gebruiker voor het uitvoeren van een functie vereist root rechten, maar er is niet een gerechtvaardigde zaak voor hen om volledige sudo toegang. U kunt het bereiken van dat evenwicht door ze toe te voegen aan de sudoers file en een opsomming van de opdrachten die ze kunnen gebruiken.

Laten we elkaar ontmoeten Harry, de eigenaar van de account van de gebruiker harry. Hij is niet in het sudo groep, en hij heeft geen sudo-rechten.

groepen

Het is nuttig voor Harry in staat om software te installeren, maar we willen niet dat hij de volledige sudo rechten. OK, geen probleem. laat het vuur van je visudo in:

sudo visudo

Scroll naar beneden door de file totdat je voorbij de groep definities. We gaan een regel toevoegen voor Harry. Want dit is een door de gebruiker definitie, en niet een groep definitie, hebben we niet nodig om te beginnen met de lijn met een percentage teken.

De inschrijving voor de gebruikersaccount harry is:

harry ALLE=/usr/bin/apt-get

Merk op dat er een tab tussen de “harry” en de “ALL=.”

Deze luidt als gebruiker account harry kunt gebruik maken van de genoemde commando ‘ s zijn op alle hosts aangesloten op dit netwerk. Er is een opdracht vermeld, die is door “/usr/bin/apt-get.” We kunnen subsidie Harry toegang tot meer dan één opdracht, door ze toe te voegen aan de opdracht lijst, gescheiden door komma ‘ s.

Het toevoegen van de regel aan de sudoers bestand, en sla het bestand op. Als u wilt controleren of de lijn is syntactisch correct zijn, kunnen we vragen je visudo in te scannen van het bestand en controleer de syntaxis voor ons, met behulp van de-c (alleen) optie:

sudo visudo -c

De controles vinden plaats je visudo in en meldt dat alles goed is. Harry moet nu in staat zijn om apt-get gebruiken om software te installeren, maar dient te worden geweigerd, wanneer hij probeert te gebruiken een andere opdracht waarvoor sudo.

sudo apt-get install vinger

De juiste sudo rechten zijn verleend aan Harry, en hij is in staat om de software te installeren.

Wat gebeurt er als Harry probeert te gebruiken een andere opdracht dat vereist sudo?

sudo shutdown now

Harry is verhinderd in het uitvoeren van de opdracht. We hebben met succes een hem toegekend specifieke, beperkte toegang. Hij kan gebruik maken van de genomineerde opdracht en niets anders.

Met behulp van sudo Gebruiker Aliassen

Als we willen geven Mary dezelfde rechten heeft, kunnen we een regel toevoegen in de sudoers file voor de gebruikersaccount maria op precies dezelfde manier als dat we deden met Harry. Een andere, nettere manier om hetzelfde ding is om gebruik te maken van een User_Alias.

in de sudoers file, een User_Alias bevat een lijst van user account namen. De naam van de User_Alias kan vervolgens worden gebruikt in een definitie te geven al die gebruikersaccounts. Als u wilt wijzigen van de bevoegdheden voor die gebruiker-accounts, gebruikt u slechts één lijn die u wilt bewerken.

We maken een User_Alias en gebruiken in onze sudoers file.

sudo visudo

Scroll naar beneden in de file tot aan de User_Alias specificatie lijn.

Voeg de User_Alias door te typen:

User_Alias INSTALLATEURS = harry, maria

Elk element is gescheiden door een spatie, niet met een tabblad. De logica breekt als:

  • User_Alias: Dit vertelt je visudo in deze gaat om een User_Alias.
  • INSTALLATEURS: Dit is een willekeurige naam voor deze alias.
  • = harry, mary: De lijst van gebruikers op te nemen in dit alias.

Nu we bewerken de lijn die we toegevoegd voor de gebruikersaccount harry:

harry ALLE=/usr/bin/apt-get

Het zo veranderen dat het wordt gelezen:

INSTALLATEURS AL=/usr/bin/apt-get

Deze zegt dat alle gebruikersaccounts die zijn vervat in de definitie van de “INSTALLATEURS” User_Alias kunnen uitvoeren van de apt-get-opdracht. We kunnen dit testen met Maria, die moet nu in staat zijn om software te installeren.

sudo apt-get install colordiff

Mary is in staat om de software te installeren, omdat ze in de “INSTALLATEURS” User_Alias, en dat User_Alias is bekroond met deze rechten.

Drie Snelle sudo Trucs

Wanneer u vergeten toe te voegen sudo om een commando, type

sudo !!

En de laatste opdracht zal worden herhaald met sudo toegevoegd aan het begin van de regel.

Als je eenmaal hebt gebruikt sudo en geverifieerd met uw wachtwoord, hoeft u niet om het gebruik van uw wachtwoord met verdere sudo commando ‘ s voor 15 minuten. Als u wilt uw verificatie vergeten rechte weg, gebruik:

sudo -k

Ooit afgevraagd waar u kunt zien is mislukt sudo commando pogingen? Ze gaan naar de “/var/log/auth.log” – bestand. U kunt bekijken met:

less /var/log/auth.log

Zien We het item voor gebruikers account maria, die was aangemeld bij het TTY-pts/1 toen ze probeerde om het uitvoeren van de opdracht shutdown als gebruiker “root”.

Met Grote Kracht…

…komt de mogelijkheid om te delegeren delen aan anderen. Nu je weet hoe de emancipatie van andere gebruikers selectief.

LEES VERDER

  • “Hoe DNS Via HTTPS (DoH) een Impuls Zal geven aan de Online Privacy
  • “Exclusieve Deal: Opladen, Aansluiten en Verlengen van Uw MacBook met deze $29 7-in-1 USB-C Adapter Hub
  • “Hoe Wijzig Uw Google Stadions Gebruikersnaam en Avatar
  • “Het Scannen van een Document in Windows 10
  • “Hoe Gebruik je het ps Commando om te Controleren Linux Processen