Articles of 帕姆

在input密码之前调用pam_tally2

根据以下的build议: 在RHEL6中使用pam_tally2帐户locking 我已经到了一个正常工作的configuration,其中3个login失败后帐户被locking。 Catch是,即使在我input密码之前,当我input用户名时,pam_tally计数器正在递增。 行为是这样的: 打开SSH客户端,input用户名,计数器递增1,input密码,密码错误后重新计数递增,或者重新设置为0。 这导致了OP在原始线程中发布的行为,但是不同之处在于,我的RHEL6中所做的更改与以前的版本不兼容。 一些来自password-auth的片段: auth required pam_env.so auth required pam_tally2.so deny=3 unlock_time=3600 audit auth sufficient pam_unix.so auth requisite pam_succeed_if.so uid >= 500 quiet auth required pam_deny.so account required pam_unix.so account sufficient pam_localuser.so account required pam_tally2.so /pam.d/sshd auth required pam_sepermit.so auth include password-auth account required pam_nologin.so account required pam_tally2.so account include password-auth […]

pam_exec不工作? 不能分配2个字节?

我试图在login过程中使用PAM和libpam_exec运行脚本; 我已将此行添加到/etc/pam.d/下的所需文件中: auth required pam_exec.so debug log=/var/log/debug /usr/local/bin/test.sh 只是为了testing它是否工作,脚本看起来像这样: #!/bin/bash ## do nothing, except return success (allow login..) exit 0; 但是,客户端被“严重错误”拒绝,并且debugging日志报告了这个奇怪的错误: bash: xmalloc: ../bash/locale.c:73: cannot allocate 2 bytes (0 bytes allocated) 我到处寻找,并没有能够在这个特定的问题上出现任何有用的东西。debugging日志是非常模糊的,我不知道从哪里去哪里? 我想(作为最后的手段)挖掘源代码bash看看是什么在线locale.c .. 73或只是使用另一个模块…但我有多个计划pam_exec,我不特别就像执行(例如)pam_script一样。 有人有什么build议吗? 注意:运行Ubuntu 12.04 lts

如何覆盖来自LDAP目录的用户的UID?

我正在尝试在LDAP目录中为用户设置Linuxlogin。 该目录包含UID低于1000的用户,我相信这会导致login到这些帐户时出现问题,因为在Linux上为UID保留1000以供系统使用。 LDAPpipe理员不希望更改所有这些人的UID,因为他说会打破许多Windows文件。 有没有办法来覆盖(或重新映射)来自LDAP的特定用户的UID? 在/etc/ldap.conf使用类似nss_override_attribute_value或其他方式的条目?

Ubuntu 14.04“azureuser”存在 – 我没有创build它

我刚刚login到Ubuntu 14.04实例,并在主文件夹中有一个用户“azureuser”(是的,这是一个Azure虚拟机),其中有四个项目: .ssh(文件夹).bash_logout(文件).bashrc(文件).profile(文件) 这个用户在我的任何其他Ubuntu虚拟机上都不存在,包括我从中创build这个映像的服务器。 这里是.profile的内容: if [ -n "$BASH_VERSION" ]; then # include .bashrc if it exists if [ -f "$HOME/.bashrc" ]; then . "$HOME/.bashrc" fi fi # set PATH so it includes user's private bin if it exists if [ -d "$HOME/bin" ] ; then PATH="$HOME/bin:$PATH" fi 虽然我没有使用“快速创build”选项,但是我使用新的预览门户创build了这个虚拟机,这可能会导致创build该用户名。 有没有人知道这是从哪里来的,或者是否需要在那里?

PAM谷歌身份validation与SFTP和其他应用程序

我试图设置一个SSH授权密钥+ Google身份validation码足以将ssh放入服务器的情况。 这对于正常的SSHterminal操作来说工作正常 – 我被提示input一个validation码,我可以input,并被授予访问权限。 但是,当试图从专用客户端(Cyber​​duck等)或任何其他可以通过SFTP(Coda)访问的应用程序使用SFTP时,我无法login。 我看到这些应用程序提示input密码,但似乎并不想将证书传递给另一个validation模块。 有什么办法来configuration谷歌authentication模块接受已通过其他模块传递的凭据? 我猜测use_last_pass,但似乎并没有工作。 我知道其他应用程序开始有更好的双因子支持(FileZilla),但是我需要支持更广泛的用户群。 感谢您的任何build议!

在多域环境中以编程方式检测SSSDauthentication域

我们有一些混合的RH5 / RH6服务器,需要对两个LDAP服务之一进行身份validation。 这是在SSSD中实施,运行良好。 来自任一域的用户都可以成功login,并且在用户名重叠的情况下,正确的域优先。 起皱是我们有一个脚本运行通过pam_exec只需要运行的两个域之一。 在PAM的更高版本(如RH6提供的版本)中,我可以像下面这样利用[domains=X]语法: account [default=bad success=done user_unknown=ignore] pam_sss.so domains=domain_without_login_script account [default=bad success=ok user_unknown=ignore] pam_sss.so domains=domain_with_login_script (我不知道这是行不通的,因为我没有testing它,因为在RH5系统上我没有这个function。对于第一个域,堆栈中的所有后续模块都被忽略;不知道如何如果需要,可以绕过这个) 无论如何,在RH5中,没有这样的标志给pam_sss,而且在PAM或login环境中没有任何东西可以看到包含这些信息。 例如,如果我可以有这样的事情,这将是很好的: #!/usr/bin/perl -w # do not process users from X domain exit(0) if $ENV{'SSSD_Domain'} eq "domain_without_login_script"; 到目前为止,我提出的唯一解决scheme是kludgy。 即使有用户名重叠,每个域的UID也会不同,因此,由于正在select正确的帐户,我可以检查UID: #!/usr/bin/perl -w # get authenticating user from environment use Env qw(PAM_USER); # do not process users […]

pam_sss(sudo:auth):authentication失败

我有一些CentOS 7机器通过以下步骤join了一个Windows域: #yum -y install realmd sssd oddjob oddjob-mkhomedir adcli samba-common #nmcli c modify eth0 ipv4.dns 192.168.3.18 #nmcli c down eth0; nmcli c up eth0 #realm discover DOMAIN.CORP #realm join DOMAIN.CORP -U domainadmin #vim /etc/sssd/sssd.conf [sssd] domains = domain.corp config_file_version = 2 services = nss, pam [domain/domain.corp] ad_domain = domain.corp krb5_realm = DOMAIN.CORP realmd_tags = […]

基于Kerberos的SSHlogin需要本地用户帐户

我最近build立了一个linux系统(Debian-Jesse),它已经join了一个基于MS的Kerberos域,并且已经被设置为允许基于Kerberos的远程访问validation。 唯一的问题是,身份validation将不会成功,除非有一个匹配的本地用户。 例如,如果我尝试以wboynton @ EXAMPLE.COM @ xx.xxx.xxx.xx的身份login,它将接受我的密码,然后我将看到auth.log确认我的kerberos身份validation,然后由于找不到而拒绝我我在/etc/shadow 。 然后,如果我在远程计算机上运行sudo adduser wboynton并以远程方式尝试远程login,则会成功。 我环顾四周,在互联网上find一个build议,写一个pam_script脚本,在testing每个kerberizedlogin尝试的auth之前创build一个用户,如果它尚不存在的话。 但是,这对我来说似乎很笨拙。 到目前为止,我还没有能够find将Kerberos指定为权限并完全绕过/etc/passwd和/etc/shadow的可靠方法。 这样的系统是否存在? 谢谢!

如何configurationpam sshd以允许不同用户/组的不同规则?

我正在为我工​​作的公司中的出站服务器configurationGoogle双因素身份validation。 这里是相关的configuration: /etc/ssh/sshd_config : ubuntu@stage-itai-1:~$ egrep -v '^#' /etc/ssh/sshd_config | sed '/^\s*$/d' Port 22 Protocol 2 HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_key HostKey /etc/ssh/ssh_host_ecdsa_key HostKey /etc/ssh/ssh_host_ed25519_key UsePrivilegeSeparation yes KeyRegenerationInterval 3600 ServerKeyBits 1024 SyslogFacility AUTH LogLevel INFO LoginGraceTime 120 PermitRootLogin without-password StrictModes yes RSAAuthentication yes PubkeyAuthentication yes IgnoreRhosts yes RhostsRSAAuthentication no HostbasedAuthentication no PermitEmptyPasswords no ChallengeResponseAuthentication yes PasswordAuthentication […]

PAM LDAP连接并绑定stream

我pipe理一个非常奇怪的案件,我需要一个专家在PAM Ldap的帮助。 我的结构是: Linux(LDAP客户端) – > ODSSE(LDAP服务器) – > ACTIVE DIRECTORY ODSEE被configuration为在用户请求具有dc = users,dc = com后缀的绑定时,对AD执行传递身份validation(PTA)。 ODSEE baseDN是dc = central,dc = com(这是一个posix数据库 – Rfc2307)AD baseDN是dc = users,dc = com 我想在AD上执行身份validation并从ODSEE中检索configuration文件用户。 在我的ldap.conf中设置了user / passw,PTA成功了,但在我的Unix日志中,我收到了用户unknown。 我相信在ldap.conf中第一次连接硬编码的用户/ passw进行得很顺利,但是从ODSEE /密码检索到的第二个与我的用户绑定失败。 有没有一种方法可以看到/跟踪这个绑定的全部内容? 这里有人面对一些相同的情况吗? 欢迎任何帮助。 谢谢Daniel