配置与管理Samba服务器
前言
如果说谁最先搭起window和Linux沟通的桥梁,并且提供不同系统的共享服务,还能拥有强大的打印服务功能?那毋庸置疑就是samba服务。我们就不怎么详细介绍samba服务器的理论知识,直接开始进行实验
一、samba服务配置前奏
1.安装yum软件仓库
实验命令(yum软件仓库前面已经安装过,所以此处给出命令,各位自行安装)
1、挂载光盘镜像
mkdir /media/cdrom —创建光盘镜像挂载点
vim /etc/fstab —配置永久挂载文件,增加写入以下信息
/dev/cdrom /media/cdrom iso9660 defaults 0 0
mount -a —挂载
注:也可在添加镜像后只做临时挂载
mount /dev/cdrom /media/cdrom
2、配置本地yum仓库
vim /etc/yum.repos.d/rhel7.repo —创建配置文件,写入以下信息
[rhel]
name=rhel
baseurl=file:///media/cdrom
enable=1
gpgcheck=0
yum clean all —清空缓存
yum makecache — 生成缓存
3、安装samba
yum install samba -y ---安装samba
4、启动smb并加入开机自启
systemctl start smb
systemctl enable smb
二、samba服务之Windows与Linux间实现共享
1.创建(确定)共享目录并修改权限
mkdir /smb_dir
chmod -R 777 /smb_dir
2.编辑smb配置文件 /etc/samba/smb.conf
配置文件参数
#1.全局部分参数设置:
[global]
workgroup = SAMBA #工作组名称
server string = Samba Server Version %v #服务器介绍信息
log file = /var/log/samba/log.%m #定义日志文件存放位置和名称
max log size = 50 #定义日志文件最大容量
security = user #安全认证的方式,总共有四种(user,share,server,domain)
passdb backend=tdbsam //定义用户后台类型
load printers = yes #设置是否当Samba服务启动时共享打印机设备
cups options = raw #打印机的选项
#2.其他参数
[temp] #共享资源名称
comment = Temporary file space #对共享资源的解释
path = /tmp #实际的共享目录路径
writable = yes #设置为可写入
browseable = yes #指定共享是否在“上网邻居”可见
write list = root #设置该共享具有写入权限的用户,(可以为用户和用户组 @group)
valid users=zhangsan,lisi #设置允许访问共享的用户,zhangsan、lisi
vim /etc/samba/smb.conf --- samba服务器最主要的配置文件其实只有一个,就是/etc/samba/samba.conf,这个配置文件可以分为两个部分,一个部分是全局参数,一部分是共享资源相关参数。
[xxgc] #设置共享目录的共享名
comment = xin xi gong cheng #备注信息,添加对共享文件相关的信息
path = /smb_dir #共享目录路径
writable = yes #是否写入操作
3.重启smb服务
systemctl restart smb
4.创建tom用户,可以不设置密码
useradd tom
5.让tom同时作为smb用户,需要设置密码。
smbpasswd -a tom ##创建smb用户,必须是系统用户才能添加到smb用户,-a添加,-x删除用户
pdbedit -L ##通过执行“pdbedit -L”命令列表显示目前系统中已经存在的所有Samba用户
6.停止防火墙以及selinux
systemclt stop firewalld
setenforce 0 #临时停止selinux
7.通过Windows进行测试。
实验成功
二samba服务之Linux客户端和Linux服务端实现共享
Linux服务端配置(IP:172.25.1.38)
1.在/etc/samba/smb.conf修改配置文件,并使用匿名登录
(1)在 [global] 全局参数中添加 map to guest = bad user
[global]
workgroup = SAMBA
security = user
passdb backend = tdbsam
printing = cups
printcap name = cups
load printers = yes
cups options = raw
map to guest = bad user #在[global]节中加入map to guest = bad user,这个配置的意思是将所有samba系统主机所不能正确识别的用户都映射成guest用户,这样其他主机访问server的共享目录时就不再需要用户名和密码了。
(2)再到局部参数中添加 public = yes
[xxgc]
comment = xin xi gong cheng
path = /smb_dir
writable = yes
public = yes #允许匿名访问
- 防火墙允许samba通过,并停止selinux
firewall-cmd --add-service=samba #临时加入
firewall-cmd --add-service=samba --permanent #永久生效
setenforce 0
firewall-cmd --list-all #列出防火墙状态
Linux客户端(IP:172.25.1.38)
1.配置yum仓库
2.安装相应软件包
yum install samba-client cifs-utils -y
3.查看共享
smbclient -L 172.25.1.37
4.登录共享
smbclient //172.25.1.37/xxgc #注意添加共享名
5.将samba共享手动挂载到本地目录
mkdir /smb ---创建本地挂载点
mount -t cifs //172.25.1.37/xxgc /smb
mount -t cifs //172.25.1.48/xxgc /smb -o username=tom ---使用tom用户挂载共享
永久挂载 vim /etc/fstab
//172.25.1.37/xxgc /smb cifs defaults 0 0 #匿名
//172.25.1.37/xxgc /smb cifs defaults ,username=tom,password=*********
6.通过Linux客户端实验
[root@mylinux01 ~]# df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/rhel-root xfs 17G 3.2G 14G 19% /
devtmpfs devtmpfs 473M 0 473M 0% /dev
tmpfs tmpfs 489M 0 489M 0% /dev/shm
tmpfs tmpfs 489M 7.1M 482M 2% /run
tmpfs tmpfs 489M 0 489M 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 179M 836M 18% /boot
tmpfs tmpfs 98M 24K 98M 1% /run/user/0
/dev/sr0 iso9660 3.8G 3.8G 0 100% /run/media/root/RHEL-7.4 Server.x86_64
//172.25.1.37/xxgc cifs 17G 3.2G 14G 19% /smb
客户端 [root@mylinux01 smb]# mkdir 111
服务端[root@mylinux01 smb_dir]# ll
total 32
drwxr-xr-x. 2 nobody nobody 6 Oct 19 11:30 111
-rwxr--r--. 1 nobody nobody 28733 Oct 19 09:43 MySQL笔记.docx
[root@mylinux01 smb_dir]# ls
111 MySQL笔记.docx