我的服务器可以访问一个只读LDAP,其中有99%的用户帐户信息将驻留。 在我的服务器上,我想configurationSamba使用LDAP进行身份validation。 现在会有一些额外的用户在LDAP上没有帐户。 我应该如何pipe理他们的authentication数据并让Samba意识到这一点? 从Samba文档: 早期版本的Samba-3实现了与多个账户后端同时工作的新function。 这个function从Samba 3.0.23的发布开始被删除。 从Samba 3.0.23开始,只能使用一个指定的passwd后端。 所以看来Samba只能支持一个authentication后端。 有没有解决办法?
有没有人设置这样的configuration? 这不适合我 我已经在Ubuntu 12.04上安装了nginx-extras(它是用PAM模块构build的),并添加到站点configuration中: location ^~ /restricted_place/ { auth_pam "Please specify login and password from main_site"; auth_pam_service_name "nginx"; } 之后,在/etc/pam.d/nginx : auth required pam_script.so dir=/path/to/my/auth_scripts 并写了最简单/path/to/my/auth_scripts/pam_script_auth (也试图编写复杂的脚本) #!/bin/sh exit 0 # should allow anyone 不起作用。 脚本启动(我写了全function的脚本,成功执行,检查凭据,写入自己的日志,并返回正确的退出代码,并执行明显长)。 但是没有访问权限,只有被拒绝。 在/var/log/nginx/error.log出现这一行: 2012/09/13 10:44:42 [alert] 1666#0: waitpid() failed (10: No child processes) 如果我在/etc/pam.d/nginx指定: auth required pam_unix.so 并授予www-data用户读取/etc/shadow权限,unix授权正常工作。 但脚本身份validation不起作用。 我不明白,麻烦在哪里。 […]
我已经安装了SSH – 使用Kerberos V5进行单点login。 当用户密码过期时,会返回“ 警告:密码已过期”。 '并允许用户login! 我甚至在/etc/pam.d/password-auth进行了更改,使得pam_krb5.so位于pam_unix.so之上: 身份validation堆栈: auth requisite pam_krb5.so uid >= 500 #Google authentication configuration module auth [success=1 default=ignore] pam_access.so accessfile=/etc/security/access-local.conf auth requisite pam_google_authenticator.so auth [success=1 default=ignore] pam_unix.so nullok try_first_pass auth required pam_deny.so auth requisite pam_succeed_if.so uid >= 0 quiet 帐户堆栈: account required pam_unix.so broken_shadow account sufficient pam_localuser.so account sufficient pam_succeed_if.so uid […]
这是每个SysAdmin的事情要做的噩梦。 基本上我们想控制谁可以访问哪些主机。 这听起来很简单,但问题是要find一个可扩展和低维护(pipe理开销)的解决scheme。 我们使用bcfg2进行configurationpipe理,非常像Cfengine&puppet。 从某种angular度: networking组是非常可扩展的,但是带来了巨大的pipe理费用。 维护主机,主机组,用户networking组(独立于ldpa组)似乎是一个非常大的负担,但是可行的。 ldap.conf (7月1日由jmozdzen发布)和基于LDAp的访问控制。 我们可以为每个主机模板化ldap.conf,并创build一个包含主机名和成员作为用户的组。 但缺点是你不能指定ldap组(用户组)访问,但只能单独使用。 sshd_config限制。 但是,如果用户本地login,则不起作用。 主机属性检查。 通过在ldap.conf中取消注释pam_check_host_attr,并将主机名添加到每个用户都很好,但是自动化并不容易。 任何人都有不同的方法来解决这个问题,并且扩展和自动化?
我正在尝试configurationVsFTPd服务器以再次validationLDAP服务器。 这可能很简单,但是由于这是我第一次使用LDAP和PAM,所以我遇到了一些困难。 VsFTPd在Ubuntu Server 11.04上运行,LDAP在10.10 Ubuntu服务器上是OpenLDAP。 第一个我禁用了AppArmor。 VsFTPd无法连接到LDAP服务器,在我的系统日志中我有: vsftpd: pam_ldap: ldap_simple_bind Can't contact LDAP server LDAP服务器是可以的,因为我可以做一个ldapsearch 。 这是我的/etc/pam.d/vsftpd文件: auth required pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed @include common-account @include common-session @include common-auth auth required pam_ldap.so account required pam_ldap.so session required pam_ldap.so password required pam_ldap.so 这里是我的/etc/ldap.conf文件: base dc=example,dc=com uri ldapi:///ldap.example.com ldap_version 3 rootbinddn cn=admin,dc=example,dc=com pam_password md5 nss_initgroups_ignoreusers […]
我正在使用Postfix构build邮件服务器,并使用Postfixadmin设置validation以检查数据库设置。 我可以通过Courier IMAP进行身份validation,因为它可以正确validation哈希密码,但我怀疑我的SASL + PAM-MySQL SMTPvalidation机制不能。 我在/var/log/mail.log得到这些错误: pam_unix(smtp:auth): check pass; user unknown Aug 22 03:23:08 omitted saslauthd[26402]: pam_unix(smtp:auth): authentication failure; logname= uid=0 euid=0 tty= ruser= rhost= Aug 22 03:23:10 omitted saslauthd[26402]: DEBUG: auth_pam: pam_authenticate failed: Authentication failure Aug 22 03:23:10 omitted saslauthd[26402]: do_auth : auth failure: [[email protected]] [service=smtp] [realm=domain.com] [mech=pam] [reason=PAM auth error] 这里是/etc/pam.d/smtp的内容: auth […]
我正在进行的一个项目是将某些傀儡应用的ulimit设置从“听起来正确的”移到了基于环境的dynamic分配。 这是针对单一应用程序环境的,所以我最担心的是防止应用程序资源匮乏,同时保持内核和实用程序空间足够多的句柄,而不是做他们应该做的事情。 我们从应用程序团队持续请求moar文件句柄! 所以我试图find一个方法来处理这个问题。 所以我做了一个傀儡事实: Facter.add('app2_nofile') do confine :kernel => 'Linux' setcode do kernel_nofile = `/bin/cat /proc/sys/fs/file-max`.chomp app2_limit = (kernel_nofile.to_i * 0.85).round app2_limit end end 这就是锡上说的。 它取得/proc/sys/fs/file-max定义的内核值,取其中的85%,剩下15%用于系统使用。 在另一个puppet资源中使用这个::app2_nofile事实来设置一个软和硬的nofile ulimit,以便更新/etc/security/limits.conf,并且tada! 简单! 如果他们想要更多的文件句柄,他们必须更聪明地编写应用程序。 除此之外,它没有工作。 当试图用nofile ulimit用户打开一个用户会话( su app2_user – )时,我们得到错误信息: 无法打开会话 哪个不好。 显然,有一个独立于简单限制的上限。 或者,也许我正在理解他们如何从根本上工作。 nofile限制如何相互影响,会导致会话无法创build? 进一步的testing表明,上限可能是一个静态的边界,或者比简单的百分比更复杂。 一个最大文件大小为797,567的小RAM系统可以将这个ulimit设置得非常高,我就不会再生产了。 在一个更大的系统上,我可以将这个ulimit设置为大约63%,然后才能“打开会话”。 现在我没有更大的内存来testing这个比例是否随着更大的内存而变化。 我得到一个audit.log条目: type=USER_START msg=audit(1416420909.479:511331): user pid=5022 uid=0 auid=1194876420 ses=44826 […]
前一阵子,我们开始在我们的Linux服务器上针对Active Directoryvalidation用户身份。 就实际的authentication部分而言,事情是很好的。 然而,其中一个副作用是Linux认为(正确地说)它有几千(〜15-20k)个用户。 我们已经看到好几个与SELinux相关的问题(其中之一是https://serverfault.com/questions/236419/usr-bin-install-hangs-apparently-due-to-selinux )。 其他一些问题包括: dmesg反复报道restorcon被杀人凶手杀死 在某些服务器上启动需要很长时间 – 这发生在内核加载之后,显然是在读取卷组的同时,还会在运行restorecon启动脚本时发生。 yum更新挂起(类似于我的SELinux / GNU“安装”问题关于mmap / munmap) 我们在宽容模式下看到了SELinux的这些问题。 当我们完全禁用SELinux时,它们就会消失。 禁用SELinux是一个选项。 我也在研究如何限制AD使用OU或组来呈现给Linux的用户数量。 但是我的书呆子总是想知道更多。 所以这是一个相当广泛的问题 – 但是任何人都有与大量用户交streamSELinux的build议? 我对SELinux不是特别熟悉 – 但这可能是学习的机会。
我已经configurationpam_mount.so在用户login时自动挂载一个cifs共享; 问题是如果用户同时login多次,mount命令会重复多次。 到目前为止,这不是一个问题,但是当您查看一个mount命令的输出时,这是一团糟。 # mount /dev/sda1 on / type ext4 (rw,errors=remount-ro) proc on /proc type proc (rw,noexec,nosuid,nodev) none on /sys type sysfs (rw,noexec,nosuid,nodev) none on /sys/fs/fuse/connections type fusectl (rw) none on /sys/kernel/debug type debugfs (rw) none on /sys/kernel/security type securityfs (rw) none on /dev type devtmpfs (rw,mode=0755) none on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620) none on […]
我正在尝试为一组具有以下特征的机器设置Chefpipe理的帐户: 如果没有本地帐户,则login被阻止。 如果有一个本地帐户与SSH密钥,使用那些进行身份validation是可能的。 如果存在具有本地密码的本地帐户,则使用该密码进行validation。 如果有本地帐户没有本地密码,则使用Kerberos。 我有这么多的工作。 但我想要做的最后一件事是通过本地locking密码(例如使用usermod -L )来禁用帐户login。 问题是,当本地密码被locking,PAM正在回落到Kerberos …并允许访问。 有没有办法configurationPAM,以便如果本地密码存在,但它被locking,它不会尝试Kerberos? 到目前为止,我能想到的最好的办法是通过用不可猜测的东西来打破本地密码来locking帐户。 但是,这有点粗糙,如果有人不“遵循程序”,打得不好