我们使用带有 mod_svn 的 Apache 来为 subversion 存储库提供服务。Apache 连接到 LDAP 服务器,因此所有用户都可以使用他们的域密码。为了让构建机器能够结账,我想要一个额外的用户,但我无法通过 LDAP 添加。
我可以创建一个用户/密码必须匹配 LDAP 服务器或 htpasswd 文件的设置吗?
我正在配置一个系统,其中所有 IT 资源都可以通过单个用户密码对获得,无论是访问服务器上的 shell、登录到 Samba 域、WiFi、OpenVPN、Mantis 等(访问受管理的特定服务)按组成员身份或用户对象字段)。因为我们的网络中有个人数据,所以我们需要根据欧盟数据保护指令(或者更确切地说是波兰语版本)实施密码老化。
问题是 LDAP 中的 Samba 和 POSIX 帐户使用不同的密码散列和老化信息。虽然同步密码本身很容易(ldap password sync = Yesin smb.conf),但将密码老化添加到混合中会破坏事情:Samba 不更新 shadowLastChange。与obey pam restrictions = Yes创建一个系统,其中 Windows 用户不能更改旧密码,但如果我不使用它,则不会自动创建主目录。另一种方法是使用 LDAP 扩展操作来更改密码,但smbk5pwd模块也不对其进行设置。更糟糕的是,OpenLDAP 维护者不会更新它/接受补丁,因为该字段被认为已弃用。
所以,我的问题是,最好的解决方案是什么?它们的优缺点是什么?
使用 LDAPppolicy和内部 LDAP 密码老化?
ppolicy启用的 LDAP 一起使用?编写一个更新 LDAP 字段的更改密码脚本。(留下用户自己在不更改密码的情况下更新字段的可能性)
经过多次反复试验配置,我目前能够编写 msdeploy.exe 脚本,将 Visual Studio 2010 中内置的包部署到运行 IIS 7.5 的远程服务器,命令行如下:
基本认证命令:
msdeploy -source:package="project.zip" -dest:auto,computerName='https://webserver:8172/MsDeploy.axd',authtype='Basic',username='DOMAIN\myuser',password='xxx',includeAcls='False' -verb:sync -setParamFile:"SetParameters.xml" -allowUntrusted
我可以通过启用传递身份验证来消除在命令行中提供密码的需要吗?在Web部署文档提到的authType参数可以指定,而不是基本“NTLM”。但是,每当我尝试此操作时(请参见下面的示例),我都会收到一个指示 401 的错误。WMSvc 网络日志显示 401.2 并且该日志条目中没有填充用户 ID,与以前使用基本身份验证的尝试不同,实际上显示的是 DOMAIN\myuser在网络日志中。在客户端或服务器的事件查看器中找不到其他有用的信息。
注意:目标网络服务器在另一个域上,所以我做了一个net use \\webserver /u:DOMAIN\myuser来建立一个令牌。
直通身份验证命令尝试:
msdeploy -source:package="project.zip" -dest:auto,computerName='https://webserver:8172/MsDeploy.axd',authtype='NTLM',includeAcls='False' -verb:sync -setParamFile:"SetParameters.xml" -allowUntrusted
msdeploy.exe 似乎没有在 HTTP 级别正确地与 IIS 进行身份验证。可能有什么问题?
客户端为Windows XP,服务器为Win2008R2。两者都运行 msdeploy.exe 版本 7.1.618.0。两者都安装了 .NET 2.0、3.5 和 4.0。
在工作中,我们安装了 OSX 10.7.3,每隔一段时间我就会看到以下行为:
如果屏幕被锁定,则不接受同一用户/通行证的多次尝试。
如果屏幕已解锁,则打开新的 bash 术语可能会产生如下提示:
`I have no name$`
Run Code Online (Sandbox Code Playgroud)
或者
lkyrala$ ssh lkyrala@ah-lkyrala2u
You don't exist, go away!
Run Code Online (Sandbox Code Playgroud)即使我们的 Mac 正常工作,这里的每个人也必须登录两次。启动后第一次总是失败,但第二次(使用相同的密码,不更改任何内容,再次按回车键)成功。奇怪的?
有一些变通方法可以解决眼前的问题,但不会阻止它再次发生:
等待(可能一两个小时),问题有时会自行消失。
杀死'opendirectoryd'并让它重新启动。(来自Apple 支持社区:用户 ID(不是数据)突然删除?)
按住电源按钮重置计算机
我们的网络管理员怀疑与 lockd 有牵连。lockd 显然使用 UDP,当网络拥塞时,数据包会丢失,从而导致挂起行为。他们正在研究减少拥堵的措施。如果有问题的文件访问恰好是 Active Directory 身份验证句柄,那么所有这些不同的部分开始组合在一起。
现在,上面的证据指出了 opendirectory 和登录凭据的问题。其他一些人报告有这些登录问题,但很难确定实际问题出在哪里(Mac 或网络环境?)。
我应该补充一点,大多数网络都是 Windows 机器,但我们也有不少 Mac 和 Linux 机器,但我不确定网络身份验证如何从各个域映射到其他域的详细信息......所有我知道我们的网络凭据在 Windows 域以及 mac 和 linux 登录中都有效——所以有些东西正在连接不同的系统,或者使用相同的全局身份验证系统。
不幸的是,我没有设置这台 Mac,我们的 IT 部门做了,所以我不完全确定身份验证是如何工作的。我确实知道这是网络登录(这在我使用 Mac 的经验中是不寻常的,它们通常具有连接到外部资源的本地帐户)但在这里,我们的主文件夹在网络上,而不是本地。在我的 linux 安装下,连接到网络涉及 yp/NIS,(它允许我们从任何机器自动挂载我们的网络文件系统的一部分),并且 opendirectoryd.log 似乎证实了这涉及...
/var/log/opendirectoryd.log* 显示:
2012-04-04 01:29:12.370 EDT …Run Code Online (Sandbox Code Playgroud) 所以,我遇到了一个相当奇怪的问题。我有一个服务器,当我尝试通过 SSH 连接时,如果我在第一次尝试时输入正确的密码,它会立即关闭连接。但是,如果我在第一次尝试时故意输入错误的密码,然后在第二次或第三次提示时输入正确的密码,它会成功登录我的计算机。同样,当我尝试使用公钥身份验证时,我会立即关闭连接。但是,如果我为密钥文件输入了错误的密码,然后在恢复为密码身份验证后又输入了另一个错误的密码,只要我在第二次或第三次提示时提供正确的密码,我就可以成功登录。
该机器运行 Red Hat Enterprise Linux Server 6.2 版(圣地亚哥),并使用 LDAP 和 PAM 进行身份验证。关于从哪里开始调试这个的任何想法?让我知道我需要提供哪些配置文件,我会很乐意这样做。
这是一些调试信息。以下代码块按顺序表示这 3 种情况:1) 首次尝试时更正私钥密码,2) 跳过私钥,首次尝试时更正常规密码,3) 跳过私钥,故意输入错误密码,然后进入好的...这是唯一让我真正连接的场景。
OpenSSH_5.9p1 Debian-5ubuntu1, OpenSSL 1.0.1 14 Mar 2012
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to [removed for privacy].
debug1: Connection established.
debug3: Incorrect RSA1 identifier
debug3: Could not load "/home/trevor/.ssh/id_rsa" as a RSA1 public key
debug1: identity file /home/trevor/.ssh/id_rsa type 1
debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-2048
debug1: …Run Code Online (Sandbox Code Playgroud) 我试图在我的服务器上失败(用户名、密码或两者不正确)。
我将 /etc/ssh/sshd_config 从
# Logging
SyslogFacility AUTH
LogLevel INFO
Run Code Online (Sandbox Code Playgroud)
到
# Logging
SyslogFacility AUTH
LogLevel VERBOSE
Run Code Online (Sandbox Code Playgroud)
并且此后尝试使用随机密码对现有和非现有用户进行多次 ssh 尝试,因此失败。检查 /var/log/auth.log 时什么也没有出现,它完全是空白的。
我错过了什么?是否还需要在我的系统上安装并运行其他一些进程?我正在运行 Ubuntu。
非常欢迎有关此事的任何帮助或指导。
谢谢
我有一个带有 admin 子目录的网站,该目录受集成的 Windows 身份验证保护。从远程 PC 完美运行。但是当我尝试访问服务器本身上的这些页面时,我遇到了授权失败。我使用的是正确的主机名,而不是 localhost。试过 Chrome 和 IE,结果一样。
有什么建议?
我有一个相当小的安装服务器,它不允许密码认证,只能使用密钥。而且它绝对没有安装Java。通常我不支付任何注意数千尝试脚本小子猜我的密码的一天-我的身影,他们在我的系统上浪费时间为时间他们没有对系统浪费也允许密码验证。但我在 /var/log/auth.log 中看到此消息:
Dec 7 13:43:43 hostname sshd[7412]: Received disconnect from 189.203.240.57: 3: com.jcraft.jsch.JSchException: Auth fail [preauth]
这是提到来自攻击者的 Java 异常,还是来自我这边的东西?
我试图更好地了解 OS X 登录过程,以确定实现VPN 单点登录的最佳方式。
如果我错了,请纠正我,但我相信——
launchd(8)调用gettyent(3)并因此确定 fromttys(5)执行loginwindow.appfor /dev/console。
loginwindow.app尝试获取system.login.console授权权限,授权数据库为此指定了以下机制(与我对其功能的理解一起列出);那些有特权的在authd进程中运行(作为 root),而那些没有特权的在SecurityAgent进程中运行(作为 _securityagent):
builtin:policy-banner(显示登录窗口横幅,如果设置)。loginwindow:login (提示输入凭据)。builtin:login-beginbuiltin:reset-password,privileged(使用 Apple ID执行密码重置)。builtin:forward-login,privileged (在启动时从 EFI 转发凭据)。builtin:auto-login,privileged (在启动时应用自动登录凭据)。builtin:authenticate,privileged(所调用pam_authenticate(3)用于authorization服务;集“UID”上下文值)。PKINITMechanism:auth,privileged (通过获取 TGT 来初始化 Kerberos)。builtin:login-successloginwindow:success (保护登录会话免受未经授权的远程访问;在系统的 utmp 和 utmpx 数据库中记录登录;设置控制台终端的所有者和权限)。HomeDirMechanism:login,privileged (挂载用户的主目录)。HomeDirMechanism:status (显示主目录安装进度)。MCXMechanism:login (应用配置文件)。loginwindow:done (重置用户的首选项以包括全局系统默认值;使用用户的首选项配置鼠标、键盘和系统声音;设置用户的组权限;从目录服务中检索用户记录并将该信息应用于会话;加载用户的计算环境——包括首选项、环境变量、设备和文件权限、钥匙串访问等;启动 Dock、Finder 和 SystemUIServer;启动用户的登录项)。 …升级到 CentOS 7 后,无法再通过 LDAP 登录。在 CentOS 6 中,我使用了运行良好的软件包pam_ldap,但现在新版本的 CentOS 不再提供 pam_ldap。
通过ldapsearch连接仍然可以正常工作,但尝试通过 ssh 进行身份验证不起作用。
我重新安装了包nss-pam-ldapd并通过authconfig-tui重新配置了身份验证,但它仍然不起作用。
下面我用user.name替换我的用户名,用dc=sub,dc=example,dc=org替换基数。
我的主机操作系统是 CentOS 7。所有当前可用的更新都已安装。
$ uname -a
Linux isfet 3.10.0-123.8.1.el7.x86_64 #1 SMP Mon Sep 22 19:06:58 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
安装包
$ rpm -qa | grep -i ldap
openldap-2.4.39-3.el7.x86_64
nss-pam-ldapd-0.8.13-8.el7.x86_64
openldap-clients-2.4.39-3.el7.x86_64
Run Code Online (Sandbox Code Playgroud)
/etc/openldap/ldap.conf 的内容
URI ldap://172.16.64.25
BASE dc=sub,dc=example,dc=org
Run Code Online (Sandbox Code Playgroud)
/etc/nslcd.conf 的内容
ldap_version 3
uri ldap://172.16.64.25
base dc=sub,dc=example,dc=org
ssl no
Run Code Online (Sandbox Code Playgroud)
/var/log/secure …
authentication ×10
ldap ×4
pam ×4
ssh ×3
iis-7.5 ×2
mac-osx ×2
apache-2.2 ×1
centos ×1
deployment ×1
domain ×1
http ×1
logging ×1
login ×1
networking ×1
openldap ×1
samba ×1
security ×1
svn ×1