Image-2. Onuitgegeven Sudoers Dossier. Besturingssysteem: Kali Linux 2019.4
voornamelijk kunnen we vijf secties in het bestand zien — de eerste drie secties in het bestand zijn gerelateerd aan ALIAS van Host, gebruiker en Cmnd., We zullen het later over ALIAS hebben, laten we het eerst hebben over de core sectie:
#User Privilege Specification
root ALL = (ALL:ALL) ALL
opmerking: ‘#’ geeft commentaar in het bestand aan, OS zal deze regel negeren tijdens het uitvoeren.,gebruik : User <spatie >OnHost = (Runas-User:Group)< spatie >commando ‘ s
voorbeeld: root ALL = (All:All) All
Lees het als — gebruiker root kan elk commando uitvoeren als elke gebruiker van elke groep op elke host.
→ de eerste ALL wordt gebruikt om HOSTS te definiëren. We kunnen hostnaam/Ip-adres definiëren in plaats van alle. Alles betekent elke gastheer.
→ tweede alles: derde alles is Gebruiker: Groep., In plaats van alles kunnen we Gebruiker of gebruiker definiëren met de groep zoals gebruiker: groep. ALL: ALL betekent alle gebruikers en alle groepen.
→ Last ALL is het commando. In plaats van alle, kunnen we een commando of set commando ‘ s definiëren. Alles betekent alle commando ‘ s.
om het heel eenvoudig te stellen, het is”who where = (as_whom) what”.
opmerking: de meeste mensen begrijpen HOSTS als hosts op afstand. Het is de lokale hostnaam / IP-adres., HOSTS veld zal zelden gebruikt worden, als je meer wilt weten over HOSTS in Sudoers, zie dan → https://www.sudo.ws/man/1.7.10/sudoers.man.html
in principe kunnen we een gebruiker toestaan om iets op slechts twee manieren te doen —
geef hem direct de toestemming om het commando uit te voeren door de toestemming van het bestand te wijzigen.
laat hem het commando uitvoeren als een andere gebruiker die al de rechten heeft om dit commando uit te voeren.
in het Sudoers-bestand zullen we de laatste implementeren.,
We zullen een ander voorbeeld gebruiken om de velden in de syntaxis duidelijk te begrijpen:
voorbeeld : sysadmin ALL = (root) /usr/bin/cat /etc/shadow
Lees dit als — gebruiker “sysadmin” kan het commando “/usr/bin/cat /etc/shadow” als ROOT gebruiker uitvoeren op alle HOSTS.
hier in het bovenstaande voorbeeld, in de sectie Commando — ik heb iets meer dan een commando toegevoegd, Dit is om de flexibiliteit van Sudoers-bestand te tonen. Het deel “/usr / bin / cat ” is een binair uitvoerbaar bestand of commando dat gebruikt wordt om de inhoud van een bestand te bekijken., Het deel ” / etc / shadow “is een vertrouwelijk bestand dat wachtwoorden opslaat, dus het betekent dat de gebruiker” sysadmin “alleen” /usr/bin/cat “kan uitvoeren op” /etc/shadow ” bestand, als deze gebruiker probeert de inhoud van een ander bestand te bekijken waarop hij geen leesrechten heeft, zal hij dat niet kunnen.,
syntaxis van Sudo commando: sudo <Commando>
voorbeeld: sudo cat /etc/shadow
nu als de gebruiker “sysadmin” sudo gebruikt voor een commando, zal os hem eerst het gebruikerswachtwoord vragen, het wachtwoord verifiëren en vervolgens naar sudoers-bestand gaan en controleren of hij dit commando als elke gebruiker mag uitgeven. Als hij is toegestaan — succes, anders zal het rapporteren een van deze twee dingen —
→ gebruiker is niet in het Sudoers bestand. Dit incident zal worden gemeld.,
Note : You can see this reported incident in /var/log/auth.log
Image-3. Incident Report — Sudoers. Operating System: Kali Linux 2019.,4
→Sorry, user <username> is not allowed to execute <command> as <User> on <hostname>
Image-4. Cannot Execute Command in Sudoers. Operating System: Kali Linux 2019.,4
Hier mag de WebAdmin van de gebruiker alleen”cat /etc/shadow” uitvoeren. Maar hij probeerde het commando ‘cat’ uit te voeren op “/etc/gshadow” wat niet is toegestaan.
aangezien we genoeg grip hebben op de velden in de syntaxis van Sudoers-bestand, Laten we verder gaan en andere secties in het bestand begrijpen. Alle andere secties zullen afhangen van de kern sectie die we al besproken.,
de volgende sectie is GROEPSSECTIE, die
#toestaan dat leden van groep sudo elk commando uitvoeren
%sudo ALL = (ALL:ALL) ALL
percentiel symbool ‘%’ wordt gebruikt om een groep in Sudoers-bestand te vertegenwoordigen. Alle velden en hun functionaliteiten in deze sectie zijn precies hetzelfde als besproken in de vorige sectie — de gebruikers sectie. We kunnen dezelfde Sudo — Privileges aan een groep in plaats van een gebruiker toewijzen door de groepsnaam op te geven – %<groepsnaam>., Dus alle leden in de groep zullen dezelfde privileges erven die aan de groep worden gegeven.
standaard bestaat er een SUDO-groep gedefinieerd in het Sudoers-bestand. We kunnen zien dat deze machtigingen precies hetzelfde zijn als ROOT gebruikers machtigingen in het bestand. Dus als een gebruiker lid is van deze SUDO groep, kan hij alle commando ‘ s uitvoeren die een ROOT gebruiker kan uitvoeren.
laten we een aangepaste groep definiëren en de syntaxis beter begrijpen. Laten we hetzelfde oude systeembeheerder voorbeeld om dit te doen. Neem aan dat het nee is. van de medewerkers zijn nu meer, dus de systeembeheerders zijn nu 3., Elk van deze hebben dezelfde exacte machtigingen nodig die we aan de eerste systeembeheerder hadden gegeven. Een ding dat we kunnen doen om dit te bereiken is drie ingangen hebben voor alle drie de systeembeheerders in het Sudoers bestand. Als we deze aanpak volgen, beledigen we de mogelijkheden van een Sudoers-bestand.
het beste is om alle drie systeembeheerders te groeperen in een groep genaamd ‘SystemAdminGroup’., We zullen de vereiste permissies voor deze groep definiëren met –
%SystemAdminGroup ALL = (root) /usr/bin/cat /etc/shadow
nu kunnen alle drie de beheerders het geprivilegieerde commando uitvoeren. We deden dit in één keer met behulp van de Groepsdefinitie.
Sudoers bestand is in staat om dit hele proces efficiënter te maken met behulp van verschillende functionaliteiten. De eerste drie secties-aliassen worden gebruikt om dit te bereiken., Zoals het woord al suggereert, gebruiken we een ALIAS voor iets dat we in het hele bestand kunnen gebruiken, het is net als een globale variabele in een Script. Hoe maakt dit alles efficiënter? We kunnen set commando ‘s, hosts en gebruikers in één regel definiëren, we wijzen deze regel toe aan een ALIAS naam, deze alias zal gebruikt worden wanneer en waar nodig zonder alle commando’ s/hosts/gebruikers opnieuw te definiëren.
Ik wil nog een ALIAS toevoegen die standaard niet in het Sudoers-bestand staat, namelijk “Run_as ALIAS”., Nu hebben we vier aliassen —
User ALIAS als User_Alias
Run-As ALIAS als Runas_Alias
Host ALIAS als Host_Alias
commando ALIAS als Cmnd_Alias
opmerking : Alias naam moet worden gedefinieerd in hoofdletters en kan nummer, alfabet en underscore bevatten (_). Alias naam moet beginnen met alfabet.,3e”>
Als ik wat instellen van sudo rechten die zijn gedefinieerd voor de gebruikers — john, tim en tom, ik heb geen definitie van het drie keer, in plaats daarvan kan ik bepalen van een Alias en deze Alias gebruiken de Naam terwijl het delegeren van de sudo toegang tot hen.,
If i want to define the set of users a user can run a command as, i can use Runas_Alias., Raak hier niet in de war, vergeet niet de meester mantra — wie waar = (as_whom) wat. We gebruiken een alias om no op te nemen. van gebruikers in het veld “as_whom”.