我正在尝试使用/etc/fstab自动安装Samba共享,我不知道如何将bash命令转换成fstab所期望的格式。
我能够成功地运行下面的bash命令,并在挂载的共享中看到文件。
sudo mount -t cifs -o username=<user>,password=<password> //<samba-share-ipv4>/backup /home/eric/samba在/etc/fstab/文件中,我有以下行:
//<samba-share-ipv4>/backup /home/eric/samba cifs ro,username=<user>,password=<password>当我尝试然后运行sudo mount -a时,会得到以下错误:
mount: /home/eric/samba: cannot mount //<samba-share-ipv4>/backup read-only.
然而,我所需要的只是读取权限。我已经尝试将ro添加到上面的选项中,但是仍然会出现相同的错误。
发布于 2022-06-05 21:54:22
您的fstab规范不完整。
网上有很多资源,在您的本地文件系统(例如,参考man fstab)中,可以解释fstab条目的构造。其中一个更全面的“如何食谱”是这是戴夫·McKay写的。这是我找到的最详细的参考资料,但我得承认,我从来没有读过。
我试着用一种不那么详细的方式回答你的问题:
网络附加存储设备的fstab配置线由以下6个字段组成:
fs_spec:要安装的块存储设备或远程文件系统fs_file:fs_spec的本地文件系统中的挂载点fs_vfstype:文件系统的类型;例如ext4、smb/cifs等fs_mntops:以逗号分隔的、与文件系统相关的挂载选项fs_freq:控制转储(8)命令的个位数;smb/cifs的0fs_passno:控制fsck(8)的个位数;用于smb/cifs的0您当前的fstab配置如下:
fs_spec://<samba-share-ipv4>/backupfs_file:/home/eric/sambafs_vfstype:cifsfs_mntops:ro,username=<user>,password=<password>fs_mntops:ro,user=<user>,pass=<password>,nofail,vers=1.0fs_freq:0fs_passno:0其结果是:
//<samba-share-ipv4>/backup /home/eric/samba cifs ro,user=<user>,pass=<password>,nofail,vers=1.0 0 0fs_mntops的一个最难确定的元素是版本:我的建议中的vers=1.0。这似乎是依赖供应商的,而且往往过于挑剔。为什么?我猜想,这是由于软标准,供应商的smb/cifs协议的软件实现,也许您的主机?vers=1.0是最古老的,这可能使它成为一个最低的公共分母,但不一定。如果vers=1.0不工作,您将需要在您的设备上做一些研究。如果问题顽固不化,本简要概述可能会有所帮助。我的方法通常是使用第一个起作用的方法,按照这个顺序尝试它们:vers=1.0、vers=2.0、vers=3.0。
为了获得可能有用的线索,您可以尝试使用dmesg、var/log/syslog或journalctl --也许可以过滤smb服务器的主机名、IP等术语。
https://unix.stackexchange.com/questions/705075
复制相似问题