我的工作代理服务器需要使用 Microsoft AD 域用户凭据进行身份验证。每个人都知道它是如何工作的:如果您登录 Windows 工作站,您的基于“Internet Explorer”浏览器的 Internet 访问请求将使用您的域登录凭据自动进行身份验证(和识别)。
我发现 Firefox 也可以对这些代理服务器进行身份验证,并且长期以来一直认为它们“做了一些特别的事情”。最近,一位同事在 VM 中安装了 Linux Mint,令我惊讶的是他正忙于从 Internet 获取更新。当我问他是如何得到它的时候,他耸了耸肩说“它只是奏效了”
这促使我重新查看代理设置。我运行 Kubuntu(混合使用 G* 和 K* 应用程序,但我只在我确信 GTK 应用程序比任何 K* 应用程序都好得多时才使用 GTK 应用程序)
我仍然有一个在 VirtualBox VM 中运行的 Windows 来宾副本,主要用于打印和访问内部/公司网站(这都需要通过 MS 域凭据进行身份验证和识别)以及每隔几天更改我的域密码.
因此,如果我可以通过代理服务器让我的 [部分/大部分/全部] Linux 应用程序工作,那将会非常有帮助。我最迫切的需求是让 Akregator 和 Muon 能够工作。其他可能受益的应用程序是一些自动更新的应用程序(例如 Virtual Box Extensions)或将自己包裹在浏览器中(想到获取更多主题/墙纸/等,以及偶尔使用 wget)
SSH/SCP 客户端无需身份验证即可通过防火墙工作。
什么是配置它的正确方法(工具和/或程序),最好是在一个位置,因为必须在多个位置维护我的密码是锁定我的帐户的秘诀:-/
哦,如果我能拥有相当于 Firefox“快速代理”代理禁用/启用实用程序,例如单击以启用或禁用代理的使用,而无需退出并重新登录,那将是梦想成真,取决于我在哪个网络上。实际上考虑一下,应该可以训练一个实用程序来查看您的 IP 地址并知道何时需要使用代理!但我离题了。
我想运行一个可以动态添加身份验证并在需要时转发到上游代理服务器的本地代理服务器可能是唯一真正的解决方案。
我试图允许 RHEL 使用在系统上创建的登录帐户,但使用 Active Directory 中的密码。我见过有人用:
authconfig \
--enablekrb5 \
--krb5realm=KDCRealm.NET \
--krb5kdc=kcldap.net \
--krb5adminserver=kcldap.net \
--enablekrb5kdcdns \
--enablekrb5realmdns \
--update
Run Code Online (Sandbox Code Playgroud)
虽然,我不确定该命令是如何或做什么的,或者它修改了哪些文件。
我需要为我们的工程组建立一个wiki;我们是企业范围的 Windows Active Directory 域的一部分。大多数企业 IT 应用程序使用 NTLM 进行身份验证(通过 Internet Exploder 自动);虽然我不是企业 IT 部门的一员,但我认识到单点登录 (SSO) 对于用户接受度很重要。
我希望找到一个经过充分测试并且可以在 linux 上托管的免费和开源 wiki参见 End Note 1,同时允许企业 Windows 笔记本电脑在没有密码提示的情况下自动进行身份验证。
我见过一些让moin使用 NTLM进行身份验证的技巧,请参阅 End Note 2,但我不知道这在实践中的实际效果如何;所以任何使用 moin + NTLM 的部署经验都是有价值的。我也看过FOS Wiki,但FOS Wiki 似乎不支持自动登录。
简而言之,我正在寻找具有原生、自动 NTLM 身份验证支持的最佳免费、开源、linux wiki 实现,请参阅尾注 3;如果它可以使用Markdown或reStructured Text ,我会加分。
active-directory software-rec wiki markdown restructuredtext
我在 MS ActiveDirectory 到 Debian LDAP 身份验证/授权设置中的 sudo 权限有问题。
到目前为止,
我已经通过 ldaps 使用 libpam-ldap 配置了 nslcd,并且 ssh 登录运行良好。
getent passwd myuser
myuser:*:10001:10015:myuser:/home/myuser:/bin/bash
Run Code Online (Sandbox Code Playgroud)
在我的 ActiveDirectory 服务器上,安装了 Unix 包,它添加了必要的属性,如 posixGroup、posixAccount、gid、gidNumber、uid、uidNumber 等。
我的示例用户看起来像这样:(
为了安全起见,我选择 10000+)
cn: myuser
uid: myuser
uidNumber: 10015
gidNumber: 10000
Run Code Online (Sandbox Code Playgroud)
我可以通过将以下内容添加到 /etc/nslcd.conf 来限制 SSH 登录
filter passwd (&(objectClass=posixAccount)(|(memberOf=CN=group1,OU=groups,DC=domain,DC=com)(memberOf=CN=group2,OU=groups,DC=domain,DC=com)))
Run Code Online (Sandbox Code Playgroud)
这指定只有具有 objecClass=posixAccount 和组 group1 或 group2 的用户才能登录。
到现在为止还挺好。但是,我不能告诉 sudo 使用这些组。
这是我
在 /etc/sudoers 中尝试过的
// This one works, but only because the user has gidNumber=10000 set.
// It doesn't matter if …
Run Code Online (Sandbox Code Playgroud) 我正在尝试用 ISC DHCP 替换 Windows Server DHCP。为此,我需要能够促进从支持和不支持动态 DNS 记录注册的客户端更新 DNS 记录。
Active Directory/DNS 在 2012 R2 林/域功能级别的 Server 2012 R2 上运行。DNS 正向和反向查找区域仅接受安全动态更新。
我一直没有成功找到有关如何将 ISC DHCP 集成到 AD DNS 环境的指南。配置文件如下,但我在使用 ISC DHCP 时注意到的是,未加入域的客户端不会在正向/反向查找区域中为它们注册 A 记录。对于加入域的客户端,他们将在正向查找区域中注册 A 记录,但不会在反向查找区域中注册。正向查找区域正在使用 DNSSEC。
ddns-updates on;
ddns-update-style standard;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
group {
option routers 10.10.20.1;
option subnet-mask 255.255.255.0;
option domain-search "example.local";
option domain-name-servers 10.10.20.2, 10.10.20.3;
option broadcast-address 10.10.20.255;
ddns-domainname "example.local";
ddns-rev-domainname "in-addr.arpa.";
authoritative;
allow unknown-clients;
authoritative;
subnet 10.10.20.0 netmask 255.255.255.0 {
range 10.10.20.30 …
Run Code Online (Sandbox Code Playgroud) 使用 ActiveDirectory 管理 Unix/Linux 用户帐户的最佳或最可靠方法是什么?或者,这甚至可行吗?
我正在向我们的 Windows 2003 域添加一些 Fedora 20 工作站。我已经用盒子成功加入了域,并且可以使用域帐户登录。
现在,我试图让广告组的默认Enterprise Admins
使用SUDO
,但无论我做什么,似乎组无法找到(或至少它告诉我,我的用户帐户不是在sudoers文件)
OU的结构(默认为真的):
我使用realmd
和sssd
加入域,并试图允许 sudo 到位于Users
OU下的组,但也想从CompanyName --> Admins
OU/子组中添加一些。
我目前正在尝试这个,但没有运气(在 /etc/sudoers 中)
%MYDOMAIN\\Enterprise^Admins ALL=(ALL) ALL
Run Code Online (Sandbox Code Playgroud)
我也尝试过变体,例如:
%MYDOMAIN\\Users\Enterprise^Admins ALL=(ALL) ALL
%Enterprise^Admins@mydomain.local ALL=(ALL) ALL
Run Code Online (Sandbox Code Playgroud)
等等......似乎没有任何效果。即使在重新启动和/或systemctrl restart sssd
.
如果我明确地将我的域帐户添加到 /etc/sudoers 文件中,它就没有问题。
myuser@mydomain.local ALL=(ALL) ALL
Run Code Online (Sandbox Code Playgroud)
有一些资源似乎表明应该可以将 AD 组添加到 sudoers,但是到目前为止,它们都没有为我工作:
http://funwithlinux.net/2013/09/join-fedora-19-to-active-directory-domain-realmd/
https://serverfault.com/questions/387950/how-to-map-ad-domain-admins-group-to-ubuntu-admins
在我公司的 Ubuntu 15.10 桌面系统上,我使用一些基于PBIS 的魔法通过 Active Directory 登录。因此,即使我的主目录在/home/local/FOOBAR/dotancohen/
. 当没有要编辑的 /etc/passwd 行因此无法使用时,如何将 bash 配置为 shell chsh
?
我在这台机器上有另一个具有管理员访问权限的帐户,因此我可以根据需要将系统配置为管理员。但是,如果有一个仅限用户使用的解决方案,我希望将来在我没有管理员访问权限时使用它!
以下是在 Unity(Ubuntu 桌面)中打开 Gnome 终端运行的几个关键命令的结果:
$ echo $HOME
/home/local/TECHMARKETING/dotan
$ whoami
FOOBAR\dotancohen
$ grep dotan /etc/passwd
$ grep sourced ~/.profile
echo 'sourced .profile'
$ grep sourced ~/.bashrc
echo "sourced .bashrc"
$ echo $SHELL
/bin/sh
$ echo $TERM
xterm
$ bash
sourced .bashrc
- dotan-tm():~$ echo $SHELL
/bin/sh
- dotan-tm():~$ echo $TERM
xterm-256color
Run Code Online (Sandbox Code Playgroud)
可以看出,当它们被获取时,.bashrc
和 都.profile
回显。似乎.profile …
因此,我有一个已加入广告的 RHEL 服务器。即使使用正确的密码,用户也无法登录。
我可以通过控制台登录,但只能使用 root 登录,所有 AD 帐户都不起作用。我无法使用 root 通过 Putty 登录,它只能通过控制台工作。AD用户无法通过控制台登录,只有root登录有效。
令人沮丧的是,日志毫无帮助。
当尝试通过 SSH/Putty 和 AD 帐户访问时(双因素已打开),我收到 Duo 提示,因此可以验证它是否正在连接。我收到“您的密码将在 7 天后过期”消息,因此我在 AD 中更新了密码,现在不再收到“您的密码将在 7 天后过期”消息。这告诉我服务器能够到达 AD 并读取 AD 信息。以下是尝试使用 AD 帐户登录时的文本:
密码或选项 (1-3): 1 使用键盘交互式身份验证。成功。正在让您登录...访问被拒绝
当使用 root 登录时(讽刺的是,root 没有两个因素设置),它会直接进入拒绝访问状态。
我已经清除了 SSSD 缓存,验证了 SSSD 设置,并将 SSSD 设置与我们其他没有问题的服务器之一进行了比较,它们是相同的。
由于 root 也被拒绝 SSH 登录,所以我并不认为这个问题与 AD 有关。
任何帮助将不胜感激。
我在公司的笔记本电脑上安装了 CentOS 7,并将其配置为对公司 AD 服务器进行身份验证,如下所示:
安装软件包:
yum install sssd realmd oddjob oddjob-mkhomedir adcli samba-common samba-common-tools krb5-workstation openldap-clients policycoreutils-python
Run Code Online (Sandbox Code Playgroud)将 AD 服务器添加到/etc/hosts
.
加入领域:
realm join --user=tech adserver.example.com
realm permit -g activedirectorygroup@domain
Run Code Online (Sandbox Code Playgroud)更改use_fully_qualified_names
到False
并fallback_homedir
以/home/%u
在/etc/sssd/sssd.conf
。
重启守护进程:
systemctl restart sssd && systemctl daemon-reload
Run Code Online (Sandbox Code Playgroud)设置 ITGROUP 以使用 sudo:
echo "%ITGROUP ALL=(ALL) ALL" > /etc/sudoers.d/ITGROUP
Run Code Online (Sandbox Code Playgroud)一切正常。...直到我在 Windows 10 PC 上更改了密码。事实上,CentOS 盒子是让我,但只是用旧密码。我已经做了一堆谷歌搜索和尝试了一堆东西(例如sss_cache -E
,kdestroy -A
),但我似乎无法刷新缓存,所以我可以用我新的密码。
那么,如何在 CentOS 7 上清除用户缓存的 …
active-directory ×10
ldap ×3
sssd ×3
domain ×2
rhel ×2
sudo ×2
bash ×1
centos ×1
command-line ×1
fedora ×1
http-proxy ×1
isc-dhcpd ×1
kerberos ×1
linux ×1
login ×1
markdown ×1
pam ×1
permissions ×1
proxy ×1
software-rec ×1
wiki ×1