Ubuntu挂载NAS网络驱动器

办公室内有共享文件服务器(NAS), 用户名为, 有密码保护. 如何通过linux (Ubuntu 20.04), 读写NAS上的文件

NAS的ip地址是10.168.1.136,映射在了\\nas地址.如果在windows上,直接在文件浏览器的地址栏中 输入\\nas就能访问,在只有命令行的Linux里就要麻烦一点

安装smbclientsamba

1
2
3
sudo apt update
sudo apt install smbclient
sudo apt install samba

列出\\nas地址下的文件夹

1
smbclient -L \\nas -U <username>

然后按提示输入账号对应的密码

1
2
3
4
5
6
7
8
9
10
11
12
Sharename       Type      Comment
--------- ---- -------
IT Disk
Public Disk
交易 Disk
市场 Disk
研究 Disk
程序交易 Disk
股东 Disk
运营 Disk
IPC$ IPC IPC Service ()
home Disk Home directory of <username>

看到nas里的各个文件夹

现在把 //nas/研究 文件夹映射到本地文件夹 /mnt/research, 这样我们就能通过访问 /mnt/research, 读写NAS里的文件.

1
sudo mount -t cifs -o username=<username>,password=<password>,vers=1.0 //nas/研究 /mnt/research

注意”vers=1.0”是一定需要的,否则会报错

我们选择了cifs的文件系统格式, 有可能会报这个错

1
mount: /mnt/research: bad option; for several filesystems (e.g. nfs, cifs) you might need a /sbin/mount.<type> helper program.

提示我们没有这个文件系统的程序, 所以安装

1
sudo apt-get install cifs-utils

确保/sbin/mount.cifs文件存在, 然后上面的mount命令就可以成功了.

1
2
3
4
5
6
7
8
9
10
cd /mnt/research
ls -l
total 0
d--------- 1 root root 0 12月 30 09:37 '#recycle'
drwxrwxrwx 1 1027 users 0 1月 11 10:07 ****
drwxrwxrwx 1 1027 users 0 7月 28 2020 ****
drwxrwxrwx 1 1027 users 0 6月 18 14:33 ****
drwxrwxrwx 1 1034 users 0 6月 10 09:40 ****
drwxrwxrwx 1 1027 users 0 5月 26 17:38 ****
drwxrwxrwx 1 1027 users 0 6月 11 17:21 ****

(文件夹名隐去)

开机自动挂在

sudo mount命令进行的nas挂载在关机后会失效,那么如何让每次开机时都自动挂载呢,编辑etc/fstab,这个文件就是用来做启动时的盘符挂载的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# /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/nvme0n1p2 during installation
UUID=3d76ffc4-8aab-465e-a717-a82fde2d9676 / ext4 errors=remount-ro 0 1
# /boot/efi was on /dev/nvme0n1p1 during installation
UUID=8E71-6417 /boot/efi vfat umask=0077 0 1
/swapfile none swap sw 0 0

# mount /mnt research
//10.168.1.136/研究 /mnt/research cifs username=yangruoqi,password=audureyhb,vers=1.0 0 2
//10.168.1.136/交易 /mnt/trade cifs username=yangruoqi,password=audureyhb,vers=1.0 0 2

忽略最上面的内容,也不要更改它们,其中一行是用来挂在物理盘到根目录/上的!在最下面添加若干行,每行对应一个nas地址的挂载设置。比如这里把IP地址10.168.1.136的nas里的“研究”分区挂在到Ubuntu的本地目录/mnt/research下,后面的参数和我们的mount命令大致相同。最后面一列的2指定在系统启动后,/etc/fstab里的挂载优先级(顺序),所以设置为2,低于我们的根目录/的1,那样nas盘会在根目录被绑定之后再绑定。