配置与管理samba服务器
1,作用:可以使用户在异构网络操作系统之间进行文件系统共享
2,**SMB协议:**主要是作为Microsoft网络的通讯协议;一般端口使用为139,445。
3,功能:1,文件和打印机共享。2,身份验证和权限设置。3,名称解析。4,浏览服务
4,工作原理
工作原理:
安装samba服务器
#安装准备工作 利用centos7的光盘映射文件[其实就是:通过镜像制作本地yum源]
1,#创建目录,并挂载
[root@localhost ~]# mkdir /mnt/iso
[root@localhost ~]# mount -o loop /root/CentOS-7-x86_64-DVD-2003.iso /mnt/iso/
mount: /dev/loop0 is write-protected, mounting read-only
2,#制作yum源文件/etc/yum.repos.d/iso.repo
[root@localhost ~]# vim /etc/yum.repos.d/iso.repo
[iso]
name=iso
baseurl=file:///mnt/iso
gpgcheck=0
enabled=1
#安装samba服务
检查是否安装相关的包 #若有则删(yum -y remove 包)
[root@localhost ~]# rpm -qa |grep samba
#安装samba;查看软件包详情
[root@localhost ~]# yum -y install samba
[root@localhost ~]# yum info samba
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
Installed Packages
Name : samba
Arch : x86_64
Version : 4.10.16
Release : 18.el7_9
Size : 2.2 M
Repo : installed
From repo : updates
Summary : Server and Client software to interoperate with Windows machines
URL : http://www.samba.org/
License : GPLv3+ and LGPLv3+
Description : Samba is the standard Windows interoperability suite of programs for Linux and
: Unix.
#查看samba包
[root@localhost ~]# rpm -qa |grep samba
samba-libs-4.10.16-18.el7_9.x86_64
samba-client-libs-4.10.16-18.el7_9.x86_64
samba-common-libs-4.10.16-18.el7_9.x86_64
samba-client-4.10.16-18.el7_9.x86_64
samba-common-4.10.16-18.el7_9.noarch
samba-4.10.16-18.el7_9.x86_64
samba-common-tools-4.10.16-18.el7_9.x86_64
#查看软件包的信息
[root@localhost ~]# yum -info samba
#samba服务的启动与停止
启动/停止/重启/重新加载/查看状态
systemctl start/stop/restart/relad/status smb.service
开机自启:systemctl list-unit-files |grep smb
配置samba服务器
2 全局变量#[global]:主要设置服务器的全局变量;格式“字段=设定值”
(1)workgtoup=<工作组群>
(2)server string=<说明> #设定samba的注释
(3)hosts allow=<IP地址>
(4)security=<等级>
#等级:
share:不用账号密码登录服务器访问资源
user:用账号密码登录服务器访问资源
server:要账号密码,用指定samba服务器登录
domain:要账号密码,用Windows域服务器验证
ads:当samba服务器用此等级登录Windows与服务器就具备它的功能,但samba服务器不具备有活动目录域控制器的功能
(5)password level=<位数>
(6)username level=<位数>
(7)encrypt passwords <yes/no> #设置是否对samba的密码加密
(8)map passwd file=<加密文件> #设定samba的密码文件,后面跟路径:例/etc/samba/smbpasswd
3 共享服务#主要配置文件/smb.conf
(1)comment:注释
(2)path:共享资源的完整路径名称
(3)browseable:设置浏览资源时是否显示共享目录 #yes/no
(4)public:设置是否允许匿名访问 ##yes/no
(5)read only:设置是否以可读方式访问共享资源 #yes/no
(6)wirable:设置共享目录是否允许用户写操作 #yes/no
(7)vaild users:设置允许指定的用户或组访问共享资源
(8)wirte list:设置允许写操作的用户或组
#samba访服务的日志文件在 /var/log/samba目录下
#samba服务密码文件在 /tec/samba/smbpasswd目录下
#samba服务密码文件
samba账号不能被直接被创建,必须存在对应的同名系统账号 #添加账号命令smbpassed
smbpasswd -a 用户名
useadd -> passwd -> smbpasswd -a
配置samba客户端
#linux操作系统中,smbclint命令和mount命令访问服务器
smbclient -L 目标IP地址或主机名 -U 登录用户%密码
mount -t cifs//目标IP地址/共享目录名 挂载点 -o username=用户名,password=密码
#wondows下测试samba服务器
(1)方法
->资源管理器->网络->192.168.88.169\public
(2)方法
->此电脑->映射网络驱动器->Z:->\\192.168.88.169\public
综合案例一
` #要求:构建一台资源共享服务器,实现局域网的文件共享服务,文件名WORKGROUP,共享目录/mnt/public,共享名public,允许所有人访问
思路:
#1,创建目录,并在新目录下创建测试文件(mkdir,touch)
#2,编辑samba主配置文件/etc/samba/smb.conf,根据格式书写全局变量和共享服务
#3,关闭虚拟主机的防火墙,关闭虚拟机和selinux防火墙
#4,通过Windows测试结果
1 #创建目录与测试文件
[root@localhost ~]# mkdir /mnt/public
[root@localhost ~]# touch /mnt/public/test1.txt
[root@localhost ~]# touch /mnt/public/test2.txt
2 #修改主配置文件/etc/samba/smb.conf文件
[global]
workgroup = WORKGOUP
security = user
server string = public Server
map to guest = Bad User
[public]
comment = Public
path = /mnt/public
public = yes
browseable = yes
guest ok =yes
3 #关闭主机的防火墙(samba)
关闭防火墙,selinux服务 #俩防火墙不一样
4 #在Windows下测试
(1)方法
->资源管理器->网络->192.168.88.169\public
(2)方法
->此电脑->映射网络驱动器->Z:->\\192.168.88.169\public
#Linux下测试
综合案例二
` #某公司需要构建一台资源共享服务器,为公司硬件部和软件部两个部门的计算机提供文件共享服务,客户端计算机采用用户隔离的方式访问服务器上的资源,实现Windows和Linux资源共享。要求硬件部的资料放在samba服务器(192.168.88.169)的/mnt/hareware目录中,软件部的资料放在samba服务器的/mnt/software目录中
思路:
#分别创建各部的共享目录和测试文件(mkdir,touch)
#为硬件部添加测试用户和用户组,并添加samba账号(groupadd,useradd -g,passwd,samba -a)
#软件部同上
#设置共享目录本地权限(chgrp,chmod)
#配置主配置文件(写入组的相关信息)
#关闭虚拟机和selinux的防火墙
#Windows测试结果
1 #创建目录和测试文件
[root@localhost ~]# mkdir /mnt/software
[root@localhost ~]# mkdir /mnt/hardware
[root@localhost ~]# cd /mnt/software/
[root@localhost software]# touch software1.txt software2.txt
[root@localhost software]# cd /mnt/hardware/
[root@localhost hardware]# touch hardware1.txt hardware2.txt
2 #硬件部 添加测试用户和用户组,并添加samba账号
[root@localhost hardware]# groupadd hardwares
[root@localhost hardware]# useradd -g hardwares hardware1
[root@localhost hardware]# useradd -g hardwares hardware2
[root@localhost hardware]# passwd hardware1
Changing password for user hardware1. #所有密码都是:123
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
[root@localhost hardware]# passwd hardware1 #系统密码
Changing password for user hardware1.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
[root@localhost hardware]# smbpasswd -a hardware1
New SMB password:
Retype new SMB password:
Added user hardware1.
[root@localhost hardware]# smbpasswd -a hardware2 #添加samba账号
New SMB password:
Retype new SMB password:
Added user hardware2.
3 #软件部
[root@localhost software]# groupadd softwares
[root@localhost software]# useradd -g softwares software1
[root@localhost software]# ls
software1.txt software2.txt
[root@localhost software]# useradd -g softwares software2
[root@localhost software]# passwd software1
Changing password for user software1.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
[root@localhost software]# passwd software1
Changing password for user software1.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
[root@localhost software]# smbpasswd -a software1
New SMB password:
Retype new SMB password:
Added user software1.
[root@localhost software]# smbpasswd -a software2
New SMB password:
Retype new SMB password:
Added user software2.
4 #设置共享目录的本地权限
[root@localhost ~]# chgrp hardwares /mnt/hardware
[root@localhost ~]# chgrp softwares /mnt/software
[root@localhost ~]# chmod 770 /mnt/hardware/
[root@localhost ~]# chmod 770 /mnt/software/
5 #修改主配置文件
[root@localhost ~]# vim /etc/samba/smb.conf
[global]
workgroup = WORKGROUP
security = user
server string =File Server
[hsrdwares]
comment = hardwares
path = /mnt/hardware
writable = yes
browseable = yes
vaild users = @hardware
[softwares]
comment = softwares
path = /mnt/software
writable = yes
browseable = yes
vaild users = @softwares
5 #重启,关闭虚拟机防火墙和selinux的防火墙
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0 #临时关闭
[root@localhost ~]# systemctl restart smb
6, #windows测试结果
win键+r --->输入ip --->输入账号和密码,查看就如下
补充:永久关闭输入命令vi /etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled,然后保存退出
火墙
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0 #临时关闭
[root@localhost ~]# systemctl restart smb
6, #windows测试结果
win键+r —>输入ip —>输入账号和密码,查看就如下
[外链图片转存中...(img-64uuNS0Q-1709043635499)]
补充:永久关闭输入命令vi /etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled,然后保存退出