Rate this post
之前做项目遇到过需要配置samba服务器以实现Linux和Windows文件共享,一路配置下来,也遇到了一些问题,不过解决了之后发现并不困难,接下来我将简单介绍一下配置过程。
Samba是著名的开源软件项目之一,是种自由软件,用来让UNIX系列的操作系统与微软Windows操作系统网络协定做连结。它在Linux/UNIX系统中实现了Windows系统的SMB/CIFS网络协议,从而使得跨平台的文件共享变得更加容易。在部署Windows、Linux/UNIX混合平台的企业环境时,选用Samba可以很好地解决不同系统之间的文件互访问题。
一、安装samba
首先在Linux上安装相对应的包:
apt-get -y installlibcups2sambasamba-commoncups
备份原有配置文件:
mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
新建配置文件:
nano /etc/samba/smb.conf
配置以下内容:
[global]
workgroup = WORKGROUP
serverstring = SambaServer %v
netbiosname = debian
security = user
mapto guest = baduser
dnsproxy = no
注意:这里的workgroup的值需要与windows客户端的用户组名称一直,如果不确定windows客户端的用户组名称是什么,可以在windows客户端上运行如下命令进行查看:
netconfigworkstation
启动samba服务,并启用开机启动:
systemctlstartsmbd
systemctlenablesmbd
二、配置共享
接下来配置文件夹,可以让我们在Windows电脑上访问。
这里我们创建一个匿名共享anonymous和一个test账号的认证共享;
创建test用户:
useraddtest -m -G users
设置test用户密码:
passwdtest
将test用户加入Samba用户数据库:
smbpasswd -a test
创建anonymous目录:
mkdir -p /shares/anonymous
chown -R root:users
chmod -R 775 /shares/anonymous
创建test目录:
mkdir -p /shares/test
chown -R test:users
chmod -R 775 /shares/test
编辑smb.conf文件
[anonymous]
path = /shares/anonymous
forcegroup = users
createmask = 0660
directorymask = 0771
browsable =yes
writable = yes
guestok = yes
[test]
comment = testsharedir
path = /shares/test
public = yes
validusers = test
writable = yes
createmask = 0660
directorymask = 0775
保存后重启samba服务:
systemctlrestartsmbd.service
三、测试
到目前位置我们已经将samba服务器配置完成,接下来就是测试了。
使用windows客户端访问共享目录:打开我的电脑,在目录栏输入Linux的ip地址,就会出现共享的文件夹(anonymous和test)。
双击进入anonymous文件夹,自己创建一个文件比如txt文档,可以看到在Linux中也会出现了。
双击test文件夹,会发现让你输入密码,输入之前创建的密码就可以进入,依然可以自己创建一两个文件进行测试。