参考了很多文章,具体使用例子很多,遇到了中文乱码的问题,最终解决了。
不同的samba版本,配置区别不同,这里以新版4.3.11和旧版本3.2.0分别进行说明。
如果你使用的是较新的版本,则参照4.3.11进行配置即可,这篇文章主要讲新版本4.3.11或者以上版本的配置方法。
- 设置主机共享
安装samba
启动终端,输入
samba -V
检查系统是否已经安装samba.
如果已经安装,则提示版本号:
如果没有安装,则需要使用命令
sudo apt-get install samba
配置samba实现共享
启动终端,打开配置文件
sudo pluma /etc/samba/smb.conf
在[global]下添加
dos charset = UTF-8
unix charset = utf-8
display charset = utf-8
防止中文乱码的问题,如下图:
在最末尾添加
以共享/home/greatwall/Data为例:
[share]
comment=this is Linux share directory
path=/home/greatwall/Data
public=yes
browseable = yes
read only = no
如下图所示:
其中path=/home/greatwall/Data是需要共享的路径,客户机将通过共享的方式直接访问主机这个目录里的文件,可以按照需求更改为任意目录.
最上面的[share]是默认共享名称,如果存在冲突,可以按照需求更改,后续客户机访问的时候做相应的更改即可.
添加访问用户
samba的用户必须是Linux的用户,比如我的当前用户是greatwall
sudo smbpasswd -a greatwall
按照提示输入密码1234567890
密码与账户密码相同与否都可以,但不能过短,否则无法添加成功!
启动samba服务器
保存退出,启动Samba服务:
sudo /etc/init.d/samba start
记录主机ip
使用ifconfig命令,查看主机ip,客户机配置时需要用到
比如我的是 192.168.0.65
=====分割线=====
客户机:
将主机共享目录映射到本机
在本地新用户目录新建映射目录,主机目录将映射到本目录,比如/home/greatwall/map
在终端中输入:
sudo mount -t cifs "//192.168.0.65/share" -o username=greatwall,password=1234567890,iocharset=utf8,vers=1.0 /home/greatwall/map
其中
ip 地址为主机ip地址;
share为之前 samba的共享名称;
用户名和密码为之前samba的用户名和密码,比如我这里为greatwall和1234567890;
最后的/home/greatwall/map为本地用于映射的目录.
执行完成后如果没有出错,则说明访问正常,此时可以打开/home/greatwall/map,查看是否可以正常访问主机共享的文件.
注意,重启客户端的电脑后,需要再次执行上面的共享命令才可以访问主机共享