Linux Samba 客户端访问
昨天把 Samba 服务器搞定了,现在已经开始用上了,之后,我把以前的移动硬盘插在了新买的华为荣耀路由器上面,启用了路由器的 Samba 服务,配置情况如下:
- IP: 192.168.3.13
- 用户名:username
- 密码:password
接下来,在我的 Elementary 上面,连接该服务,并将里面的文件同步到本机。
继续之前,需要先安装 smbclient 工具:
sudo apt-get install smbclient使用 smbclient 连接
smbclient 可以用于浏览 Samba 服务器上面的所有共享资源,也可以用于直接访问 Samba 服务器指定的共享资源。
浏览 Samba 服务器所有共享资源可以使用如下命令:
smbclient -L 192.168.3.13 -U username输入上面命令之后,终端会要求你输入该用户名的密码,如果想直接连同密码一起输入到命令行工具中,可以像下面这样:
smbclient -L 192.168.3.13 -U username%password终端输出如下结果:
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.0.37]
Sharename Type Comment
--------- ---- -------
Seagate_usb1_1 Disk
Seagate_usb1_2 Disk 如果要直接访问 Samba 服务器指定共享资源,可以使用下面这行命令:
smbclient //192.168.3.13/Seagate_usb1_2 -U username%password输出:
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.0.37]
smb: \> 在 smb 环境下,我们就可以对文件进行操作。
使用 mount 方式
使用 smbclient 访问,还是很麻烦,一般我们都会将资源挂载到本地计算机上面,这样使用起来就会方便得多:
mount -t cifs //192.168.3.13/Seagate_usb1_2 /home/pantao/CloudStorages/HonorRouter -o username=username%password如果要永久使用 Samba 服务器共享资源,可以将挂载信息写入到 /etc/fstab 文件中,在最后添加以下这行:
//192.168.3.13/Seagate_usb1_2 /home/pantao/CloudStorages/HonorRouter cifs defaults,username=username%password 0 0由于 /etc/fstab 文件的默认权限是 0644,也就是说所有用户都可以读取,如果你不希望其它用户看到你的 Samba 用户名与密码的话,那可在 /etc/samba/pwd.conf 文件中,添加以下内容:
username=username password=password然后在 /etc/fstab 中添加下面这行:
//192.168.3.13/Seagate_usb1_2 /home/pantao/CloudStorages/HonorRouter cifs defaults,credentials=/etc/samba/pwd.conf 0 0使用自动挂载
在 /etc/auto.master 文件中加入以下内容:
/home/pantao/CloudStorages/HonorRouter /etc/samba.misc--timeout=30 # timeout 值可以根据实际网络情况设置然后建立 /etc/samba.misc 文件,加入以下内容:
samba-fstype=cifs,username=username,password=password ://192.168.3.13/Seagate_usb1_2