AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1028640
Accepted
Richard T
Richard T
Asked: 2020-08-03 22:37:09 +0800 CST2020-08-03 22:37:09 +0800 CST 2020-08-03 22:37:09 +0800 CST

升级 Fedora,现在 Samba 麻烦:如何在 Fedora Server 32 上正确配置 Samba?

  • 772

我用一个全新的服务器替换了我的老化服务器(所以也许“替换”会比“升级”更准确)但当然我收获了所有旧的配置文件等,以及我唯一重要的功能不去是桑巴舞。

我已经为此工作了很多天,甚至今天升级Fedora Server 5.7.11-200.fc32.x86_64以确保现在没有修复一些错误。绝对没有安装错误或更新错误。而且,值得一提的是,有十几个 samba 包:

samba-dc-provision-4.12.5-0.fc32.noarch
samba-test-libs-4.12.5-0.fc32.x86_64
samba-winbind-clients-4.12.5-0.fc32.x86_64
samba-libs-4.12.5-0.fc32.x86_64
samba-winbind-4.12.5-0.fc32.x86_64
samba-dc-bind-dlz-4.12.5-0.fc32.x86_64
samba-winbind-krb5-locator-4.12.5-0.fc32.x86_64
samba-common-tools-4.12.5-0.fc32.x86_64
samba-devel-4.12.5-0.fc32.x86_64
python3-samba-dc-4.12.5-0.fc32.x86_64
samba-dc-libs-4.12.5-0.fc32.x86_64
samba-vfs-cephfs-4.12.5-0.fc32.x86_64
python3-samba-4.12.5-0.fc32.x86_64
samba-krb5-printing-4.12.5-0.fc32.x86_64
samba-vfs-glusterfs-4.12.5-0.fc32.x86_64
samba-winbind-modules-4.12.5-0.fc32.x86_64
samba-client-libs-4.12.5-0.fc32.x86_64
samba-4.12.5-0.fc32.x86_64
samba-pidl-4.12.5-0.fc32.noarch
samba-client-4.12.5-0.fc32.x86_64
samba-common-libs-4.12.5-0.fc32.x86_64
samba-common-4.12.5-0.fc32.noarch
samba-dc-4.12.5-0.fc32.x86_64
samba-test-4.12.5-0.fc32.x86_64

我试着做我的功课,但我找不到任何对搜索引擎有帮助的例子。我尝试过的配置文件内容比我记得的还要多——当然有几十个,或者一百多个,这取决于你的计数方式。我发布各种配置文件的时间可能并不丰富,但是对于我希望应该可以工作并且适用于 Fedora 32 的示例配置,请参阅下面的链接。但是,旧的配置数据在下面找到。

无论配置文件说什么,错误消息都是相同的 - 至少到目前为止:

At this time the 'samba' binary should only be used for either:
  'server role = active directory domain controller' or to access the ntvfs file server with 'server services = +smb' or the rpc proxy with 'dcerpc endpoint servers = remote'
  You should start smbd/nmbd/winbindd instead for domain member and standalone file server tasks
[2020/08/02 15:48:33.190413,  0] ../../lib/util/become_daemon.c:121(exit_daemon)
  exit_daemon: daemon failed to start: Samba detected misconfigured 'server role' and exited. Check logs for details, error code 22

当然,这首先来自 journalctl 程序,然后同样来自 /var/log/samba/ 中的一个日志,并且在阅读了每个日志以确保之后,没有进一步的信息可以从那里找到,与消息中的自鸣得意的建议相反。

我做的第一件事是试图弄清楚这是想说什么:

您应该为域成员和独立文件服务器任务启动 smbd/nmbd/winbindd

我已经尽我所能跟进了 smbd、nmbd 和 winbindd,但不,这些不能简单地启动,如前所述,显然需要一个博士学位来弄清楚如何在 Fedora 上处理它们——或者我只是不明白我在读什么,虽然我不是新手。有趣的是,在任何启动之后,都有两个 winbind 进程:

/usr/sbin/winbindd --foreground --no-process-group

但是我的客户根本无法连接。而且,我能想到的最好的情况是,这是一个我们无论如何都不想要的域控制器,并且nmdb似乎是一个NetBios工具,我不知道它如何帮助将 Linux 文件提供给 Windows。至于smbd,是的!这听起来就像我们这些年来一直在使用的一样!但是......我还没有找到任何关于它的信息 - 我什至要求 dnf 安装它!不,抱歉,不幸的是,它是短暂的。

为了明确这一点,我认为肯定smbd是需要的,但不,这些都不起作用:

# systemctl start smbd
Failed to start smbd.service: Unit smbd.service not found.
# dnf install smbd
Last metadata expiration check: 1:27:03 ago on Mon 03 Aug 2020 08:08:24 AM PDT.
No match for argument: smbd
Error: Unable to find a match: smbd

我很乐意尝试这些方面的其他东西 - 欢迎提出建议!(值得注意的是,我试图安装“samba *”,以为可能缺少一个包,samba-winexe-2:4.12.5-0.fc32.x86_64,所以我当然安装了它。systemctl start smbd仍然没有做任何事情,但是winexe添加了一个图像,但它没有手册页,systemctl也没有也可以用它做任何事情。但是:

# winexe -h
winexe version 4.12
This program may be freely redistributed under the terms of the GNU GPLv3
Usage: winexe [OPTION]... //HOST[:PORT] COMMAND
Options:
  -h, --help                                  Display help message
  -V, --version                               Display version number
  -U, --user=[DOMAIN/]USERNAME[%PASSWORD]     Set the network username
  -A, --authentication-file=FILE              Get the credentials from a file
  -N, --no-pass                               Do not ask for a password
  -k, --kerberos=[yes|no]                     Use Kerberos
  -d, --debuglevel=DEBUGLEVEL                 Set debug level
      --uninstall                             Uninstall winexe service after
                                              remote execution
      --reinstall                             Reinstall winexe service before
                                              remote execution
      --runas=[DOMAIN\]USERNAME%PASSWORD      Run as the given user (BEWARE:
                                              this password is sent in
                                              cleartext over the network!)
      --runas-file=FILE                       Run as user options defined in a
                                              file
      --interactive=0|1                       Desktop interaction: 0 -
                                              disallow, 1 - allow. If allow,
                                              also use the --system switch
                                              (Windows requirement). Vista
                                              does not support this option.
      --ostype=0|1|2                          OS type: 0 - 32-bit, 1 - 64-bit,
                                              2 - winexe will decide.
                                              Determines which version (32-bit
                                              or 64-bit) of service will be
                                              installed.

这很有趣,但我不知道该怎么处理它,它的用途。所以,我继续前进。

然后,我专注于人们可能认为可能适用于“服务器角色”的明显变化,检查了文档并花费了无数小时在线寻找“服务器角色”问题的解决方案。我已经尝试了很多变体——不仅仅是“服务器角色”,而是整个配置文件——我什至都记不起它们了。而且,文档大多看起来很旧,但我确实认为这是最新的,但它没有产生有用的结果。我很努力,但我忽略了什么吗?也许我在 Windows 世界中不够专业,不知道他们在说什么?例如,域控制器可以只为我熟悉的目录提供服务吗?我认为这正是我不想要的。

在广泛的网络搜索中,唯一接近的东西可以在这里找到。它适用于 Fedora 32,但他们的示例对我不起作用 - 服务器无法启动或提供有用的错误消息。

桑巴舞需要什么:

在 Samba 安装在这里的 20 多年中,它提供了完美的服务,就像 NFS 一样,使用 Workgroup 范式为本地网络上的 Windows 机器提供 Linux 目录。尽管打印机支持很有用,但域没有帮助,也根本不需要。系统必须具有读写权限、简单但有效的用户名/密码方案,以及相当好的权限。大概有 24 年了——我已经迷失了方向——Samba 在这家店里一直担任这个角色。是的,这些系统都比较旧,比如 Windows 7,而且我们根本不关心域控制器——发现它相当专制和独裁,没有我们想要的。(还是我们?)

值得补充的是,这是在仅限内部的网络上,SE linux 不是问题——服务器甚至不会启动!

那么,简单的系统升级是否会结束我们与 Samba 的关系 - 并迫使我们重新考虑 windows?!(这很令人抓狂。)

旧配置:

评论者 Michael Hampton 想要查看旧配置,尽管我看不到相关性,因为我将使用任何允许服务器启动的配置文件运行,并以现代方式重新进行配置。但是,对于像 Michale 这样的人,给你 - 首先,系统:

Server: 3.19.3-200.fc21.x86_64
Packages:
samba-winbind-4.1.17-1.fc21.x86_64
samba-client-4.1.17-1.fc21.x86_64
samba-libs-4.1.17-1.fc21.x86_64
system-config-samba-1.2.100-3.fc21.noarch
samba-common-4.1.17-1.fc21.x86_64
samba-winbind-modules-4.1.17-1.fc21.x86_64
samba-4.1.17-1.fc21.x86_64

配置文件数据 - 来自 testparm,这就是你当年的做法:

Server role: ROLE_STANDALONE
[global]
        workgroup = OurWorkgroup
        server string = Samba Server Version %v
        log file = /var/log/samba/log.%m
        max log size = 50
        idmap config * : backend = tdb
        cups options = raw

[printers]
        comment = All Printers
        path = /var/spool/samba
        guest ok = Yes
        printable = Yes
        print ok = Yes
        browseable = No

[Share1]
        path = /opt/samba/Share1
        username = fred clara 
        write list = fred, clara
        read only = No

你不能/不能从 testparm 得到的一点点:

security = user
bassdb backend = tdbsam

好的,就是这样——没有别的了。我的意思是配置文件中没有其他内容。配置文件中有很多东西被注释掉了,但是,好吧,它被注释掉了!

windows samba fedora-32
  • 2 2 个回答
  • 1327 Views

2 个回答

  • Voted
  1. Best Answer
    Michael Hampton
    2020-08-04T09:23:41+08:002020-08-04T09:23:41+08:00

    由于我不太明白的原因,Fedora 将启动 smbd 和 nmbd 的 systemd 单元分别命名为smb和nmb。要管理这些服务,请使用systemctl <command> smb(或nmb)。

    我能够通过检查 RPM 内容找到 systemd 单元,即:

    [root@localhost ~]# rpm -ql samba | grep systemd/system
    /usr/lib/systemd/system/nmb.service
    /usr/lib/systemd/system/smb.service
    
    • 1
  2. Rowland Penny
    2020-08-04T05:31:33+08:002020-08-04T05:31:33+08:00

    您似乎正在尝试启动 Samba AD DC,但 smb.conf 不适用于 DC,可能用于独立服务器。尝试'systemctl start smbd'

    • 0

相关问题

  • 知道任何适用于 Windows 的快速可编写脚本的 ftp 客户端吗?[关闭]

  • 如果 Windows 服务崩溃,如何自动重新启动它?

  • 无法安排任务(访问被拒绝)

  • 物理机重启时自动重启虚拟机(VMWare)

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve