之前写了两篇在Linux下使用samba实现Linux访问Linux共享,之前一直使用类似
sudo mount -t cifs "//192.168.128.128/share" -o username=autumoon,password=1234567890,iocharset=utf8,vers=1.0 /home/autumoon/map
这样的终端命令实现共享,但是这个命令是临时挂载共享,重启电脑后失效。
那么有没有办法实现自动挂载samba共享呢,答案是肯定的,这篇文章《Ubuntu系统开机自动挂载共享》详细解释了过程。
主要方法为修改/etc目录下的fstab文件。
命令合集为:
cd /etc
sudo chmod 666 fstab
sudo pluma fstab
在最下方写入挂载命令,//服务器地址/共享目录 /本地目录 cifs defaults,username=用户,password=密码。
注意,其中本地路径必须存在,个人测试本地目录不需要设置权限。
例如我的fstab文件内容为:
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda1 during installation
UUID=c215f212-1a2a-4e89-83d0-b98a89215dea / ext4 errors=remount-ro 0 1
/swapfile none swap sw 0 0
//192.168.0.65/share /home/autumoon/map cifs defaults,username=greatwall,password=1234567890,iocharset=utf8,vers=1.0
其中最后一行为添加内容,iocharset为防止乱码而设置,至此整个共享过程结束,重启后系统自动挂载共享。
那么,这里额外记录一个共享方式,比如我想把Linux下的一个目录挂载到另一个目录,如何实现自动挂载共享呢?方法同样是修改fstab文件。
/home/autumoon/mount /home/autumoon/map none bind 0 0
此时将把/home/autumoon/mount目录自动挂载到/home/autumoon/map目录,其本质是使用了mount 的 --bind 命令,这个在特定情况下是非常有用的,谨此记录。