Samba服务
1.sambia服务简介
作用:
smb = Server Message Block Sum
cifs = Common Internet File System Miscrosoft
windows系统文件共享是甬道的协议smb
smb是由miscrosoft+sun
Linux cifs
2.samba基本信息
服务启动脚本: smb.service
主配置目录: /etc/samba/
主配置文件: /etc/samba/smb.conf
安全上下文: samb_share_t
端口: 139 445
安装包: samba samba-common.noarch samba-client.x86_64
服务主体 配置文件 客户端
3.samba的安装与启用
samba的安装:
dnf install samba samba-common.noarch samba-client.x86_64 -y
启用:
systemctl enable --now smb.service
火墙添加:
firewall-cmd --permanent --add-service=samba
smbclient -L //172.25.254.120
hostnamectl ##查看系统版本
4.samba中添加用户
smbpassqd -a westos #westos用户必须在smba服务器中真实存在,smb密码是独立的密码,与westos登陆密码无关
smbpasswd -a lee #当lee用户不存在时显示添加失败
vim /etc/hosts
172.25.254.120 westosa_storage.westos.org #添加本地解析,使访问更快
5.samba用户访问
pdbedit -L #查看smb用户
-x #删除smb用户
smbclient -L //172.25.254.120 -U westos #登录westos
smbclient //172.25.254.120/westos -U westos #//ip/共享文件夹 -U登录用户
Enter SAMBA\westos's password:
Try "help" to get a list of possible commands.
smb: \> ls
NT_STATUS_ACCESS_DENIED listing \* #selinux影响,smb用户不能访问自己的家目录,需要打开该权限 (在配置文件中有说明 27行)
6.samba服务共享目录
cd /etc/samba/
cp smb.conf.example smb.conf -p #用配置文件模板覆盖主配置文件
setsebool -P samba_enable_home_dirs on #调整selinux中的smb波尔直,使用户可以访问家目录
目录建立
mkdir westos_share
touch /westos_share/file{
1..3}
vim /etc/samba/smb.conf
[westos_share] #共享名称
comment = westos share #说明
path = /westos_share #制定共享的路径
systemctl restart smb.service #重启服务
smbclient -L /172.25.254.120 -U westos #查看显示共享成功
smbclient //172.25.254.120/westos_share -U westos #当查看文件时又出现selinux报错
查看配置文件30行提示:用户自己建立的目录如需通过smb共享,则需要指定安全上下文samba_share_t
semanage fcontext -a -t samba_share_t '/westos_share(/.*)?'
restorecon -RvvF /westos_share/
系统级目录
直接在配置文件中添加
[etc]
comment = 系统说明
path = /etc
smbclient -L /172.25.254.120 -U westos 查看显示共享成功
但当查看文件会出现不同的错误情况
查看配置文件根据44行提示设置
getsebool -a |grep samba
samba_export_all_ro --> off 设为on 时 selinux将不再对samba服务访问文件时的安全上下文进行限制
samba_export_all_rw --> off 写限制
setsebool -P samba_export_all_ro on 设置开启
7.samba的访问控制
全局访问控制: