网上有很多教程表明这是可能的。我在 16.04 上完成了此操作,并创建了一个 bash 脚本,用于将几个首次启动的 16.04 系统配置为 DC。大多数教程都是针对 16.04 或更早版本的。那些实际上声称要设置 18.04 系统的教程在作者明确执行了一些初始配置步骤后才在教程中记录这些步骤。
askubuntu 上关于此过程的引用日期为 2011 年至 2017 年之间。显然,事情已经发生了很大变化,因此这些引用几乎没有什么帮助。我在 Xenial 上取得了成功,部分原因是这些较旧的(现在完全过时了)讨论/教程。我今天失败了,因为环境中发生了一些变化,而这些较旧的流程没有考虑到这一点。
我曾尝试向发布过 Bionic AD 教程的人寻求指导,但绝大多数人没有评论/问题部分或忽略它们,因为他们可能已经转向更新的项目。
我最接近成功的一次尝试仍然以失败告终。在尝试配置域时,无法设置自加入
Setting up self join
set_nt_acl_no_snum: fset_nt_acl returned NT_STATUS_NOT_SUPPORTED.
ERROR(runtime): uncaught exception - (-1073741637, 'The request is not supported.')
File "/usr/lib/python2.7/dist-packages/samba/netcmd/__init__.py", line 176, in _run
return self.run(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/samba/netcmd/domain.py", line 474, in run
nosync=ldap_backend_nosync, ldap_dryrun_mode=ldap_dryrun_mode)
File "/usr/lib/python2.7/dist-packages/samba/provision/__init__.py", line 2175, in provision
skip_sysvolacl=skip_sysvolacl)
File "/usr/lib/python2.7/dist-packages/samba/provision/__init__.py", line 1806, in provision_fill
names.domaindn, lp, use_ntvfs)
File "/usr/lib/python2.7/dist-packages/samba/provision/__init__.py", line 1593, in setsysvolacl
service=SYSVOL_SERVICE)
File "/usr/lib/python2.7/dist-packages/samba/ntacls.py", line 162, in setntacl
smbd.set_nt_acl(file, security.SECINFO_OWNER | security.SECINFO_GROUP | security.SECINFO_DACL | security.SECINFO_SACL, sd, service=service)
我坦然承认自己仍在学习。我还指责大多数像我一样的极客在记录知识方面能力不足。极客们常常只是假设读者在记录的主题方面有相同的经验,因此忽略了从“A”到“B”至关重要的关键细节。
有几件事非常突出:
Samba 仍在使用 Python 2.7 吗?还是我遗漏了某些内容来指导它使用 3.x?在安装 Samba 之后,系统上才安装 Python 2.7。最后通过另一个来源找到:Samba 4.10 及更高版本使用 Python3。早期版本(目前可在 Ubuntu 存储库中找到)仍使用 Python 2.7
ntacls.py,自连接失败的脚本正在使用函数 samba。samba3.smbd.set_nt_acl 函数,但“apt install samba”安装的 samba 版本是 4.7.6-Ubuntu。samba3 python 代码的使用是否与上一个问题有关(解决前者,就能解决后者)?
我在驱动器安装参数中遗漏了什么吗? tune2fs 报告
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize metadata_csum
Default mount options: user_xattr acl