samba服务器搭建
1.简介
samba服务器,可以方便不同操作系统之间的资源共享,在局域网中安装samba服务器,可以实现windows和linux资源互通。
2.基础配置过程
-
修改防火墙设置:
# firewall-cmd --permanent --add-service=samba :允许增加samba服务 permanent:允许 # firewall-cmd --reload :重启防火墙
-
安装samba服务:
# yum install samba samba-client -y :安装服务器端,和客户端 # systemctl start smb nmb :启动服务 # systemctl status smb nmb :查看服务是否启动
-
建立需要共享的文件夹:
# mkdir /home/company
-
创建可以访问的账号:
# 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账号;
-
修改配置文件: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
-
测试配置文件(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 :关闭安全机制
-
win客户端验证:
输入: \\192.168.75.130\company 弹出窗口输入账号和密码,没有弹出就右键点登录
-
上传文件和下载文件测试:
put 文件名:上传文件 get 文件名:下载文件
不能下载,可能是文件本身没有上传的权限
给文件添加acl访问控制: # setfacl -m u:xzuser:rwx /home/company xzuser:用户名 rwx:用户对文件具有的权限 查看acl规则: # getfacl /homt/company
2.2限制用户访问
-
修改配置文件:vim /samba/smb.conf
[company] :共享名 comment=company share :注释说明 path=/home/company :共享文件路径 gues ok=no :不允许匿名访问 valid users=xzuser,xsuser :指定用户访问 write list=xzuser :指定用户有写入权限
-
重启服务:
systemctl restart smb
不能登录,记得添加ACL访问权限
2.3配置匿名用户访问
-
修改配置文件:vim /etc/samba/smb.conf
在原有的[global]中加入内容 [global] map to guset = Bad User 把[company]中的 [company] guest ok = yes 重启服务: # systemclt restart smb
-
匿名用户名:nobody
登录: # smbclient -U nobody //192.168.88.130/company 提示输入密码:直接回车就可以了
不能上传,下载,添加ACL访问权限
2.4限制组的访问
-
修改配置文件: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限制客户端访问
-
修改配置文件:vim /etc/samba/smb.conf
[company] host allow = 192.168.10.EXCEPT192.168.10.254 允许一个网段访问 hosts deny :拒绝访问
文件权限,限制用户,限制用户组,限制ip