PAM maakt het een stuk eenvoudiger voor beheerders en ontwikkelaars omdat het zelf wijzigingen aan het broncodebestand aanbrengt en minimale interactie vereist. PAM kan dus ook worden gedefinieerd als een gegeneraliseerde Application Programming Interface voor authenticatiegerelateerde services. In plaats van de code opnieuw te schrijven, wordt deze vanzelf aangepast.
Pam-module-interfaces
Authentiek: Het is de module die verantwoordelijk is voor authenticatiedoeleinden; het verifieert het wachtwoord.
Account: Nadat de gebruiker is geverifieerd met de juiste inloggegevens, controleert het accountgedeelte op geldigheid van het account, zoals beperkingen op het gebied van verval of tijdaanmelding, enz.
Wachtwoord: Het wordt alleen gebruikt om het wachtwoord te wijzigen.
Sessie: Het beheert de sessies, bevat een account van gebruikersactiviteit, het maken van mailboxen, maakt de thuismap van de gebruiker enz.
zelfstudie
- Om te controleren of uw toepassing LINUX-PAM gebruikt of niet, gebruikt u de volgende opdracht in uw terminal:
$ ldd /bin/suZoals we in regel 2 van de uitvoer kunnen zien, bestaat er een lipbpam.dus bestand dat de vraag bevestigt.
- De configuratie van LINUX-PAM staat in de directory /etc/pam.d/. Open de terminal van uw Linux-besturingssysteem en ga naar de pam-directory door het commando te typen: $ cd /etc/pam.d/
Dit is de directory die andere services bevat die PAM . ondersteunen. Men kan
controleer de inhoud door de opdracht $ ls in de map van pam uit te voeren, zoals weergegeven in de bovenstaande schermafbeelding.als je sshd niet vindt als een service die PAM ondersteunt, moet je de sshd-server installeren.
SSH (of beveiligde shell) is een versleutelde netwerktool die is ontworpen om verschillende typen computers/gebruikers veilig op afstand in te kunnen loggen op verschillende computers via een netwerk. U moet het openssh-server-pakket installeren, wat u kunt doen door de volgende opdracht in uw terminal uit te voeren:.
$sudo apt-get install openssh-serverHet zal alle bestanden installeren en dan kun je de pam-map opnieuw invoeren en controleren op de services en zien dat sshd is toegevoegd.
- Typ vervolgens de volgende opdracht:. VIM is een teksteditor die platte tekstdocumenten opent zodat de gebruiker ze kan zien en bewerken. $vim sshd
Als u de vim-editor wilt verlaten en dit niet kunt, drukt u tegelijkertijd op de Esc-toets en de dubbele punt (:) waardoor u in de invoegmodus komt. Typ na de dubbele punt q en druk op enter. Hier staat q voor quit.
U kunt naar beneden scrollen en alle modules zien die eerder zijn beschreven met termen als vereist, inclusief, vereist enz. Wat zijn dat?
Ze worden de PAM-controlevlaggen genoemd. Laten we in hun details treden voordat we in veel meer concepten van PAM-services duiken.
PAM-besturingsvlaggen
- Verplicht: Moet slagen voor resultaatsucces. Het is de noodzaak waar men niet zonder kan.
- Vereiste: Moet slagen, anders worden er geen verdere modules uitgevoerd.
- Voldoende: Het wordt genegeerd als het niet lukt. Als deze module is geslaagd, worden er geen vlaggen meer gecontroleerd.
- Optioneel: Het wordt vaak genegeerd. Het wordt alleen gebruikt als er slechts één module in de interface is.
- omvatten: Het haalt alle regels op uit de andere bestanden.
Nu is de algemene regel om de hoofdconfiguratie te schrijven als volgt: servicetype controle-vlagmodule module-argumenten:
- ONDERHOUD: Dit is de naam van de applicatie. Stel dat de naam van uw toepassing NUCUTA . is.
- TYPE: Dit is het type module dat wordt gebruikt. Stel dat hier de gebruikte module authenticatiemodule is.
- CONTROL-VLAG: Dit is het type controlevlag dat wordt gebruikt, een van de vijf typen zoals eerder beschreven:.
- MODULE: De absolute bestandsnaam of de relatieve padnaam van de PAM.
- MODULE-ARGUMENTEN: Het is de afzonderlijke lijst met tokens om het gedrag van de module te regelen.
Stel dat u root-gebruikerstoegang tot elk soort systeem via SSH wilt uitschakelen, dan moet u de toegang tot de sshd-service beperken. Bovendien moeten de inlogdiensten worden gecontroleerd toegang.
Er zijn verschillende modules die de toegang beperken en privileges geven, maar we kunnen de module gebruiken /lib/security/pam_listfile.zo die extreem flexibel is en veel functionaliteiten en privileges heeft.
- Open en bewerk het bestand/de applicatie in de vim-editor voor de doelservice door de /etc/pam.d/ map eerst.
De volgende regel moet in beide bestanden worden toegevoegd:
auth vereist pam_listfile.so\onerr=geslaagd item=user sense=deny file=/etc/ssh/denidusersWaar auth de authenticatiemodule is, is vereist de controlevlag, het pam_listfile.dus module geeft de deny-privileges aan de bestanden, onerr=succeed is het moduleargument, item=user is een ander moduleargument dat bestandslijsten specificeert en de inhoud waarop moet worden gecontroleerd, sense=deny is een ander moduleargument dat zal als item is gevonden in een bestand en file=/etc/ssh/denidusers dat een type bestand specificeert dat slechts één item per regel bevat.
- Maak vervolgens een ander bestand /etc/ssh/denidusers en voeg root toe als de naam erin. Dit kan gedaan worden door het commando te volgen: $sudo vim /etc/ssh/denidusers
- Sla vervolgens de wijzigingen op nadat u de rootnaam eraan hebt toegevoegd en sluit het bestand.
- Gebruik de chmod commond om de toegangsmodus van het bestand te wijzigen. De syntaxis voor het chmod-commando is
Hier worden de verwijzingen gebruikt om een lijst met letters te specificeren die aangeeft aan wie toestemming moet worden gegeven.
Hier kunt u bijvoorbeeld het commando schrijven:
$sudo chmod 600 /etc/ssh/denidusersDit werkt op de eenvoudige manier. U specificeert de gebruikers aan wie de toegang tot uw bestand wordt geweigerd in het bestand /etc/ssh/denidusers en stelt de toegangsmodus voor het bestand in met de opdracht chmod. Vanaf nu zal PAM tijdens het proberen toegang te krijgen tot het bestand vanwege deze regel alle gebruikers die in het bestand /etc/ssh/denidusers staan, toegang tot het bestand weigeren.
Conclusie
PAM biedt ondersteuning voor dynamische authenticatie voor toepassingen en services in een Linux-besturingssysteem. Deze handleiding vermeldt een aantal vlaggen die gebruikt kunnen worden om de uitkomst van het resultaat van een module te bepalen. Het is handig en betrouwbaar. voor gebruikers dan het traditionele wachtwoord- en gebruikersnaamverificatiemechanisme, en dus wordt PAM vaak gebruikt in veel beveiligde systemen.