samba服务器搭建

1.简介

samba服务器,可以方便不同操作系统之间的资源共享,在局域网中安装samba服务器,可以实现windows和linux资源互通。

2.基础配置过程

  1. 修改防火墙设置:
# firewall-cmd --permanent --add-service=samba :允许增加samba服务
permanent:允许
# firewall-cmd --reload :重启防火墙
  1. 安装samba服务:
# yum install samba samba-client -y   :安装服务器端,和客户端
# systemctl start smb nmb  :启动服务
# systemctl status smb nmb :查看服务是否启动
  1. 建立需要共享的文件夹:
# mkdir /home/company
  1. 创建可以访问的账号:
# useradd -s /sbin/nologin xzuser
# useradd -s /sbin/nologin gcuser
# useradd -s /sbin/nologin xsuser

/sbin/nologin :为用户的bash类型,/sbin/nologin:用户不能登录系统

添加为samba用户:
# smbpasswd -a xzuser --> 密码 123456
# smbpasswd -a gcuser --> 密码 123456
# smbpasswd -a xsuser --> 密码 123456

smbpasswd选项:-a添加smb账号;-x删除smb账号;-d禁用smb账号;-e启用smb账号;
  1. 修改配置文件:vim /samba/smb.conf
# vim /samba/smb.conf
修改前先备份文件
# cp smb.conf smb.conf.bak
在文件最后添加:
[company]	#共享名
	comment = company share	#注释说明
	path = /home/company	#共享文件路径
	browseable = yes		#允许所有人可见
	guest ok = no			#不允许匿名访问
	writeable = yes			#允许用户写入数据
	
修改文件后重启服务:重启服务失败,可能是配置文件错误
# systemctl restart smb nmb
  1. 测试配置文件(linux下):
# ifconfig 	:获取linux的ip地址
# cd /home/company/
# touch file.txt :建一个测试文件
  • 登录samba服务器
# smbclient -U zxuser //192.168.75.133/company
zxuser:用户名
192.168.75.133:samba服务器的ip(linuxIP地址)
compapany:共享文件的名称
  • 进入后输入命令:ls 或dir没有文件,可能死selinux安全机制没关闭
# setenforce 0 :关闭安全机制
  1. win客户端验证:
输入:
\\192.168.75.130\company
弹出窗口输入账号和密码,没有弹出就右键点登录
  1. 上传文件和下载文件测试:
put 文件名:上传文件
get 文件名:下载文件

不能下载,可能是文件本身没有上传的权限

给文件添加acl访问控制:
# setfacl -m u:xzuser:rwx /home/company
xzuser:用户名
rwx:用户对文件具有的权限
查看acl规则:
# getfacl /homt/company
2.2限制用户访问
  1. 修改配置文件:vim /samba/smb.conf
[company] :共享名
	comment=company share  :注释说明
	path=/home/company     :共享文件路径
	gues ok=no             :不允许匿名访问
	valid users=xzuser,xsuser :指定用户访问
	write list=xzuser         :指定用户有写入权限
  1. 重启服务:
systemctl restart smb

不能登录,记得添加ACL访问权限

2.3配置匿名用户访问
  1. 修改配置文件:vim /etc/samba/smb.conf
在原有的[global]中加入内容
[global]
	map to guset = Bad User
把[company]中的	
[company]
	guest ok = yes
	

重启服务:
# systemclt restart smb
  1. 匿名用户名:nobody
登录:
# smbclient -U nobody //192.168.88.130/company
提示输入密码:直接回车就可以了

不能上传,下载,添加ACL访问权限

2.4限制组的访问
  1. 修改配置文件:vim /etc/samba/smb.conf
[company]
	valid users = @samba,@groups
	write list = @samba
samba,groups:组名

把用户加入到组中:
gpasswd -a 用户名 组名

重启服务:systemctl restart smb

还有给文件设置组的ACL,或修改文件所属组

给文件设置组的ACL
# setfacl -m g:samba:rwx /home/company
# setfacl -m g:groups:rwx /home/company
2.5限制客户端访问
  1. 修改配置文件:vim /etc/samba/smb.conf
[company]
	host allow = 192.168.10.EXCEPT192.168.10.254 允许一个网段访问
	hosts deny :拒绝访问

文件权限,限制用户,限制用户组,限制ip