Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。
yum list
yum install samba samba-client -y # 安装Samba
mkdir /common #创建共享目录,common为共享目录名,/为共享目录的位置,名字、位置随意
chcon -R -t samba_share_t /common/ #给共享目录打上samba标签
vim /etc/samba/smb.conf #编辑samba配置文件
在配置文件末尾追加如下内容
[common] #共享名称
common = Common Share #共享注释
path = /common #path项是配置
browseable = yes #设置所有人可见
guest ok = no #拒绝匿名访问
writable = yes #是否支持写入数据
write list = [用户名] #支持写入的用户,没有指定的用户这行就不要写了画蛇添足
以上配置项根据项目实际情况选写
useradd -s /sbin/nologin [用户名] #添加Samba用户
smbpasswd -a [用户名] #设置Samba用户密码
设置防火墙并重启服务设置开机自启
firewall-cmd --permanent --add-service=samba #允许Samba流量通过防火墙
firewall-cmd --permanent --add-service=mountd #允许mountd流量通过防火墙
firewall-cmd --reload #重新加载防火墙
systemctl restart smb nmb #重启samba服务
systemctl enable smb nmb #设置samba服务开机自启
yum install samba-client cifs-utils -y
smbclient -L //服务器IP -U samba用户
mkdir /share # / 为挂载文件夹位置,share为挂载文件夹名、
chmod 777 /share # 777 意为所有的用户对此文件夹具有读写执行权限,大家在做题过程中根据实际情况来进行配置
chcon -R -t samba_share_t /share #为/share文件夹打上samba标签
smbpasswd -a Joker #添加samba用户,此步教程前面涉及到了,此为省略一些步骤
vim /etc/samba/smb.conf #编辑samba配置文件,添加新的共享文件信息
配置内容:在该配置文件末尾添加如下内容:
[share] #共享名称
common = Common Share #共享注释
path = /share #path项是配置
browseable = yes #设置所有人可见
hosts allow = IP地址 #允许访问的地址
guest ok = no #拒匿名访问
writable = yes #是否支持写入数据
write list = [用户名] #支持写入的用户,没有指定的用户这行就不要写了画蛇添足
以上配置内容完全没有必要全写,大家根据实际情况选写
systemctl restart smb nmb #重启服务
smbclient -L //服务器IP -U samba用户
出现类似以下结果,则服务器端配置没问题
mkdir /mnt/share #创建挂载点
vim /etc/fstab #编写自动挂载文件
在该配置文末尾添加类似以下语句
//服务器IP/共享文件夹 /挂载文件夹 cifs defaults,multiuser,username=samba用户,password=samba用户密码,sec=ntlmssp 0 0
#multiuser 支持多用户认证
#sec=ntlmssp 认证方式为标准smb认证方式
修改完配置文件,执行以下操作
mount -a #挂载fstab里的所有设备
df -hT #查看挂载设备