对于本地开发,我使用 docker compose 这样的文件:
version: '3.4'
networks:
dsm:
services:
samba:
image: instantlinux/samba-dc:latest
container_name: samba-dc
cap_add:
- CAP_SYS_ADMIN
hostname: inno.tech
environment:
DOMAIN_ACTION: provision
REALM: my.company
volumes:
- etc:/etc/samba
- lib:/var/lib/samba
ports:
- "389:389"
secrets:
- samba-admin-password
volumes:
etc:
lib:
secrets:
samba-admin-password:
file: secrets.yaml
我也使用 testContainers 在测试中启动了同一台服务器
val adminPasswordFile = getSecretPassword(ResourceUtils.getFile("classpath:$SECRET_FILE_NAME"))
val domainName = getDomainName(ResourceUtils.getFile("classpath:$APPLICATION_CONFIG_FILENAME"))
val secretPathInContainer = "/run/secrets/samba-admin-password"
// Create and start the container
return GenericContainer(SAMBA_IMAGE)
.withEnv("DOMAIN_ACTION", "provision")
.withEnv("REALM", domainName)
.withEnv(
"ADMIN_PASSWORD_SECRET",
adminPasswordFile,
)
.withPrivilegedMode(true)
.withExposedPorts(389)
.withCopyToContainer(
MountableFile.forClasspathResource(SECRET_FILE_NAME, Transferable.DEFAULT_FILE_MODE),
secretPathInContainer,
)
在这两种情况下,我希望能够加载 LDAP 数据(例如在启动时但这不是强制性的),但主要用于测试。
我已经有了目录文件所以我开始调查它(但如果还有其他方法可以做到这一点 - 我准备使用它们)
我的想法来源于https://wiki.samba.org/index.php/Back_up_and_Restoring_a_Samba_AD_DC#Offline.2Flocal_DC_backup
我找到了命令:
sudo samba-tool domain backup restore --backup-file=<tar-file> --newservername=<DC-name> --targetdir=<new-samba-dir>
但柏油这里使用文件。
基于https://lists.samba.org/archive/samba/2018-November/219439.html
和
它也仅适用于 tar 文件。
说实话,我尝试使用该命令进行备份,但没有成功(它只是挂起):
如果我添加须藤一开始 - 我看到错误sudo: not found
并且不知道下一步该做什么。
我也见过这个链接:
https://wiki.samba.org/index.php/Administer_Unix_Attributes_in_AD_using_samba-tool_and_ldb-tools
我在哪里找到命令
ldbmodify -H /usr/local/samba/private/sam.ldb /tmp/group.ldif -U Administrator
但是当我尝试执行它时出现了错误:
无法打开 tdb‘/usr/local/samba/private/sam.ldb’:没有此文件或目录
Failed to connect to '/usr/local/samba/private/sam.ldb' with backend 'tdb': Unable to open tdb '/usr/local/samba/private/sam.ldb': No such file or directory
Failed to connect to /usr/local/samba/private/sam.ldb - Unable to open tdb '/usr/local/samba/private/sam.ldb': No such file or directory
有没有办法上传文件?