一、安装相关软件

[root@mail ~]#  yum install samba samba-client -y  #安装相关软件

二、配置匿名访问

[root@mail ~]# cd /etc/samba/
[root@mail samba]# cp smb.conf smb.conf-bak #备份配置文件
[root@mail samba]# vim smb.conf
[global]   #全局配置                                                 
   workgroup = LinuxSir  #就是Windows中显示的工作组
   netbios name = LinuxSir05   #就是在Windows中显示出来的计算机名
   server string = Linux Samba Server TestServer  #就是Samba服务器说明,可以自己来定义;这个不是什么重要的;
   security = share     #这是验证和登录方式,这里我们用了share
[public] #共享名称 
path = /mnt/public #共享的目录 
writeable = yes #是否有写权限 
browseable = yes #是否可以被浏览 
guest ok = yes #匿名用户是否可以访问 
[root@mail samba]# mkdir /mnt/public 
[root@mail samba]# chown nobody:nobody -R /mnt/public/ #匿名访问的用户都是nobody权限,所以共享目录需要授权 
[root@mail samba]# testparm   #检查Samba 配置文件是否有语法错误
[root@mail samba]# /etc/init.d/smb start

注意事项:

如果使用的版本为Samba4,那么samba4较之前的SAMBA 3有一个重大的变化是:security不再支持share,参数需要做调整,否则会有警告,服务无法启动

查看版本信息:

smbd -V

告警消息:

Load smb config files from /etc/samba/smb.conf
WARNING: Ignoring invalid value 'share' for parameter 'security'
Error loading services.

修改步骤:

security=share
现在:  #在global中添加
security=user
map to guest =Bad User

三、使用windows访问,测试

1.在文件夹或Ctrl+R中输入Samba服务器地址并回车(192.168.1.100是我Samba服务器地址)

Centos6搭建Samba服务并使用Windows挂载_配置文件

Centos6搭建Samba服务并使用Windows挂载_Windows_02

如果使用windows10,可能出现如下报错:

Centos6搭建Samba服务并使用Windows挂载_Windows_03

解决方法:http://www.xitongcheng.com/jiaocheng/win10_article_38440.html

可以看到有个public目录

Centos6搭建Samba服务并使用Windows挂载_配置文件_04

 

 我们再尝试添加删除文件

Centos6搭建Samba服务并使用Windows挂载_服务器_05

Centos6搭建Samba服务并使用Windows挂载_服务器_06

Centos6搭建Samba服务并使用Windows挂载_Windows_07

没有问题,匿名访问配置成功

 

四、配置用户认证访问

1.修改配置文件,添加如下字段

[root@mail samba]# vim smb.conf
....
[test_dir]
   path = /mnt/test_dir
   writeable = yes  
   browseable = yes
   security = user #配置需要认证才能登陆
   valid users = test  #指定哪些有效用户可以访问,如果有多个可以指定组,使用@+groupname即可
   passdb backend = smbpasswd  #使用Samba自己的smbpasswd工具来给系统用户设置Samba密码
   #smb passwd file = /etc/samba/smbpasswd  #定义Samba用户的密码文件,Samba3.5.6后已经取消该配置,无需配置了

2.添加用户、目录并授权

[root@mail samba]# useradd test #创建一个系统用户,由于不要登录,不需要创建密码
[root@mail samba]# smbpasswd -a test  #创建Samba密码
New SMB password:
Retype new SMB password:
Added user test.
[root@mail samba]# mkdir /mnt/test_dir  #创建共享目录
[root@mail samba]# chown test:test -R /mnt/test_dir  #赋权

3.重启服务

[root@mail samba]# /etc/init.d/smb restart
关闭 SMB 服务:                                            [确定]
启动 SMB 服务:                                            [确定]

4.再次使用Windows进行访问测试

Centos6搭建Samba服务并使用Windows挂载_Windows_08

可以看到出现了两个目录,新的目录就是刚刚配置的test_dir,我们点击test_dir目录

Centos6搭建Samba服务并使用Windows挂载_服务器_09

 

 输入我们刚刚添加用户的账号和密码,按需选择是否记住我的凭据(如果选择,以后会直接登录不会再要求填写账号密码,缺点是当Samba服务器账号密码变动时会报错,需要进行其他设置,见最后)

Centos6搭建Samba服务并使用Windows挂载_配置文件_10

登录成功,在试试添加和删除文件

Centos6搭建Samba服务并使用Windows挂载_服务器_11

到此,用户认证配置完成

 

五、Windows下如何清除samba用户的登录状态

1.登录Windows命令行

Centos6搭建Samba服务并使用Windows挂载_配置文件_12

执行net use命令查看当前正在使用的网络连接

Centos6搭建Samba服务并使用Windows挂载_Windows_13

删除我们想要删除的网络连接

Centos6搭建Samba服务并使用Windows挂载_Windows_14

 

 

"一劳永逸" 的话,有是有的,而 "一劳永逸" 的事却极少