Samba服务器实战
Samba服务器实战
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。
主机拓扑
主机名 | os | ip | 内存 | 硬盘 |
---|---|---|---|---|
qianyios | Openeuler22.03LTS | 192.168.48.101 | 2G | 100G |
安装Samba
1 | dnf install -y samba |
Samba共享服务的匿名访问
配置文件
samba服务器最主要的配置文件其实只有一个,就是/etc/samba/samb.conf,这个配置文件可以分为两个部分,一个部分是全局参数,一部分是共享资源相关参数。
1 | vim /etc/samba/smb.conf |
先取消[homes]、[printers]的项目,添加[share]项目如下
1 | [global] |
创建共享路径,并给权限
1 | mkdir /abc |
文件夹地址栏输入\192.168.48.101\share,他会提示你输入用户和密码,用户名是nobody,密码不用输,然后就客户端就可以看见linux创建的测试文件
客户端创建文件夹,linux查看
Samba共享服务的用户身份验证
配置文件
1 | vim /etc/samba/smb.conf |
1 | [global] |
创建smb用户
1 | useradd qianyios |
列出smb用户列表
1 | pdbedit -L |
1 | #重启 |
用linux的smb客户端进行测试
1 | dnf install -y samba-client |
刚好根据前面的配置文件
1 | ##允许访问的用户 |
qianyios可创建文件qianyios1不可以创建,但是可以读取文件
windows客户的测试
由于之前做匿名测试连接
要在cmd清理网络驱动器缓存
1 | net use * /del |
在qianyios用户下可以创建文件夹
用qianyios1试一下
可查看文件但不能创建文件
Samba共享服务的账户名映射(账户别名登录)
配置映射文件和Samba配置文件
1 | cat > /etc/samba/smbusers <<"EOF" |
1 | vim /etc/samba/smb.conf |
重启服务
1 | systemctl restart smb.service |
windows客户端测试
cmd清理缓存
1 | net use * /del |
qyos可以登入
qyos1也可以登入
Samba共享服务的访问控制列表
禁止某个网段访问
hosts deny=192.168.48. ##添加拒绝192.168.48段访问share
或者如果你想允许除了192.168.48.0/24之外的所有主机访问:
hosts allow = ALL EXCEPT 192.168.48.
1 | vim /etc/samba/smb.conf |
1 | [share] |
1 | ##重启Samba服务 |
windows就不测试了用linux的smb客户端来测试一下
1 | smbclient //192.168.48.101/share -U qyos |
我们本机是192.168.48.101的,因为禁用了192.168.48.0/24的网段访问,所以都访问不了
将samba挂载到linux使用
记得取消的禁止访问哦
1 | #创建挂载点 |
已挂载成功
难免会有出错的地方
如果细心的你发现了小失误,可以在下方评论区告诉我,或者私信我!
非常感谢大家的热烈支持!