公司办公都是在ubuntu服务器上,所以每每拷贝修改文件都要ftp之类的,实在不方便。

索性将服务器挂载到自己本地目录下。

服务器端参考其他samba安装和配置。这里只是说下本地自动挂载方法。

一、首先本地要安装samba文件系统,以前是sambafs,现在改成了cifs-utils

安装命令行如下:

  sudo apt-get install cifs-utils

二、安装完毕后,修改fstab配置文件。

  sudo vi /etc/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().
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda9 during installation
UUID=6aef3e79-e7bc-4da3--68fd7b4069dd / ext4 errors=remount-ro
# /boot was on /dev/sda7 during installation
UUID=1bcf1be5-8bf9-4b78-a37d-eecc312249b2 /boot ext4 defaults
# /home was on /dev/sda10 during installation
UUID=44aa758f-fd97-448c--6b1c071fdeee /home ext4 defaults
# /home/joseph/win_work/ was on /dev/sda5 during installation
UUID=B62C67A72C6760FB /home/joseph/win_work/ ntfs dmask=022,fmask=133,uid=1000,gid=1000
# swap was on /dev/sda8 during installation
UUID=93db6e5e-1fa9-4b49-8a62-bd0404d88118 none swap sw #mount -t cifs -o username="共享用户",password="密码" //ip/sharing_folder /mountpoint
//192.168.1.95/“服务器samba设置的共享文件夹” /home/joseph/95 cifs username=“服务器对应的samba用户名”,password=服务器对应的samba密码,uid=”本地所属用户“,gid=“本地所属组",ro 0 0

/etc/fstab

这里值得注意的就是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(读写)

附服务器端配置:

 [samba共享名字]
path = "共享的文件夹路径,比如/home/youname"
available = yes
browseable = yes
public = no
valid user = "用户"
writable = yes

/etc/samba/smb.conf

上文fstab中的“服务器samba设置的共享文件夹”就是这里的:samba共享名字,比如名字是aaa,fstab中就应该这样写

  //serverIP/aaa  

username的值就是这里的valid user的具体用户,比如名字是bbb, fstab中就应该这样写

  username=bbb

三、配置完毕后执行挂载命令。

  sudo mount -a

  如果没有报错,可以执行以下命令确认。

  ls -ld  <所挂载的路径>

  附我的挂载情况:

┌─Path:~
└─>[::]joseph$ll
总用量 .1G
drwxr-xr-x joseph joseph .0K 4月 : .
drwxr-xr-x root root .0K 4月 : ..
drwxr-xr-x joseph joseph 4月 :
drwxr-xr-x joseph joseph 4月 :
drwxr-xr-x joseph joseph 4月 :
drwxr-xr-x joseph joseph .0K 3月 : .aMule
drwxr-x--- joseph joseph .0K 2月 : .android
-rw-r--r-- joseph joseph 309K 4月 : asound.conf
-rw-r--r-- joseph joseph .3K 3月 : background.png
-rw------- joseph joseph 101K 4月 : .bash_history
-rw-r--r-- joseph joseph 2月 : .bash_logout
-rw-r--r-- joseph joseph .1K 4月 : .bashrc
drwxr-xr-x joseph joseph .0K 4月 : bin
drwx------ joseph joseph .0K 4月 : .cache

ls -l

  其中95,93,91就是网络驱动器所挂载的文件夹,

  第一个joseph就是所属用户,第二个joseph是所属组。

05-08 07:58