samba应用环境
1、文件和打印共享: 文件和打印机共享是 samba 的主要功能,服务器消息块(ServerMessagBlock,SMB)进程实现资源共享,将文件和打印机发布到网络,供用户访问
2、身份验证和权限设置: smbd 服务支持 user mode 和 domain mode 等身份验证和权限设置模式,通过加密方式可以保护共享的文件和打印机。
3、名称解析: samba 通过 nmbd 服务可以搭建网络基本输入/输出系统名称服务(NetBIOName Service,NBNS)服务器,提供名称解析,将计算机的 NetBIOS 名解析为IP 地址
4、浏览服务:在局域网中,samba 服务器可以成为本地主浏览器(Local Master BrowseLMB),保存可用资源列表,当使用客户端访间 Windows 网上邻居时,会提供浏览列表显示共享目录、打印机等资源。
安装并启动samba服务
使用rpm -qa grep samba 命令检测系统是否安装了 samba相关性软件包
[root@Server01 ~]# rpm -qa lgrep samba
(1)挂载 ISO安装映像文件。
[root@Server01 ~]# mount /dev/cdrom /media
(2)制作 yum 源文件/etc/yum.repos.d/dvd.repo
(3)使用 dnf 命令查看 samba 软件包的信息。
[root@Server01 ~]# dnf info samba
(4)使用 yum 命令安装 samba 服务
[root@Server01 ~]# dnf clean all //安装前先清除缓存
[root@Server01 ~]# dnf install samba -y
(5)所有软件包安装完毕,可以使用 rpm 命令再查询一次。
[root@Server01 ~]# rpm -qa | grep samba
(6)启动smb服务,设置开机启动该服务,重启停止smb服务
[root@Server01 ]# systemctl startsmb ; sysytemctl enable smbe
user 服务器实例解析
如果公司有多个部门,因工作需要,就必须分门别类地建立相应部门的目录。要求将销售部的资料存放在 samba 服务器的/companydata/sales/目录下集中管理,以便销售人员浏览并且该目录只允许销售部员工访问。需求分析:在/companydata/sales/目录中存放有销售部的重要数据,为了保证其他部门无查看其内容,需要将全局配置中的 security 设置为 user 安全级别。这样就启用了 samba 服务”的身份验证机制。然后在共享目录/companydata/sales 下设置 valid users 字段,配置只允许销部员工访问这个共享目录。
1.在 Server01上配置 samba 共享服务器(任务5-1 已安装 samba 服务组件)
(1)建立共享目录,并在其下建立测试文件。
[root@Server01 ~]#mkdir /companydata
[root@Server01 ~]# mkdir /companydata/sales
[root@Server01 ~]#touch /companydata/sales/test_share.tar
(2)添加销售部用户和组并添加相应的 samba 账号。
①使用 groupadd 命令添加 sales 组,然后分别执行 useradd 命令和 passwd 命令,以添加销售部员工的账号和密码。此处单独增加一个 test_user1 账号,不属于 sales 组,供测试用。
[root@Server01 ~]# groupadd sales #建立销售组 sales
[root@Server01 ]# useradd -g sales sale1 #建立用户 sale1,添加到 sales 组
[root@Server01 ~]# useradd -g sales sale2 #建立用户 sale2,添加到 sales 组
[root@Server01 ~]# useradd test_user1 #供测试用
[root@Server01 -]# passwd salel #设置用户 sale1 密码
[root@Server01 ~]# passwd sale2 #置用户 sale2 密码
[root@Server01 ~]# passwd test_user1 #设置用户 test userl密码
②为销售部成员添加相应 samba 账号。
[root@Server01 ~]# smbpasswd -a sale1
[root@Server01 ~]# smbpasswd -a sale2
(3)修改 samba 主配置文件: vim /etc/samba/smb.conf。直接在原文件未尾添加,但要注意将原文件的[global删除或用“#”标注,文件中不能有两个同名的[global]。当然也可直接在原来的[globa]上修改。
39 [global]
40 workgroup = Workgroup
41 server string = File Server
42 security = user
43 #设置 user 安全级别模式,取默认值
44 passdb backend = tdbsam
45 printing = cups
46 printcap name = cups
47 load printers = yes
48 cups options = raw
49[sales]
50 #设置共享目录的共享名为 salescomment=sales
51 comment=sales
52 path=/companydata/sales
53 #设置共享目录的绝对路径
54 writable = yes
55 browseable = yes
56 valid users = @sales
57 #设置可以访问的用户为 sales 组
2.设置本地权限、SELinux 和防火墙( Server01)
(1)设置共享目录的本地系统权限和属组。
[root@Server01 ~]# chmod 770 /companydata/sales -R
[root@Server01 -]# chown :sales /companydata/sales -R
-R 选项是递归用的,一定要加上。
(2)更改共享目录和用户家目录的 context 值,或者禁掉 SELinux。
[root@Server01 ~]# chcon -t samba_sharet /companydata/sales -R
[root@Server01 ~]# chcon -t samba sharet /home/sale1 -R
[root@Server01 ~]# chcon -t samba share_t /home/sale2 -R
或者:
[root@Server01 ~]# getenforce
[root@Server01 ~]# setenforce Permissive
或者:
[root@Server01 ~]# setenforce 0
(3)让防火墙放行,这一步很重要。
[root@Server01 ~]# firewall-cmd--permanent --add-service=samba
[root@Server01 ~]# firewall-cmd --reload//重新加载防火墙
[root@Server01 ~]# firewall-cmd --list-all
public (active)
.........
services: ssh dhcpv6-client samba //已经加入防火墙的允许服务
.........
(4)重新加载 samba 服务并设置开机时自动启动。
[root@Server01 ~]# systemctl restart smb
[root@Server01 ~]# systemctl enable smb