众所周知,我们可以在安装过程中加入 AD 域,但是安装后是否有 GUI 来执行此操作?喜欢它在 Mac 和 Windows 上的超级简单?
如果没有 GUI,我该如何提出请求?
众所周知,我们可以在安装过程中加入 AD 域,但是安装后是否有 GUI 来执行此操作?喜欢它在 Mac 和 Windows 上的超级简单?
如果没有 GUI,我该如何提出请求?
我有一个带有 IDMU 并UID/GID
为我的域用户指定的 AD 环境。UID/GID
SSSD 连接的域用户在 Ubuntu 上与 AD共享不同的内容。
sssd.conf
这是Ubuntu 20.10 中未编辑的默认设置:
% sssd --version
2.3.1
# cat /etc/sssd/sssd.conf
[sssd]
domains = webtool.space
config_file_version = 2
[domain/webtool.space]
default_shell = /bin/bash
krb5_store_password_if_offline = True
cache_credentials = True
krb5_realm = MYDOMAIN.SPACE
realmd_tags = manages-system joined-with-adcli
id_provider = ad
fallback_homedir = /home/%u@%d
ad_domain = mydomain.space
use_fully_qualified_names = True
ldap_id_mapping = True
access_provider = ad
如果用户名Auser
有 aUID
和10001
a我希望这些数字会在其他平台上持续存在,对吗GID
?10001
但 SSSD 似乎分配任意UID/GID
与 AD 编号没有对应关系。这是一个真实的例子:
% su [email protected]
Password:
[email protected]@myhostname:~/$ id
uid=397401108([email protected])
gid=397400512(domain [email protected])
groups=397400512(domain [email protected]),
397400513(domain [email protected]),
397400518(schema [email protected]),
397400519(enterprise [email protected]),
397400572(denied rodc password replication [email protected]),
397401109([email protected]),
397401112(vcsa [email protected]),
397404603([email protected]),
397407607([email protected])
有什么办法可以防止这种行为?我希望我UID/GID
与域控制器上分配的值相对应。
更新:
感谢出色的第一个答案,制作映射 1-1 所需的只是停止 SSSD 服务,删除缓存,ldap_id_mapping
从更改True
为False
.
现在UID/GID
与 AD 相同:
% id
uid=10000(auser) gid=10001(administrators) groups=10001(administrators),3109([email protected]),10000(domain [email protected])
现在要弄清楚为什么我错过了我的用户所属的一些组......
它应该是什么样子:我的 Ubuntu VM 通过 SSSD 连接到我的 Active Directory 服务器。我想要一个 SFTP 服务器来监禁分配了特定 AD 组 (USR-SFTP@domain) 并且只有 SFTP 而不是 SSH 的传入用户。我的管理员用户及其分配的组 (Domain-Admins@domain) 应该仍然能够通过 SSH 但不能通过 SFTP 登录。
现在情况如何:我的 SSSD 工作正常。SFTP 让我有问题。
sssd.conf:
[sssd]
domains = domain
config_file_version = 2
services = nss, pam
default_domain_suffix = domain
[domain/domain]
default_shell = /bin/bash
krb5_store_password_if_offline = True
cache_credentials = True
krb5_realm = domain
realmd_tags = manages-system joined-with-adcli
id_provider = ad
fallback_homedir = /home/%u@%d
ad_domain = domain
use_fully_qualified_names = True
ldap_id_mapping = True
access_provider = simple
simple_allow_groups = Domain-Admins@domain
sshd.conf:
Subsystem sftp internal-sftp
Match Group usr-sftp
ChrootDirectory /appdata/SFTPdata/%u
ForceCommand internal-sftp -d /upload
AllowTcpForwarding no
GatewayPorts no
X11Forwarding no
文件夹 /appdata/SFTPdata/%u 归 root 所有。文件夹 /appdata/SFTPdata/%u/upload 归用户所有。
当我在 sssd.conf 的允许组中添加 AD 组“usr-sftp”时,我能够通过 ssh 和 sftp 进行连接,但会被定向到 /home。
我不知道我在这一点上做错了什么。
我正在尝试使用 samba-tool 作为域控制器将 ubuntu 服务器 20.04 加入到 Windows 活动目录中,这样在 Windows 服务器出现故障时它将充当备份域控制器。
Windows 服务器运行的是 Windows Server 2019,ForstMode 是 Windows2012Forest,DomainMode 是 Windows2012Domain。
我使用管理员帐户尝试将服务器加入活动目录并使用以下命令
sudo samba-tool domain join DOMAINNAME.LOCAL DC -U"DOMAINNAME\Administrator" --server 192.168.1.200
当我运行命令时,我得到以下信息
Password for [DOMAINNAME\Administrator]: INFO 2020-06-02 06:47:09,596 pid:4570 /usr/lib/python3/dist-packages/samba/join.py #1542: workgroup is DOMAINNAME INFO 2020-06-02 06:47:09,596 pid:4570 /usr/lib/python3/dist-packages/samba/join.py #1545: realm is DOMAINNAME.local Adding CN=SERVER3,OU=Domain Controllers,DC=DOMAINNAME,DC=local Adding CN=SERVER3,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=DOMAINNAME,DC=local Adding CN=NTDS Settings,CN=SERVER3,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=DOMAINNAME,DC=local DsAddEntry failed with status WERR_ACCESS_DENIED info (8567, 'WERR_DS_INCOMPATIBLE_VERSION') Join failed - cleaning up Deleted CN=SERVER3,OU=Domain Controllers,DC=DOMAINNAME,DC=local Deleted CN=SERVER3,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=DOMAINNAME,DC=local ERROR(runtime): uncaught exception - DsAddEntry failed File "/usr/lib/python3/dist-packages/samba/netcmd/__init__.py", line 186, in _run
return self.run(*args, **kwargs) File "/usr/lib/python3/dist-packages/samba/netcmd/domain.py", line 701, in run
join_DC(logger=logger, server=server, creds=creds, lp=lp, domain=domain, File "/usr/lib/python3/dist-packages/samba/join.py", line 1558, in join_DC
ctx.do_join() File "/usr/lib/python3/dist-packages/samba/join.py", line 1446, in do_join
ctx.join_add_objects() File "/usr/lib/python3/dist-packages/samba/join.py", line 682, in join_add_objects
ctx.join_add_ntdsdsa() File "/usr/lib/python3/dist-packages/samba/join.py", line 607, in join_add_ntdsdsa
ctx.DsAddEntry([rec]) File "/usr/lib/python3/dist-packages/samba/join.py", line 548, in DsAddEntry
raise RuntimeError("DsAddEntry failed")
如何解决这个问题?或者,如果有更好的方法将服务器作为域控制器加入活动目录,这也很有用,谢谢
我继承了一个 ubuntu 8.10 服务器,它当前作为 samba 服务器和 apache web 服务器运行。我想用 ubuntu 19.10 制作一个新服务器并复制该服务器上的现有配置。我通常从头开始,我从未将 samba 配置为与活动目录集成。smb.conf 中的这个配置就够了吗?
# Global parameters
[global]
workgroup = domain
realm = domain.com
server string = %h NEWSAMBASERVER (Samba %v)
security = ADS
password server = domaincontroller.domain.com
#security = DOMAIN
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n .
username map = /etc/samba/smbusers
syslog = 0
max log size = 1000
name resolve order = wins host bcast
socket options = IPTOS_LOWDELAY TCP_NODELAY SO_SNDBUF=4096 SO_RCVBUF=4096
load printers = No
preferred master = No
local master = No
domain master = No
wins support = Yes
invalid users = root
hosts allow = 10.100., 127.
# printing = lprng
# lppause command = lpc hold '%p' %j
# lpresume command = lpc release '%p' %j
我正在使用带有远程活动目录服务器的 Ubuntu 16.04。要登录我的 Ubuntu 机器,我使用活动目录中的用户名和密码。
我最近不得不运行pam-auth-update
,因为不再可能使用我的 AD 凭据登录。然而,在运行这个之后,我的小组似乎混在一起了。
以下信息应该有助于澄清我的问题:
myusername@machine:~$ whoami
myusername
myusername@machine:~$ id
uid=10004608(myusername) gid=10000513(domänen-benutzer) Gruppen=10000513(domänen-benutzer)
myusername@machine:~$ id myusername
uid=10004608(myusername) gid=10000513(domänen-benutzer) Gruppen=10000513(domänen-benutzer),999(docker),132(wireshark),10004608(myusername),[... a lot more AD groups]
myusername@machine:~$ su - myusername
Password:
myusername@machine:~$ id
uid=10004608(myusername) gid=10000513(domänen-benutzer) Gruppen=10000513(domänen-benutzer),132(wireshark),999(docker),10004608(myusername),[... a lot more AD groups]
myusername@machine:~$ whoami
myusername
myusername@machine:~$
Runningsu - myusername
给了我所有常用的组,比如 docker,但我的登录 shell 只给了我常用组的一个子集。
我想我必须更改 /etc/pam.d 中的一些配置文件,但我不知道要查找什么。
我最近设法让我的 Ubuntu Server 18.04 机器连接到我公司的 Windows AD。我可以使用我的 AD 凭据登录,但我想更进一步......
这是我为了让我的 Ubuntu 18.04 机器进入 windows 域而遵循的文章,注意我没有做任何配置来限制 ssh 登录到域组,因为我仍在努力。 https://www.smbadmin.com/2018/06/connecting-ubuntu-server-1804-to-active.html?showComment=1548915938955#c6716393705599388679
然而....
这可能是什么原因?可能是由于我在将机器连接到 AD 域时指定的配置?
该组的完整路径如下: - domainname/Groups/Elab/Elab-Level3
这是我用于加入 AD 域的文件的配置:
krb5.conf
[libdefaults]
default_realm = MYREALM
dns_lookup_kdc = true
dns_lookup_realm = true
......文件的其余部分............
领域配置文件
[users]
default-home = /home/%D/%U
default-shell = /bin/bash
[active-directory]
default-client = sssd
os-name = Ubuntu Server
os-version = 18.04
[service]
automatic-install = no
[mydomain]
fully-qualified-names = yes
automatic-id-mapping = no
user-principal = yes
manage-system = yes
sssd.conf
[sssd]
domains = mydomain config_file_version = 2
services = nss, pam, ssh
[domain/mydomain]
ad_domain = mydomain
krb5_realm = MYDOMAIN
realmd_tags = manages-system joined-with-adcli
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = False
fallback_homedir = /home/%u@%d
access_provider = ad
ldap_user_ssh_public_key = altSecurityIdentities
我真的希望这里有人有答案,我已经搜索了很多线程并且无法破解这个坚果
我正在尝试在我的 Ubuntu 工作站上配置自动加入域。我已准备就绪(至少我相信以下命令可以正常工作)
net ads join -U <username>
现在我有两个问题。有人可以向我解释一下 -k 或 --kerberos 选项的作用以及何时可以使用它吗?还有人成功地自动化了这个过程吗?到目前为止,我已经设置了 puppet 来部署所有配置文件(krb、sssd、samba。所有这些都是在手动完成时配置和工作)并在最后运行网络广告连接,但是它似乎失败了(不足为奇,因为我没有提供它带有凭据)有人向我提到要使用 -k 选项运行上述命令,但这似乎也失败了。
我正在尝试重建一个属于 Active Directory 的服务器。我正在使用仿生海狸:
administrator@vmssnt1:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.1 LTS
Release: 18.04
Codename: bionic
administrator@vmssnt1:~$ uname -a
Linux vmssnt1 4.15.0-32-generic #35-Ubuntu SMP Fri Aug 10 17:58:07 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
当然,我sudo apt update && sudo apt upgrade
在执行之前做过
sudo apt -y install realmd sssd sssd-tools libnss-sss libpam-sss adcli samba-common-bin oddjob oddjob-mkhomedir packagekit
按照本指南:https ://www.server-world.info/en/note?os=Ubuntu_18.04&p=realmd
这在我之前在其他服务器上执行时有效,但现在我只收到此错误:
Package realmd is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
Package adcli is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'realmd' has no installation candidate
E: Package 'adcli' has no installation candidate
E: Unable to locate package oddjob
E: Unable to locate package oddjob-mkhomedir
如果我正在查看可以找到它们的软件包(例如 realmd:https ://packages.ubuntu.com/bionic/realmd )
有什么我想念的吗?
谢谢你的帮助!
编辑:如果我apt-cache search realmd
在我的 ubuntu windows 子系统(14.04.5 LTS)上使用,可以找到该包。不再支持仿生海狸了吗?
我曾经在我的域机器上观察到大量这些消息。似乎在重新启动或重新启动 sssd 之后,这将是正常的并且给定时间,它会开始分叉越来越多的进程,我怀疑它会开始以某种方式减慢身份验证。
/usr/lib/x86_64-linux-gnu/sssd/sssd_be --domain domain.example.com --uid 0 --gid 0 --debug-to-files
经过一番研究,我添加ldap_referrals = false
了 sssd.conf 但分叉仍在继续。
之后,我继续安装 adcli,分叉似乎已经停止。我想问是否有人可以解释上述内容并确认adcli是否真的修复了它?