centos7.4 与WIN10配置samba服务器
Samba最大的功能就是可以用于Linux与windows系统直接的文件共享和打印共享,Samba既可以用于windows与Linux之间的文件共享,也可以用于Linux与Linux之间的资源共享,由于NFS(网络文件系统)可以很好的完成Linux与Linux之间的数据共享,因而 Samba较多的用在了Linux与windows之间的数据共享上面。
-
系统环境准备
关闭防火墙firewalld
关闭selinux
#systemctl stop firewalld.service //关闭防火墙
#systemctl disable firewalld.service //开机禁用防火墙
#vi /etc/selinux/config
改为SELINUX = disabled
2.yum安装sanba服务(自动装载依赖包)
#yum -y install samba
- 查看安装后情况
#rpm -qa | grep samba
- 进入samba文件
#cd /etc/samba
#cp smb.conf smb.conf.bak //备份一份smb配置文件
#vi smb.conf
- smb配置文件内容说明
security = user
说明:设置用户访问Samba Server的验证方式,一共有四种验证方式。
1. share:用户访问Samba Server不需要提供用户名和口令, 安全性能较低。
2. user:Samba Server共享目录只能被授权的用户访问,由Samba Server负责检查账号和密码的正确性。账号和密码要在本Samba Server中建立。
3. server:依靠其他Windows NT/2000或Samba Server来验证用户的账号和密码,是一种代理验证。此种安全模式下,系统管理员可以把所有的Windows用户和口令集中到一个NT系统上,使用 Windows NT进行Samba认证, 远程服务器可以自动认证全部用户和口令,如果认证失败,Samba将使用用户级安全模式作为替代的方式。
4. domain:域安全级别,使用主域控制器(PDC)来完成认证。
[共享名]
comment = 任意字符串
说明:comment是对该共享的描述,可以是任意字符串。
path = 共享目录路径
说 明:path用来指定共享目录的路径。
browseable = yes/no
说明:browseable用来指定该共享是否可以浏览。
writable = yes/no
说明:writable用来指定该共享路径是否可写。
available = yes/no
说明:available用来指定该共享资源是否可用。
admin users = 该共享的管理者
说明:admin users用来指定该共享的管理员(对该共享具有完全控制权限)。在samba 3.0中,如果用户验证方式设置成“security=share”时,此项无效。
例如:admin users =david,sandy(多个用户中间用逗号隔开)。
valid users = 允许访问该共享的用户
说明:valid users用来指定允许访问该共享资源的用户。
例如:valid users = david,@dave,@tech(多个用户或者组中间用逗号隔开,如果要加入一个组就用“@组名”表示。)
invalid users = 禁止访问该共享的用户
说明:invalid users用来指定不允许访问该共享资源的用户。
例如:invalid users = root,@bob(多个用户或者组中间用逗号隔开。)
write list = 允许写入该共享的用户
说明:write list用来指定可以在该共享下写入文件的用户。
例如:write list = david,@dave
public = yes/no
说明:public用来指定该共享是否允许guest账户访问。
guest ok = yes/no
说明:意义同“public”。
5.配置/etc/samba/smb.conf
#cd /etc/samba/
# cp smb.conf smb.conf.bak
# vim smb.conf
[global]
workgroup = workgroup
server string = Samba Server %v
netbios name = apenglinux-002
security = user
map to guest = bad user
dns proxy = no
[anonymous]
comment = This is a directory of anonymous.
path = /samba/anonymous
browseable = yes
writeable = yes
guest ok = yes
read only = no
- 创建共享目录,开启服务
# mkdir -p /samba/anonymous
# systemctl enable smb.service
# systemctl enable nmb.service
# systemctl start smb.service
# systemctl start nmb.service
- 设置共享目录的本地权限,用户,所属组
# cd /samba/
# chmod 777 anonymous/
# chown -R nobody:nobody anonymous/
此时WIN+R,输入\服务器IP 就能访问共享目录了
- 通过用户名密码来访问samba服务器
创建组和用户通过认证来访问samba服务器
# groupadd smbgrp
# useradd -s /sbin/nologin smbusr
# usermod -a smbusr -G smbgrp
# smbpasswd -a smbusr
- 创建共享目录,设置权限
# mkdir -p /samba/security
# chmod 777 /samba/security
# chown -R smbusr:smbgrp /samba/security/
- 修改配置文件
# vim /etc/samba/smb.conf
[security]
path = /samba/security
valid users = smbusr
guest ok = no
writeable = yes
browseable = yes
- 重启服务,测试服务
# systemctl restart smb.service
# systemctl restart nmb.service
]# testparm
在windows客户端访问 \服务器ip地址,选择目录
WIN10系统可能无法访问共享文件夹
解决办法:
1.勾选功能里的SMB协议
2. 在网络共享中心开启专用、来宾公用、所有网络的网络发现
3.管理员权限下进入cmd输入以下命令,重启win10即可
//管理员权限进入cmd
//开启SMBv1
sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi
sc.exe config mrxsmb10 start= auto
//关闭SMBv2 and SMBv3
sc.exe config lanmanworkstation depend= bowser/mrxsmb10/nsi
sc.exe config mrxsmb20 start= disabled
(需要重启win10)