欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

samba服务部署

程序员文章站 2022-06-20 14:26:03
...

1.samba服务简介

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。

SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。

windows系统共享文件时用到的协议是smb
smb由miscrosoft+sun公司研发产生。

2.samba基本信息

服务启动脚本:smb.service
主配置目录:/etc/samba
主配置文件:/etc/samba/smb.conf
安全上下文:samba_share_t
端口:139、445
安装包:samba 、samba-common

3.samba的安装与启用

samba的安装:

dnf install samba samba-common samba-client -y

samba服务部署
samba的启动:

systemctl enable --now smb ##开启smb服务,并设置为开机启动
firewall-cmd --permanent --add-service=samba  ##火墙开启samba服务
firewall-cmd --reload ##刷新火墙

samba服务部署
测试:

smbclient -L //192.168.43.12    ##当要输入root密码时,直接回车

samba服务部署

4.samba用户的建立

1.samba用户必须是本地存在的用户
2.samba用户的建立:

smbpasswd -a haha ##添加smb用户
pdbedit -L ##查看用户列表
pdbedit -x haha ##删除haha用户
samba服务部署

5.samba 用户访问家目录

访问方法:
在windows下:

\\192.168.43.12  ##访问
net use ##查看访问记录
net use * /del ##删除访问记录

在linux下:

smbclient //192.168.43.12/westos -U haha

【注】:
当selinux开启时,默认访问不到分享主机的家目录文件,要想访问,需执行以下:

getsebool -a | grep samba ##查看selinux对于samba软件的内部开放情况
setsebool -P samba_enable_home_dir on ##开启家目录访问

samba服务部署

5.samba服务共享目录

mkdir /westosdir  ##建立目录
touch /westosdir/linux{1..5} #在westosdir目录下面建立文件
vim /etc/samba/smb.conf  ##编辑主配置文件

samba服务部署

systemctl restart smb #重启服务
semanage fcontext -a -t sma_share_t  '/westosdir(/.*)?'  ##修改安全上下文
restorecon -RvvF /westosdir/  ##刷新

samba服务部署
测试:

smbclient //192.168.43.12/westosdir -U westos

samba服务部署

7.samba的访问控制

host allow 192.168.43.11 ##只允许192.168.43.11可以
host deny 192.168.43.13##除192.168.43.13外,其他都能访问控制
【注】:当写在单独共享时只对此共享生效,当写在global时对samba整体生效。

8.samba常用配置参数

writable = yes ##可写
write list = westos ##指定用户可写
write list = +westos ##指定组可写
write aaa@qq.com
valid users = +lee | @lee ##指定访问组
browseable = yes | no ##是否隐藏共享
map to guest = bad user ##写到全局设定中
guest ok=yes ##允许匿名用户访问
admin users = lee ##指定共享的超级用户身份