samba :网络文件共享服务
Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写,即为服务器消息块,SMB主要是作为Microsoft的网络通讯协议,后来Samba将SMB通信协议应用到了Linux系统上,就形成了现在的Samba软件。后来微软又把 SMB 改名为 CIFS(Common Internet File System),即公共 Internet 文件系统,并且加入了许多新的功能,这样一来,使得Samba具有了更强大的功能。
简而言之: 可实现Linux与windows、Linux与Linux 之前的文件共享和打印共享
1.安装
查看当前系统是否安装了Samba
rpm -qa |grep samba
-a:查询所有已安装软件包;
-q:查询包是否安装。
(显示区别:已经安装的rpm包不会显示后缀.rpm ,而未安装的包则显示后缀.rpm)
系统选的最小安装minimal,没有安装samba
安装
yum -y install samba
设置防火墙策略(不要关闭防火墙)
1. 添加samba服务到防火墙策略中。
firewall-cmd—add-service samba—permanent
2. 关闭Selinux(否则会造成windows客户机连接samba失败)
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
或者
vim /etc/sysconfig/selinux
编辑selinux配置文件,永久关闭
…
SELINUX=enforcing
修改为
SELINUX=disabled
…
#setenforce 0临时关闭selinux,服务器重启失效
#getenforce 查看linux下是否开启了Selinux。
Enforcing(开启),Permissive(宽容模式),disabled(关闭)
3. 重启防火墙
#systemctl restart firewalld
或者firewall-cmd --reload
都可以
4. 查看samba服务是否添加到防火墙中
firewall-cmd --list-all|grep samba
5. 设置samba开机自启动
chkconfig smb on
注意:正在将请求转发到“systemctl enable smb.service”。
Created symlink from /etc/systemd/system/multi-user.target.wants/smb.service to /usr/lib/systemd/system/smb.service.
客户端无法访问服务器时,检查防火墙、selinux,重启防火墙。
创建用户、用户组
创建share_g 组: groupadd share_g
创建samba用户:
添加samba用户之前,必须先创建系统用户(useradd)。
-g 修改用户组id,组必须存在
-s shell类型“/sbin/nologin”不允许登录系统,
-M 不创建主目录
-G 将用户附加到其他组,仅与-a参数联合使用,表示追加一个附加组。
例如:创建share用户,并且所属组为 share_g,且不允许他们登录系统。
useradd -g shiyan_g -s /sbin/nologin -M shiyan
将用户share,追加到share_g 组里
usermod -G share_g -a share
设置samba登录账号密码
smbpasswd -a share
samba主配置文件
点击了解–> 超详细配置参数说明
满足日常需求配置如下: 以 share 举例
配置文件分为两部分:全局参数配置、共享参数配置
# vi /etc/samba/smb.conf
Global settings
[global] ## samba服务器的全局设置,对整个服务器有效。
workgroup = SAMBA ##设置Samba服务器所要加入的工作组或AD
security = user ##设定访问samba server的安全级别,user需要提供用户名和密码,而且身份验证由samba server负责
passdb backend = tdbsam
public = no
include = /etc/samba/user/子配置文件 当有子配置文件时,可添加
Share Definitions
#[homes]
##samba用户登录系统的家目录设置,会在连接共享网盘的目录下生成账户目录
##方便网盘管理,我会将home栏全部注释掉
#comment = Home Directories
#valid users = %S, %D%w%S
#browseable = No
#read only = No
#inherit acls = Yes
[printers]
设置了samba服务器中打印共享资源的属性,samba服务器除了可以提供文件共享,还可以提供打印共享。
#我司用不到打印,故注释掉了
[share]
comment = share ##方便辨识的备注,简介等
path= /home/smb/share/ ##共享文件夹的位置,绝对路径
public = no ##是否公开,否就要输入身份验证进入网盘
admin users =share-admin ##共享文件的管理者
valid users =share1,share2,@share_g ##添加允许访问该共享目录的用户、组 (直接写用户名或者 @组名)
writable =no ##除新建文件的用户外,其他有权限的用户是否可写
write list =@share_g ##writable=no时,添加允许的用户名单
## 其中 valid users 、 write list 是最重要的两项, 通过身份验证控制访问网盘
两种连接方式
①:文件资源管理器输入框:
② :“我的电脑” 邮右键 – “映射网络驱动器”
①
测试成功!!!