ubuntu 映射网络驱动器到本地
公司办公都是在ubuntu服务器上,所以每每拷贝修改文件都要ftp之类的,实在不方便。
索性将服务器挂载到自己本地目录下。
服务器端参考其他samba安装和配置。这里只是说下本地自动挂载方法。
一、首先本地要安装samba文件系统,以前是sambafs,现在改成了cifs-utils
安装命令行如下:
sudo apt-get install cifs-utils
二、安装完毕后,修改fstab配置文件。
sudo vi /etc/fstab
我的配置如下:
1 # /etc/fstab: static file system information. 2 # 3 # Use 'blkid' to print the universally unique identifier for a 4 # device; this may be used with UUID= as a more robust way to name devices 5 # that works even if disks are added and removed. See fstab(5). 6 # 7 # <file system> <mount point> <type> <options> <dump> <pass> 8 # / was on /dev/sda9 during installation 9 UUID=6aef3e79-e7bc-4da3-8844-68fd7b4069dd / ext4 errors=remount-ro 0 1 10 # /boot was on /dev/sda7 during installation 11 UUID=1bcf1be5-8bf9-4b78-a37d-eecc312249b2 /boot ext4 defaults 0 2 12 # /home was on /dev/sda10 during installation 13 UUID=44aa758f-fd97-448c-9445-6b1c071fdeee /home ext4 defaults 0 2 14 # /home/joseph/win_work/ was on /dev/sda5 during installation 15 UUID=B62C67A72C6760FB /home/joseph/win_work/ ntfs dmask=022,fmask=133,uid=1000,gid=1000 0 0 16 # swap was on /dev/sda8 during installation 17 UUID=93db6e5e-1fa9-4b49-8a62-bd0404d88118 none swap sw 0 0 18 19 #mount -t cifs -o username="共享用户",password="密码" //ip/sharing_folder /mountpoint 20 //192.168.1.95/“服务器samba设置的共享文件夹” /home/joseph/95 cifs username=“服务器对应的samba用户名”,password=服务器对应的samba密码,uid=”本地所属用户“,gid=“本地所属组",ro 0 0
这里值得注意的就是options项。
username: 服务器samba所设置的某个共享目录的用户名,若没有此项默认为root。
password: 服务器samba所设置的某个用户的密码。
uid: 指定此网络驱动器挂载后的所属用户。
gid: 指定此网络驱动器挂载后的所属组。
其中uid和gid的值可以从/etc/passwd中查看
joseph:x:1000:1000:joseph,,,:/home/joseph:/bin/bash
第一个1000即uid,第二个1000即gid.
或者执行: echo $UID $GID 来获取。
ro: 只读,可根据需要更换为rw(读写)
附服务器端配置:
1 [samba共享名字] 2 path = "共享的文件夹路径,比如/home/youname" 3 available = yes 4 browseable = yes 5 public = no 6 valid user = "用户" 7 writable = yes
上文fstab中的“服务器samba设置的共享文件夹”就是这里的:samba共享名字,比如名字是aaa,fstab中就应该这样写
//serverIP/aaa
username的值就是这里的valid user的具体用户,比如名字是bbb, fstab中就应该这样写
username=bbb
三、配置完毕后执行挂载命令。
sudo mount -a
如果没有报错,可以执行以下命令确认。
ls -ld <所挂载的路径>
附我的挂载情况:
┌─Path:~ └─>[10:03:17]joseph$ll 总用量 3.1G drwxr-xr-x 64 joseph joseph 4.0K 4月 21 10:03 . drwxr-xr-x 5 root root 4.0K 4月 11 06:11 .. drwxr-xr-x 28 joseph joseph 0 4月 18 12:49 91 drwxr-xr-x 38 joseph joseph 0 4月 17 13:23 93 drwxr-xr-x 32 joseph joseph 0 4月 21 09:46 95 drwxr-xr-x 2 joseph joseph 4.0K 3月 11 11:06 .aMule drwxr-x--- 2 joseph joseph 4.0K 2月 27 13:18 .android -rw-r--r-- 1 joseph joseph 309K 4月 12 18:13 asound.conf -rw-r--r-- 1 joseph joseph 6.3K 3月 21 18:45 background.png -rw------- 1 joseph joseph 101K 4月 21 09:16 .bash_history -rw-r--r-- 1 joseph joseph 220 2月 27 17:22 .bash_logout -rw-r--r-- 1 joseph joseph 4.1K 4月 14 15:13 .bashrc drwxr-xr-x 3 joseph joseph 4.0K 4月 14 15:38 bin drwx------ 36 joseph joseph 4.0K 4月 18 15:43 .cache
其中95,93,91就是网络驱动器所挂载的文件夹,
第一个joseph就是所属用户,第二个joseph是所属组。