Articles of pam

OpenLDAP – 如何限制Debianlogin到特定组(posixGroup)?

我试图限制login到Debian 8中的特定LDAP组。系统configuration为使用OpenLDAP(PAM)作为身份validation方法。 我的目标是将系统configuration为允许所有本地用户(包括root)加上属于LDAP组列表的LDAP用户。 在服务器中,组是具有objectClass作为posixGroup的条目,因此memberUid属性包含该组中的用户。

LDAP错误的用户更改密码?

我有一个OpenLDAP服务器设置。 我目前有两个用户添加到我的服务器。 就我的testing而言,单个用户实例工作得很完美。 我的第一个问题出现在LDAP存储库上有两个用户。 直接添加我的第二个用户后,我试图login到我的Linux机器,它总是要求我改变密码,当它的第一次login(这是完美的)。 虽然,当我用我的第一个临时密码login时,可以在下面的输出中看到User2正在尝试login ,但是当它要求更改密码时, 它正在尝试将其更改为User1 。 login as: user2 Authenticating with public key "user2-rsa-key" Further authentication required user1@xxxx's password: You are required to change your password immediately (root enforced) You are required to change your LDAP password immediately. Last login: 'Date' From 'Hostname' WARNING: Your password has expired. You must change your […]

编写一个pam_python模块:“KeyError:getspnam():name not found”

我正在使用pam_python模块来loggingSSH尝试中使用的用户名和密码。 在/etc/pam.d/sshd我加了这行: auth requisite pam_python.so /lib64/security/pwreveal.py 这是/lib64/security/pwreveal.py : import crypt, spwd, syslog def auth_log(msg): """Send errors to default auth log""" syslog.openlog(facility=syslog.LOG_AUTH) syslog.syslog("SSH Attack Logged: " + msg) syslog.closelog() def check_pw(user, password): auth_log("User: " + user + " Password: " + password) """Check the password matches local unix password on file""" # try: hashed_pw = spwd.getspnam(user)[1] […]

在安装rpm时修改PAM文件以添加configuration更改?

这个问题是为了一般的应用,但我可以用一些具体的例子来说明我的问题的性质。 当某些Linuxauthentication软件包如krb5,sssd或pam_pkcs11被安装时,会进入PAMconfiguration目录下的文件(如/etc/pam.d/system-auth和/etc/pam.d/password-auth ),添加或修改一行以指向已安装的新.so文件,如pam_krb5.so , pam_sssd.so或pam_pkcs11.so以供使用。 这似乎是自动发生的某些软件包,无需用户干预,只需安装rpm软件包(使用yum或直接使用rpm工具),就像我观察到的那样,安装sssd软件包(至less在RHEL 7上)将会将对pam_sssd.so的引用添加到* -auth PAM文件中。 我想这是唯一可能的方法是通过rpms可以拥有的内部脚本,所以我查了一下如何在rpm的SPEC中列出内部脚本,安装了一个RHEL 7映像以便与源代码包对等,在Packages目录下运行: sudo rpm –scripts -qpl sssd- * | grep -i pam 然而,我没有返回任何行,表明任何东西都触及/etc/pam.d目录中的文件,即使如果我删除grep,我会看到if / then脚本逻辑做其他事情的结果,所以–scripts参数正在工作。 我也很好奇,在一个非常特殊的例子中,把这一行添加到我的/etc/pam.d/system-auth文件中: auth [成功=完成authinfo_unavail =忽略忽略=忽略默认=死亡] pam_pkcs11.so nodebug 如果它不是RPM的内部脚本,我想知道它是否可能是最初运行的新安装文件中的某个二进制文件,这是什么负责添加这些更改,但没有看到任何证据那。 此外,我实际上已经在RPM脚本中使用了authconfig行,因为我知道authconfig可以做到这一点,但没有find任何东西。 然而,它似乎必须运行authconfig或在背景等效的东西来做到这一点。 有没有人对这些改变有什么看法?

通过PAM Passwd只适用于LDAP

现在我已经通过SSL使用PAM + LDAP进行了工作设置,但是我只能在ldap树中passwd用户,关于如何能够passwd每个用户的任何想法? 这里是一些conf文件:/etc/pam.d/common-password:password可选pam_unix.so nullok obscure try_first_pass密码足够pam_ldap.so ignore_unknown_user密码pam_deny.so /etc/nsswitch.conf:passwd:compat ldap组:compat ldap shadow:compat ldap 主机:文件DNSnetworking:文件 协议:db文件服务:db文件ethers:db文件rpc:db文件 netgroup:nis 任何想法 ? 注意:我在每个系统上运行Debian Lenny。

PAM,nsswitch和LDAPconfiguration

我有一个关于LDAP,pamconfiguration文件和nsswitch.conf的两种configuration的技术和精确的问题。 至于passwd_compatconfiguration和pam_list的区别是什么? 我很困惑…提前感谢。 菲利波

用PAM,Kerberos和LDAPlogin后立即注销

我使用Kerberos和LDAP在计算机上设置了远程login。 我还configuration了NFS挂载到/home以便用户的主目录在他们login的任何地方都是一样的。 Kerberos身份validation似乎正常工作。 我可以使用kinit user1 (假设user1是一个远程用户)获​​取一张票,并使用klist查看票证。 我很确定LDAP正在工作,因为我看到getent passwd的正确输出,它列出了所有的远程用户。 列出文件时, /home的内容会出现。 问题是:当我尝试以远程用户身份login时,会话立即结束。 为什么不让我保持login? 以下是login尝试后的/var/log/messages的输出: # /var/log/messages: Oct 9 10:57:53 tophat login[6472]: pam_krb5[6472]: authentication succeeds for 'user1' ([email protected]) Oct 9 10:57:53 tophat login[6472]: pam_krb5[6472]: pam_setcred (establish credential) called Oct 9 10:57:53 tophat login[6472]: pam_krb5[6472]: pam_setcred (delete credential) called 编辑: 发行版是openSUSE。 以下是/etc/pam.d中的common-*文件: # /etc/pam.d/common-account account required pam_unix.so # […]

pam_tally2或pam_faillock帐户与sshlocking

我正在运行RHEL 6.2。 大多数用户将使用SSHlogin使用密码。 有些人可能有钥匙。 所有账户都是本地的。 N次密码login失败后,我需要将用户locking。 man pam_tally2和pam_faillock的示例不会locking使用ssh的用户。 pam_tally2示例可以locking一个telnet(我启用testing)login&随后将locking一个SSH用户。 SSH不能触发它。 /etc/ssh/sshd_config有: PasswordAuthentication yes # setting to no doesn't allow login with a password! UsePAM yes UseLogin no # setting to yes doesn't allow putty logins 手册页的例子应该在一个不变的系统上工作。

编辑apache的crontab

我正在将crontabs从旧服务器(centos 5.5)转换为新的(centos 6.0),并且(最重要的)用户apache出现问题。 在新的服务器上,我得到以下内容: root@newserver $ crontab -u apache -e Authentication service cannot retrieve authentication info You (apache) are not allowed to access to (crontab) because of pam configuration. 我怎样才能克服呢?

configurationvsftpd以使用Active Directory进行身份validation

我们正试图给vsftpd访问一些Active Directory用户。 这里是一些configuration文件的内容: # egrep -v '^(#.*|)$' vsftpd.conf anonymous_enable=YES local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES listen=YES pam_service_name=vsftpd userlist_enable=NO tcp_wrappers=YES dual_log_enable=YES log_ftp_protocol=YES local_root=/srv/ftp/users chroot_local_user=YES # egrep -v '^(#.*|)$' /etc/pam.d/vsftpd auth required pam_ldap.so use_first_pass account required pam_ldap.so session required pam_limits.so # egrep -v '^(#.*|)$' /etc/pam_ldap.conf host ad.example.lan base dc=example,dc=lan binddn cn=ftp_auth,dc=example,dc=lan bindpw password nss_map_objectclass posixAccount user […]