/etc/fstab
我在 Ubuntu 服务器启动时安装 samba 共享 NAS 时使用了以下指令
//192.168.100.104/creativelab /home/pec/CreativeLab cifs credentials=/home/pec/.creativelabcredentials,vers=1.0,sec=ntlm,_netdev,iocharset=utf8,users 0 0
它曾经在 Ubuntu 16.04 上运行,但是当我将服务器升级到 18.04 时它就停止工作了。
我尝试更改几个选项vers=2.0
,例如vers=3.0
、、、sec=ntlmv2
删除sec=ntlmssp
、_netdev
删除users
以及它们的无限组合,但都无法解决问题。
如果我登录后数字,我就可以安装设备,而如果我尝试更改参数,sudo mount -a
我会收到错误,但我无法在启动时连接共享。vers
/etc/fstab
dmesg
返回有关 cifs 的以下几行
[ 24.637155] No dialect specified on mount. Default has changed to a more secure dialect, SMB2.1 or later (e.g. SMB3), from CIFS (SMB1). To use the less secure SMB1 dialect to access old servers which do not support SMB3 (or SMB2.1) specify vers=1.0 on mount.
[ 25.894015] e1000e: eno1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
[ 25.894054] IPv6: ADDRCONF(NETDEV_CHANGE): eno1: link becomes ready
[ 26.713777] CIFS VFS: Dialect not supported by server. Consider specifying vers=1.0 or vers=2.0 on mount for accessing older servers
[ 26.713791] CIFS VFS: cifs_mount failed w/return code = -95
似乎指令vers=1.0
被/etc/fstab
忽略了。
答案1
我遇到了类似的问题,由于该_netdev
选项对我的情况没有帮助,所以我想分享另一个非常简单的解决方案,这是我在对 _netdev 参数、Crontab 的 @reboot 参数、sleep 命令和文件 rc.local 进行大量徒劳无功的修改后才找到的):
应该有一个名为的文件夹:
/etc/network/if-up.d
您转储到那里的任何脚本都仅在网络链接建立后才会执行。
怎么运行的:只需添加一个带有常用选项的 fstab 条目(我也必须使用“vers=3.0”,但这是另一回事)。然后用该行编写一个简单的可执行脚本mount -a
并将其转储到上述目录中。
非常简单,并且对我来说非常有效,但它似乎并不是常识。