我之前配置的挂载点有问题。它显示文件夹,但安装丢失并保存“?” 大小、权限等的值。
所以我尝试使用 cifs 和之前的相同命令重新挂载:
mount -t cifs //nas.domain.local/share /mnt/archive
Run Code Online (Sandbox Code Playgroud)
但我收到错误:
Host is down.
Run Code Online (Sandbox Code Playgroud)
如果我 ping 域或 IP,我会得到正确的解析,并且我也使用 smbclient 进行连接,没有问题
ping nas.domain.local
ping ip
smbclient //nas.domain.local/share
Run Code Online (Sandbox Code Playgroud)
我环顾四周,但找不到可靠的答案。有什么想法吗?
有什么方法可以将远程 CIFS/SMB/SAMBA 共享挂载为文件夹/目录而不是驱动器号。例如,我想要这张地图:
\\Server\ShareName -> C:\Folder\ShareName
而不是像这样的通常地图:
\\服务器\共享名称 -> Z:\
服务器是 Linux/Samba,客户端是 Windows 7 Professional 64 位。我发现的最接近的是能够使用 Windows 磁盘管理器将本地卷安装为子文件夹,但它似乎无法处理远程 CIFS 共享(请参阅http://support.microsoft.com/kb/307889) .
如果我想在两台防火墙计算机之间允许 Windows 网络驱动器,我需要打开端口 137-139,还是端口 445 就足够了?我必须提交一个表单并获得批准才能打开防火墙端口,而且我不想要求比我需要的更多的开放端口。这里所有的机器都是 Windows XP 或更高版本。
注意:当我说“Windows 网络驱动器”时,我不完全确定我指的是 SMB 还是 CIFS,而且我也不完全清楚这两种协议之间的区别。
在 Windows 2008 R2 服务器(标准版)上,我需要安装一个网络驱动器,而无需特定用户先登录机器。有点像Unix 机器上的NFSmount via fstab。网络驱动器将通过 BlackArmor(希捷)设备(我认为它运行 Samba)共享。如果需要,设备可以是域的成员。
到目前为止,我已经尝试使用Edit Group Policy-> Configuration-> Windows-> Scripts->Startup我让它执行的地方
net use x: \\server\share /user:username password
Run Code Online (Sandbox Code Playgroud)
没有成功。登录后,网络驱动器在 Windows 资源管理器上被视为断开连接的网络驱动器。
我有一个小型本地网络,其中有一个 Gentoo 框和一个 Windows 框。我使用以下命令将源自 Windows 框的共享安装到 Gentoo 框上:
mount -t cifs -o username=WindowsUsername,password=thepassword,uid=pistos //192.168.0.103/Users /mnt/windowsbox
大多数时候,一切正常,我可以毫无问题地读写。然而,每隔几周左右,连接或挂载点似乎就会停止或挂起,这样任何尝试访问挂载点的进程都会陷入 D 状态(磁盘或 I/O 等待)。这些进程不受 TERM 和 KILL 信号的影响。从网络断开和重新连接 Windows 框无济于事。冻结状态持续 5 分钟以上。这真的很令人沮丧并且妨碍了正常工作,因为它冻结了“另存为”对话框、ls命令等。如果我umount在挂载点上发出 a ,它要么也挂起,要么报告挂载点正在使用中。最终,死状态自行解决,挂载点被卸载,或者可以立即卸载umount。
我的猜测是,当连接/挂载空闲时或 Windows 机器空闲时会发生这种情况。我不太确定。
为什么会发生这种情况,我可以做些什么来防止它?或者我怎样才能成功地随意杀死这些 D 状态进程?
我正在维护一个 mac 和 linux 的异构网络,所以我决定创建一个小 perl 脚本来统一跨机器的安装策略。
linux 中的当前实现在 /etc/fstab 中工作正常:
//myserverhere.com/cifs_share /mnt/cifs_share cifs 用户,uid=65001,rw,workgroup=DEV,credentials=/root/.cifs 0 0
和 /root/.cifs 包含
username=ouruser
password=ourpassword
Run Code Online (Sandbox Code Playgroud)
我尝试将其转换为非 fstab 格式,如下所示:
mount.cifs //myserverhere.com/cifs_share /mnt/cifs_share user,uid=65001,rw,workgroup=DEV,credentials=/root/.cifs
Run Code Online (Sandbox Code Playgroud)
但它似乎不起作用。
有人可以指出我做错了什么吗?
提前致谢。
伊斯梅尔·卡辛潘 :)
我正在使用 Ubuntu 10.04 服务器。
服务器:RHEL 5.9 / smbd 3.0.33 - 客户端:各种,但都使用当前的 mount.cifs (5.2)
我已经解决了这个问题,但是追查这些错误代码真是一场噩梦,我觉得它需要通用文档。
症状:从一个特定的 cifs 客户端到 linux samba 服务器的不可预测的间歇性安装失败。我所有的 linux 客户端 pam_mount 用户都在登录时回家。随机地,偶尔地,家庭目录安装开始在一台机器上失败。登录和挂载继续在所有其他客户端上完美运行。最初我认为损坏的客户端上异常数量的活动导致 smbd 异常,但即使在使用停止后间歇性故障仍然存在。
尝试手动挂载失败并报告:
Errors from underlying mount program
mount error(12): Cannot allocate memory
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
Run Code Online (Sandbox Code Playgroud)
<debug enable="1"/>在 /etc/security/pam_mount.conf.xml 中设置以从 pam_mount 获取更多信息:
command: 'mount' '-t' 'cifs' '//my_server/watdo' '/home/watdo' '-o' 'user=watdo,uid=666,gid=666'
pam_mount(misc.c:38): set_myuid<pre>: (ruid/rgid=0/0, e=0/0)
pam_mount(misc.c:38): set_myuid<post>: (ruid/rgid=0/0, e=0/0)
pam_mount(mount.c:64): Errors from underlying mount program:
pam_mount(mount.c:68): mount error(12): Cannot allocate memory …Run Code Online (Sandbox Code Playgroud) 我想知道为什么我的 Ubuntu Server 14.04 LTS 在从 fstab 解析主机名时出现问题。我尝试挂载以下条目:
//NAS-5h2-20/backuppc/ /mnt/backuppc cifs auto,user=THEUSER,password=THEPASSWORD,cifsacl,uid=109 0 0
Run Code Online (Sandbox Code Playgroud)
安装失败并出现错误
mount: wrong fs type, bad option, bad superblock on //NAS-5h1-15/backuppc,
missing codepage or helper program, or other error
(for several filesystems (e.g. nfs, cifs) you might
need a /sbin/mount.<type> helper program)
In some cases useful info is found in syslog - try
dmesg | tail or so
Run Code Online (Sandbox Code Playgroud)
和系统日志条目:
Unable to determine destination address.
Run Code Online (Sandbox Code Playgroud)
但是,如果我将主机名NAS-5h2-20交换为其 IP 192.168.1.29,这就像一个魅力。但是,出于可移植性的原因,我想在 fstab 中按主机名映射挂载。
的内容的/ etc /主机 …
我在 XenServer (5.6 FP1) 上安装共享时遇到问题。从命令行我尝试:
mount.cifs //server/share /mnt/share -o credentials=credfile
Run Code Online (Sandbox Code Playgroud)
credfile 的内容是:
username=Administrator
password=What@zR\!p3s
Run Code Online (Sandbox Code Playgroud)
当我运行上面的挂载命令时,我得到“拒绝访问”。但是,如果我运行以下命令,它会起作用:
mount.cifs //server/share /mnt/share -o username=Administrator,password=What@zR\!p3s
Run Code Online (Sandbox Code Playgroud)
请注意“\”是为了逃避爆炸,我已经在凭据文件中尝试过使用和不使用它。有什么建议?