<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="gl">
	<id>http://web.iesrodeira.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Autenticaci%C3%B3n_con_PAM_%28Pluggable_Authenticate_Modules%29</id>
	<title>Autenticación con PAM (Pluggable Authenticate Modules) - Historial de revisións</title>
	<link rel="self" type="application/atom+xml" href="http://web.iesrodeira.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Autenticaci%C3%B3n_con_PAM_%28Pluggable_Authenticate_Modules%29"/>
	<link rel="alternate" type="text/html" href="http://web.iesrodeira.com/mediawiki/index.php?title=Autenticaci%C3%B3n_con_PAM_(Pluggable_Authenticate_Modules)&amp;action=history"/>
	<updated>2026-09-13T13:20:13Z</updated>
	<subtitle>Historial de revisións desta páxina no wiki</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>http://web.iesrodeira.com/mediawiki/index.php?title=Autenticaci%C3%B3n_con_PAM_(Pluggable_Authenticate_Modules)&amp;diff=1823&amp;oldid=prev</id>
		<title>Xavi: Nova páxina: &quot;== INTRODUCCIÓN ==  PAM (Pluggable Authentication Modules) é un sistema de autenticación mediante módulos que permite controlar a forma en que as aplicacións realizan a auten...&quot;</title>
		<link rel="alternate" type="text/html" href="http://web.iesrodeira.com/mediawiki/index.php?title=Autenticaci%C3%B3n_con_PAM_(Pluggable_Authenticate_Modules)&amp;diff=1823&amp;oldid=prev"/>
		<updated>2014-06-26T09:10:58Z</updated>

		<summary type="html">&lt;p&gt;Nova páxina: &amp;quot;== INTRODUCCIÓN ==  PAM (Pluggable Authentication Modules) é un sistema de autenticación mediante módulos que permite controlar a forma en que as aplicacións realizan a auten...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Páxina nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== INTRODUCCIÓN ==&lt;br /&gt;
&lt;br /&gt;
PAM (Pluggable Authentication Modules) é un sistema de autenticación mediante módulos que permite controlar a forma en que as aplicacións realizan a autenticación que precisan dun xeito dinámico. Mediante estos módulos PAM é posible controlar e facer que as aplicacións realicen a autenticación coma nós precisemos sen necesidade de modificala; pra poder facer esto a aplicación en cuestión debe estar preparada pra utilizar estes módulos PAM. Hoxe en día moitas distribucións Linux, como RedHat veñen coas principais aplicacións que precisan autenticación preparadas pra usar PAM (login, ssh, ftp, mail ...etc). O control de acceso realízase mediante un ficheiro de texto que reside en /etc/pam.d (RedHat) e cun nome que normalmente coincide coa aplicación á que xestiona (ainda que por exemplo no caso do wu-ftpd o ficheiro de configuración pam chámase ftp).&lt;br /&gt;
&lt;br /&gt;
== TIPOS DE AUTENTICACIÓN ==&lt;br /&gt;
&lt;br /&gt;
Os módulos PAM realizan 4 tipos de autenticación:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;auth&amp;#039;&amp;#039;&amp;#039; : Sirve pra autenticar ó usuario, por exemplo solicitando unha password. Tamén poden otorgar certas credenciais como ser membro dun grupo ou un ticket Kerberos.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;account&amp;#039;&amp;#039;&amp;#039;&amp;lt;nowiki&amp;gt;: Pra asegurarse que o acceso está permitido. Por exemplo un módulo account podería comprobar si a conta do usuario expirou ou si ten permitido o acceso a determiñadas horas ou días. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;password&amp;#039;&amp;#039;&amp;#039;&amp;lt;nowiki&amp;gt;: Pra poñer ou cambiar passwords. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;session&amp;#039;&amp;#039;&amp;#039;&amp;lt;nowiki&amp;gt;: Controla a sesión do usuario unha vez autenticado. Este tipo de módulo pode ademáis realizar tarefas adicionais pra permitir o acceso, como montar os /home dos usuarios. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un módulo PAM pode ser útil pra unha ou varias destas funcións, por exemplo o módulo pam_unix.so sirve para as catro.&lt;br /&gt;
&lt;br /&gt;
== FICHEIROS DE CONTROL DE ACCESO ==&lt;br /&gt;
&lt;br /&gt;
Pra crear os ficheiros de control de acceso utilízanse varias liñas apiladas, sendo moi importante a súa orde. Por exemplo, un ficheiro de control de acceso mediante PAM pra o servicio rlogin podería ser :&lt;br /&gt;
&lt;br /&gt;
   auth    required    /lib/security/pam_nologin.so&amp;lt;br /&amp;gt;  auth    required    /lib/security/pam_securetty.so&amp;lt;br /&amp;gt;  auth    required    /lib/security/pam_env.so&amp;lt;br /&amp;gt;  auth    sufficient   /lib/security/pam_rhosts_auth.so&amp;lt;br /&amp;gt;  auth    required    /lib/security/pam_stack.so service=system_auth&lt;br /&gt;
&lt;br /&gt;
O significado das liñas é o seguinte:&lt;br /&gt;
&lt;br /&gt;
# Verifica que non existe o ficheiro /etc/nologin, si existe falla&lt;br /&gt;
# Verifica que non está intentando unha conexión como root a través da rede, si é así falla&lt;br /&gt;
# Carga as variables de entorno&lt;br /&gt;
# Autentica mediante rhosts&lt;br /&gt;
# Si falla a autenticación con rhosts fai unha autenticación estándar&lt;br /&gt;
&lt;br /&gt;
E posible programar dun xeito bastante sinxelo novos módulos pra ser utilizados nestes ficheiros de control de acceso.&lt;br /&gt;
&lt;br /&gt;
== MODIFICADORES DE CONTROL DE ACCESO ==&lt;br /&gt;
&lt;br /&gt;
Os módulos cando se executan xeneran como saída &amp;quot;CORRECTO&amp;quot; ou &amp;quot;INCORRECTO&amp;quot;. Os indicadores de control lle dicen que facer co resultado, dándolle a posibilidade de fixar a importancia dun módulo respecto ós seguintes. Os modificadores poden ser:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;required&amp;#039;&amp;#039;&amp;#039; : Ten que devolver &amp;quot;CORRECTO&amp;quot; pra que se permita a autenticación. Se devolve &amp;quot;INCORRECTO&amp;quot; non se lle notifica o fallo ó usuario ata ue se proben tódo-los módulos do mesmo tipo (auth, account, password, session).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;requisite&amp;#039;&amp;#039;&amp;#039; : Ten que devolver &amp;quot;CORRECTO&amp;quot; pra que se permita a autenticación. Se falla notifícase o fallo ó usuario de inmediato.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;sufficient&amp;#039;&amp;#039;&amp;#039; : Se devolve &amp;quot;INCORRECTO&amp;quot; se ignora. Se devolve &amp;quot;CORRECTO&amp;quot; e non fallou ningunha liña required de enrriba, o usuario é autenticado con éxito.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;optional&amp;#039;&amp;#039;&amp;#039; : Se devolve &amp;quot;INCORRECTO&amp;quot; se ignora. Se devolve &amp;quot;CORRECTO&amp;quot; so se usa si non se utilizou outro modelo deste tipo (auth, account, password, session).&lt;br /&gt;
&lt;br /&gt;
== ARGUMENTOS DOS MÓDULOS ==&lt;br /&gt;
&lt;br /&gt;
Algúns módulos PAM aceptan argumentos na forma :&lt;br /&gt;
&lt;br /&gt;
     variable=valor&lt;br /&gt;
&lt;br /&gt;
Estes argumentos son específicos de cada módulo PAM. Os argumentos que non son válidos se ignoran, almacenándose logs sobre os erros en /var/log/messages.&lt;br /&gt;
&lt;br /&gt;
== EXEMPLOS ==&lt;br /&gt;
&lt;br /&gt;
A continuación veremos varios exemplos de archivos de configuración pra autenticación PAM:&lt;br /&gt;
&lt;br /&gt;
==== &amp;#039;&amp;#039;login&amp;#039;&amp;#039; ====&lt;br /&gt;
&lt;br /&gt;
   #%PAM-1.0&lt;br /&gt;
   auth       required	/lib/security/pam_securetty.so&amp;lt;br /&amp;gt;  auth       required	/lib/security/pam_stack.so service=system-auth&amp;lt;br /&amp;gt;  auth       required	/lib/security/pam_nologin.so&amp;lt;br /&amp;gt;  account    required	/lib/security/pam_stack.so service=system-auth&amp;lt;br /&amp;gt;  password   required	/lib/security/pam_stack.so service=system-auth&amp;lt;br /&amp;gt;  session    required	/lib/security/pam_stack.so service=system-auth&amp;lt;br /&amp;gt;  session    optional	/lib/security/pam_console.so&lt;br /&gt;
&lt;br /&gt;
==== &amp;#039;&amp;#039;sshd&amp;#039;&amp;#039; ====&lt;br /&gt;
&lt;br /&gt;
   #%PAM-1.0&lt;br /&gt;
   auth       required     /lib/security/pam_stack.so service=system-auth&amp;lt;br /&amp;gt;  auth       required     /lib/security/pam_nologin.so&amp;lt;br /&amp;gt;  account    required     /lib/security/pam_stack.so service=system-auth&amp;lt;br /&amp;gt;  password   required     /lib/security/pam_stack.so service=system-auth&amp;lt;br /&amp;gt;  session    required     /lib/security/pam_stack.so service=system-auth&amp;lt;br /&amp;gt;  session    required     /lib/security/pam_limits.so&amp;lt;br /&amp;gt;  session    optional     /lib/security/pam_console.so&lt;br /&gt;
&lt;br /&gt;
==== &amp;#039;&amp;#039;samba&amp;#039;&amp;#039; ====&lt;br /&gt;
&lt;br /&gt;
   #%PAM-1.0&lt;br /&gt;
   auth       required	pam_nologin.so&amp;lt;br /&amp;gt;  auth       required	pam_stack.so service=system-auth&amp;lt;br /&amp;gt;  account    required	pam_stack.so service=system-auth&amp;lt;br /&amp;gt;  session    required	pam_stack.so service=system-auth&amp;lt;br /&amp;gt;  password   required	pam_stack.so service=system-auth&lt;br /&gt;
&lt;br /&gt;
==== &amp;#039;&amp;#039;ftp&amp;#039;&amp;#039; ====&lt;br /&gt;
&lt;br /&gt;
   #%PAM-1.0&lt;br /&gt;
   auth       required	/lib/security/pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed&amp;lt;br /&amp;gt;  auth       required	/lib/security/pam_stack.so service=system-auth&amp;lt;br /&amp;gt;  auth       required	/lib/security/pam_shells.so&amp;lt;br /&amp;gt;  account    required	/lib/security/pam_stack.so service=system-auth&amp;lt;br /&amp;gt;  session    required	/lib/security/pam_stack.so service=system-auth&lt;/div&gt;</summary>
		<author><name>Xavi</name></author>
	</entry>
</feed>