解决Module问题后,使用mount.cifs终于可以正常挂载samba磁盘了

接下来的问题是如何自动开机进行挂载,当然可以通过rc.local增加命令来实现目的,但很不规范,日后难以管理

按照规范来操作,则要把需要挂载的操作放进/etc/fstab中

在Ubuntu 18.04中,fstab已包含了一些地址的挂载信息

标准的一条挂载记录包括六部分,以空格或制表符分隔,包括

第一部分指向希望挂载的设备,比如/dev/sdb1或UUID这种格式

第二部分是希望设备挂载到的位置,比如第一条记录就挂载为根目录

第三部分是所挂载设备的文件系统格式,比如常用的ext*、一会要用到的cifs等,当对格式

第四部分是一些参数选项的设定,这里对常见选项介绍一下

auto/noauto 是否启动或mount -a时自动挂载,要注意的是光驱在装有介质时才可以挂载,光驱应为noauto
exec/noexec 挂载后是否拥有执行权限
rw/ro 以读写或只读挂载
user/nouser 允许/禁止任意用户进行挂载,nouser时只有root可以进行挂载
owner 允许设备所有者挂载
async/sync 异步/同步
dev/nodev 是否解析文件系统上的块特殊设备
suid/nosuid 是否允许 suid 操作和设定 sgid 位。这一参数通常用于一些特殊任务,使一般用户运行程序时临时提升权限
noatime 不更新文件系统上 inode 访问记录,可以提升性能
nodiratime 不更新文件系统上的目录 inode 访问记录,可以提升性能
relatime 实时更新 inode access 记录。只有在记录中的访问时间早于当前访问才会被更新。(与 noatime 相似,但不会打断如 mutt 或其它程序探测文件在上次访问后是否被修改的进程。),可以提升性能
flush vfat的选项,更频繁的刷新数据,复制对话框或进度条在全部数据都写入后才消失
defaults 使用文件系统的默认挂载参数,例如ext4的默认参数为rw、suid、dev、exec、auto、nouser、async

第五部分是是否通过 dump 命令备份,0 表示忽略,1则进行备份。大部分的用户没有安装 dump 应设为 0。

第六部分是是否在开机的过程中通过fsck检验系统完整,0为不检查,1为最早检查,其他数字按增序依此检查。

回到我们挂载samba的主题,当希望把位于\\192.168.3.1\smb的sam把目录挂载到/samba目录时,可以在fstab下增加如下命令

注意:第一部分不能以/结尾

你可能会注意到第四部分使用了上表中不存在的选项,接下来简单解释一下这几个选项

vers=1.0

这里指定了一个旧版协议,取决于samba服务器的协议版本,当与服务器断版本不一致时,有可能出现挂载不稳定、死机和掉线等问题,可酌情尝试2.0等其他版本。

iocharset=cp936

指定编码为cp936,这里是应对中文的一种编码,可以理解为GBK编码,可以指定为其他编码,但要求在/lib/modules/4.*/kernel/fs/nls下有同名的模块文件。

guest

设定为共享的网络地址,挂载是不会再要求用户名和密码,需要用户密码的可以通过选项username=user,password=pwd或credentials=/userpwd.file来指定

uid=root,gid=root

这里制定挂载的用户root,用户组为root组,需要注意文件权限,否则会出现 I/O 错误

 

完成后重启或mount -a执行查看挂载效果

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注