我们已经在六台 Centos 6 服务器上使用 Samba 和 Winbind (idmap_ad) 成功部署了 AD 身份验证,并且已经愉快地运行了几个月。
其中一台服务器已停止解析一个特定的用户名(# id username),此 AD 用户在所有其他服务器上解析,所有其他用户在问题服务器上解析。
我认为这可能是由损坏的 winbindd_idmap.tdb 引起的。现在,检查这个最简单的方法是停止 winbind 删除文件,重新启动 samb 并启动 winbind,然后再试一次。我的问题是目前有一个更改冻结到位,我们将不得不提出 RFC 等来测试理论。
我的问题是:是否可以在不重新启动服务的情况下清除 winbind 缓存?
或者,如果您认为这是其他事情,请随时介入!
谢谢
更新:
更改冻结现已完成。
我已经删除了 winbindd_idmap.tdb 和 winbindd_cache.tdb 并重新启动了 winbind。这并没有解决它。
此外,服务器不会解析随机的新用户(有些会,有些不会)。我很难弄清楚这一点。
任何人都可以帮忙吗?
我有一个问题,当从 Windows 机器访问 samba 共享(在 Ubuntu 12.10 上)时,目录显示为文件。
在linuxbox上的文件夹中ls -ll输出如下:
chubby@chubby:/media/blackhole/_Arkiv$ ls -ll
total 0
drwxrwxrwx 0 jv users 0 Jun 18 2012 _20
drwxrwxrwx 0 jv users 0 Apr 17 2012 _2006
drwxrwxrwx 0 jv users 0 Apr 17 2012 _2007
drwxrwxrwx 0 jv users 0 May 12 2011 _2008
drwxrwxrwx 0 jv users 0 Feb 19 09:53 _2009
drwxrwxrwx 0 jv users 0 Dec 20 2011 _2010
drwxrwxrwx 0 jv users 0 May 8 2012 _2011
drwxrwxrwx 0 …Run Code Online (Sandbox Code Playgroud) 我正在努力在 CentOS 6.4(64 位)服务器上安装 Windows 2008 共享
当我使用 smbclient 时,它可以工作:
smbclient //esb.local/dfs -U ESBSertal -W ESB -P MyPassword
Run Code Online (Sandbox Code Playgroud)
但使用 mount 则不然。我在命令行上尝试过:
mount.cifs //esb.local/dfs -o username=ESBSertal,password=MyPassword,domain=ESB /mnt/win
Run Code Online (Sandbox Code Playgroud)
并向 /etc/fstab 添加一行
//esb.local/dfs /mnt/win cifs username=ESBSertal,password=MyPassword,domain=ESB 0 0
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,我都会遇到相同的错误:
mount.cifs //esb.local/dfs -o username=ESBSertal,password=MyPassword,domain=ESB /mnt/win
mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
Run Code Online (Sandbox Code Playgroud)
和 fstab
mount -a
mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
Run Code Online (Sandbox Code Playgroud)
我很感激你的支持。
只是一个更新:这是作为 root 执行的。既不是 root 也不是 sudo 工作
米查
我在使用 Samba 3 服务器作为域控制器以及许多(但不是全部)Windows 7 Pro PC 继承的网络上遇到问题。这里和这里描述的问题不能解决我的问题。
在启动时,在某些 PC 上,我收到一条错误消息,指出该工作站与域控制器之间的信任关系已失败。我的谷歌搜索解释了从域中删除/重新添加机器,这需要手动干预,有时不起作用。我一直在做的事情,因为这是间歇性的,即使系统当前登录正常,也是从每台 PC 上的提升命令提示符运行以下命令:echo 192.168.0.3 smb > c:\windows\system32\drivers\etc\lmhosts. 然后我重新启动,然后错误就消失了。
奇怪的是,它偶尔会假设我的服务器位于不同的 IP 地址。计算机有时认为 SMB 服务器192.168.0.1不是192.168.0.3. 我可以验证这一点,因为当我这样做时net use \\smb,我会得到一个Network name not found,但我可以 ping 它并获得正确的地址。当我执行 a 时new view \\smb,它会转到旧服务器(现在是 192.168.0.1,但从未有过此名称)。执行 anet view \\192.168.0.3将显示正确的服务器,然后让我一次登录到 Windows,直到重新启动。
我的问题是我需要弄清楚为什么会发生这种情况,所以我不需要触摸每台 PC。一旦一切加载完毕,这是一个快速修复,但并不理想。以下是我testparm在主域控制器上的命令输出:
Load smb config files from /etc/samba/smb.conf
rlimit_max: rlimit_max (1024) below minimum Windows limit (16384)
Processing section …Run Code Online (Sandbox Code Playgroud) 使用 Kerberos 配置文件...
Run Code Online (Sandbox Code Playgroud)[realms] DOMAIN.COM = { kdc = dc1.domain.com admin_server = dc1.domain.com }
... Linux 可以与 Active Directory 对话以进行密码验证,而不必是 AD 域成员:
Run Code Online (Sandbox Code Playgroud)$ kinit jdoe Password for jdoe@DOMAIN.COM: $ klist Ticket cache: FILE:/tmp/krb5cc_0 Default principal: jdoe@DOMAIN.COM Valid starting Expires Service principal 01/12/15 15:36:16 01/13/15 01:36:25 krbtgt/DOMAIN.COM@DOMAIN.COM renew until 01/19/15 15:36:16
此时,您可以使用 PAM 在 /etc/passwd 中定义本地 Linux 用户,但通过 Active Directory 对他们的 TTY 会话进行身份验证。通过 krb5 进行身份验证是作为每个登录上下文完成的:
Run Code Online (Sandbox Code Playgroud)auth sufficient pam_krb5.so use_first_pass
但是,如果 krb5 已经作为 PAM 全局默认值的一部分实现了,为什么 Samba 不也选择它呢?我看到 /etc/pam.d/samba 包含了 Kerberized password-auth 文件,但在访问 …
我在 Debian Jessie 上启动时启动 samba 时遇到问题。我不明白该怎么做,因为似乎samba故意使脚本包装器不起作用。
我尝试发出 aupdate-rc.d samba defaults但它不会修改系统配置以在启动时启动。
我最近在 Linux 上设置了一个 Samba 服务器,允许我在本地网络中的 Win10 PC 上访问该服务器上的文件。但我想知道我是否可以通过互联网访问这个共享驱动器,因为我在学校也使用 Win10 电脑。
我在我的部分设置了以下内容:
[global]
workgroup = workgroup
security = user
encrypt passwords = true
smb encrypt= required
Run Code Online (Sandbox Code Playgroud)
SMB 加密到底有多好?SMB 被认为对公共网络不安全,但自从 SMB3 以来,可以使用加密,我想知道这有多安全。
提前致谢。
我有一个用于开发环境的非常基本的 samba 共享。www:www 拥有一个目录/var/www/。所有子目录也归 www:www 所有。所有用户都是 www 组的成员。除了共享定义之外,整个 smb.conf 文件都是默认的。
[www]
path = /usr/share/nginx/www/
public = yes
writable = yes
create mask = 0775
Run Code Online (Sandbox Code Playgroud)
我可以从 Windows 看到目录结构,但所有目录都显示为空。此配置在 FreeBSD 中完美运行。有任何想法吗?
到办公室后,我运行了wireshark,并根据QUERY_PATH_INFO 请求,一遍又一遍地返回STATUS_OBJECT_NAME_NOT_FOUND。
我将 webroot 移回 /usr/share/nginx 的 nginx 默认值,无论出于何种原因,这都解决了浏览问题,但我的用户现在没有写入目录的权限。如果不是一回事那就是另一回事了。
我正在尝试设置成像环境。这个想法是使用 DISM 通过网络应用 WIM 图像(Windows 10 专业版)。
我能够启动到 Windows 10 PE。我通过 DHCP 进行网络连接。
当我尝试使用映射网络共享时,net use i: \\server\share我得到:
System error 58 has occurred.
The specified server cannot perform the requested operation.
Run Code Online (Sandbox Code Playgroud)
如果我尝试将它与系统用户的net use i: \\server\share /user:user password位置进行映射user,它会起作用。
该份额是完全公开的。我可以在其他 4 台 Windows 机器上映射没有凭据的共享。(2x Win7,2x Win8)。
服务器是运行 Samba 的 Ubuntu 14.04。4.3.9-Ubuntu。
我的/etc/samba/smb.conf看起来像这样:
[global]
workgroup = WORKGROUP
security = user
server string = Imaging Server
dns proxy = no
follow symlinks = yes
wide links = …Run Code Online (Sandbox Code Playgroud) 一点背景
我们有一个 Windows 2008 服务器,用户可以用它来存储各种数据。
它具有到特定文件夹的 smb 共享,需要通过 cifs 由多个 Ubunutu 服务器访问。
问题:
现在,如果客户端不访问它,Windows 2008 服务器上的 samba 共享将在几分钟(大约 10 分钟)后超时。(通常它每隔几个小时发生一次,当需要从共享中提取或保存导入或导出时)。需要明确的是 - 共享安装在 Ubuntu 客户端上并按预期工作,如果没有进程使用该连接,它会在几分钟后超时。
临时解决方案:我们设置 cron 任务,每 5 分钟触摸一次 Windows 共享上的文件以保持连接有效)。- 这没有帮助
最终设置了一个 sudo 用户mount -a每 5 分钟运行一次的 cron 任务。
我想找出原因并提出长期解决方案。
编辑:
每条评论:
我在 /etc/fstab 中的挂载命令(用大写替换敏感信息)
//SERVER.HOST.NAME/apidata /var/www/pai3/shared/data/production/k_drive/data cifs username=USER,password=PASS,iocharset=utf8,sec=ntlm,workgroup=DOMAIN.COM,rw,uid=1000 0 0
Run Code Online (Sandbox Code Playgroud)