标签: smbclient

smbclient 可以访问 Windows 共享内容,mount.cifs 不能

我在 Windows 文件服务器上获得了一个帐户。(对我来说)非常奇怪的情况是

  • 我可以连接smbclient,更改到(深层)子目录或显示其内容
  • 我可以挂载共享(没有错误消息;挂载点在 中/proc/mounts)但我无法更改为相同的路径或列出其内容。我明白了No such file or directory

我对较低级别的子目录既没有“显示内容”也没有“更改为”权限。这不应该是一个问题,它不是为了smbclient.

Windows 管理员已授予我的用户额外权限,以便我现在可以查看要点的内容。现在我也可以通过挂载到达更深层次的子目录。

我们尚未确定要在当前配置中工作所需的最少 Windows 权限集。但是,无论如何,问题必须出在 Linux 端。

  • 如何smbclientmount.cifs访问 Windows 共享的方式有什么区别?
  • 怎样才能mount.cifs表现得像smbclient

结论

我让 Windows 管理员重置了共享权限,以便我可以测试答案中的建议。不幸的是,问题消失了。和以前一样,我看不到共享的内容,但现在挂载可以访问深层子目录。很奇怪。

评论@intika:我打算为你的回答提供额外的赏金,但在我这样做的时候你出于某种原因删除了你的回答......

对评论和答案的回应

视窗服务器

服务器 2016,SMB 3.1.1

桑巴版

4.5.16;不是域的成员

使用的命令

  • /etc/fstab//fs-p01.dnsdomain/Data /data cifs credentials=/root/fs-p01.credentials 0 0
  • smbclient //fs-p01.dnsdomain/Data -U username -W windowsdomain

我只是意识到windowsdomainsmbclient命令中是不完整的。可能不相关,因为这有效。它只是name代替name.local. 但是,这是命令之间配置的差异。不幸的是,我无法检查是否mount可以使用错误的域,因为我无法将 Windows 服务器上的权限更改回其原始设置。我必须等待 Windows …

mount smb smbclient

5
推荐指数
1
解决办法
3693
查看次数

服务中没有足够的“\”字符

Arch Linux Wiki 条目中收集,我认为是从我的 Arch Linux 4.20.6 通过 SMB 访问 Windows 共享驱动器的最小设置:

  • sudo pacman -Sy samba
  • sudo echo "logging = systemd" >> /etc/samba/smb.conf因为smb服务需要这个配置文件,否则它会因错误而崩溃:

    Job for smb.service failed because the control process exited with error code.
    See "systemctl status smb.service" and "journalctl -xe" for details.
    
    Run Code Online (Sandbox Code Playgroud)
  • sudo systemctl start smb

假设远程 Windows 机器在172.16.17.52,我可以列出共享名称

smbclient -L 172.16.17.52 -U MyUserName%MyPassword -W OurWindowsDomain
Run Code Online (Sandbox Code Playgroud)

其中有一个“磁盘”类型的服务OurRemoteDirectory,我想访问它的共享名,即从它传输文件和向它传输文件。

希望能够OurRemoteDirectory在共享驱动器上访问,我发出

smbclient 172.16.17.52/OurRemoteDirectory -U MyUserName%MyPassword -W OurWindowsDomain
Run Code Online (Sandbox Code Playgroud)

但这产生了此错误消息:

Unable to …
Run Code Online (Sandbox Code Playgroud)

smbclient

4
推荐指数
1
解决办法
1万
查看次数

Smbclient 协议协商失败

我正在尝试使用 samba 传输文件。我启动了一个 smbserver,但无法连接到它。

命令:smbclient -L //ip地址/temp

错误:“协议协商失败:NT_STATUS_NOT_SUPPORTED”

kali-linux smbclient

4
推荐指数
1
解决办法
6242
查看次数

在 smbclient mkdir 中使用空格

我正在尝试在 bash 脚本中使用 smbclient 在远程 Windows 服务器上创建一个目录。

虽然这有效:

smbclient -U "DOMAIN/$username" "//remoteserver/folder with spaces" --directory "Another folder with spaces/" -c "mkdir /newfolder/"
Run Code Online (Sandbox Code Playgroud)

这不会:

smbclient -U "DOMAIN/$username" "//remoteserver/folder with spaces" --directory "Another folder with spaces/" -c "mkdir /folder to create with spaces/"
Run Code Online (Sandbox Code Playgroud)

而是创建了一个简单地称为“文件夹”的文件夹。我尝试了许多变体,如下所示:

"mkdir /folder\ to\ create\ with\ spaces/"
"mkdir '/folder to create with spaces/'"
'mkdir '/folder to create with spaces/''
Run Code Online (Sandbox Code Playgroud)

但似乎无法找到神奇的组合。

shell-script smbclient

1
推荐指数
1
解决办法
4253
查看次数

标签 统计

smbclient ×4

kali-linux ×1

mount ×1

shell-script ×1

smb ×1