Linux系统之部署Samba服务

  • 一、Samba服务介绍
    • 1.Samba服务简介
    • 2.NFS和CIFS简介
    • 3.Smaba服务相关包
    • 4.samba监听端口
    • 4.samba相关工具及命令
  • 二、环境规划介绍
    • 1.环境规划
    • 2.本次实践介绍
  • 三、Samba服务端配置
    • 1.检查yum仓库
    • 2.安装smaba相关软件包
    • 3.创建共享目录
    • 4.设置共享目录权限
    • 5.新建samba用户
    • 6.编辑samba主配置文件
    • 7.测试配置文件语法
    • 8.启动samba服务
    • 9.关闭防火墙或者selinux
  • 四、Samba客户端配置
    • 1.安装samba-client相关软件包
    • 2.检查Samba服务端共享目录
    • 3.创建samba认证用户文件smbur
    • 4.挂载共享目录
    • 5.查看客户端的文件系统
  • 五、Samba共享目录的权限测试
    • 1.检查alice用户的权限
    • 2.kitty和jeven用户的访问权限

一、Samba服务介绍

1.Samba服务简介

1.SMB 是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。
2.Samba是Linux与Linux或Windows之间实现文件共享及打印机等共享服务。
3.Samba 是在 Linux 和 UNIX 系统上实现 SMB 协议的一个免费软件,由服务器及客户端程序构成。

2.NFS和CIFS简介

  • NFS:网络文件系统,英文Network File System(NFS),是由SUN公司研制的UNIX表示层协议(presentation layer protocol),能使使用者访问网络上别处的文件就像在使用自己的计算机一样。

  • NFS 与 samba 一样,也是在网络中实现文件共享的一种实现,但不幸的是,其不支持 windows 平台,samba 是能够在任何支持 SMB 协议的主机之间共享文件的一种实现,当然也包括 windows。

  • CIFS:common internet file system,微软基于SMB发布。CIFS 用于在 Windows 操作系统上运行的远程操作,优先支持使用 Windows 操作系统的用户。

3.Smaba服务相关包

1.samba 提供smb服务
2.samba-client 客户端软件
3.samba-common 通用软件
4.cifs-utils smb客户端工具
5.samba-winbind 和AD相关

4.samba监听端口

TCP:139/445
UDP:137/138

4.samba相关工具及命令

主配置文件:/etc/samba/smb.conf
语法检查: testparm [-v] [/etc/samba/smb.conf]
客户端工具:smbclient,pdbedit -L(列出Samba用户列表,读取passdb.tdb数据库文件)

二、环境规划介绍

1.环境规划

本次环境规划如下:

hostname IP地址 操作系统版本 角色
jeven 192.168.3.166 centos7.6 客户端
server001 192.168.3.157 centos7.6 服务端

2.本次实践介绍

1.本次实践环境为个人测试环境,生产环境请谨慎使用;
2.Samba用户为三个(kitty,jeven,alice);
3.3个用户都可以浏览共享目录/share/;
4.kitty和jeven可以写入文件共享目录。

三、Samba服务端配置

1.检查yum仓库

检查yum仓库状态,确保epel已经安装,
没有安装的话,使用 yum install epel-release -y安装。

[root@server001 ~]# yum repolist all |grep enable
!base/7/x86_64                               CentOS-7 - Base     enabled: 10,072
!docker-ce-stable/7/x86_64                   Docker CE Stable -  enabled:    226
!epel/x86_64                                 Extra Packages for  enabled: 13,771
!extras/7/x86_64                             CentOS-7 - Extras   enabled:    515
!mysql-connectors-community/x86_64           MySQL Connectors Co enabled:    220
!mysql-tools-community/x86_64                MySQL Tools Communi enabled:     98
!mysql80-community/x86_64                    MySQL 8.0 Community enabled:    405
!remi-safe                                   Safe Remi's RPM rep enabled:  5,147
!updates/7/x86_64                            CentOS-7 - Updates  enabled:  4,886
!zabbix/x86_64                               Zabbix Official Rep enabled:    114
!zabbix-agent2-plugins/x86_64                Zabbix Official Rep enabled:      4
!zabbix-non-supported/x86_64                 Zabbix Official Rep enabled:      5

2.安装smaba相关软件包

安装 samba 和samba-client软件包

yum -y install samba samba-client

3.创建共享目录

创建samba共享目录/share

 mkdir  /share

4.设置共享目录权限

创建共享文件

[root@server001 ~]# cp /etc/passwd /etc/group /share
[root@server001 ~]# ls /share/
group  passwd

给共享目录设置777权限

 chmod -R 777 /share/

5.新建samba用户

新建三个samba用户,kitty、alice、jeven,其中kitty属于it组。

[root@server001 ~]# groupadd it
[root@server001 ~]# useradd -g it kitty
[root@server001 ~]# useradd alice
[root@server001 ~]# useradd jeven
[root@server001 ~]# smbpasswd -a kitty
New SMB password:
Retype new SMB password:
Added user kitty.
[root@server001 ~]# smbpasswd -a alice
New SMB password:
Retype new SMB password:
Added user alice.
[root@server001 ~]# smbpasswd -a jeven
New SMB password:
Retype new SMB password:
Added user jeven.
[root@server001 ~]# 

查看samba用户列表

[root@server001 ~]# pdbedit -L
kitty:1002:
jeven:1004:
alice:1003:

6.编辑samba主配置文件

先备份/etc/samba/smb.conf文件

 cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

在/etc/samba/smb.conf文件中,新增以下部分:


[share]path = /sharebrowseable = yeswrite list = @it,jevenhosts allow = 192.168.3.0/24

7.测试配置文件语法

测试配置文件语法,确保配置文件修改正确。

[root@server001 ~]#  testparm /etc/samba/smb.conf
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Server role: ROLE_STANDALONEPress enter to see a dump of your service definitions# Global parameters
[global]printcap name = cupssecurity = USERworkgroup = SAMBAidmap config * : backend = tdbcups options = raw[homes]browseable = Nocomment = Home Directoriesinherit acls = Yesread only = Novalid users = %S %D%w%S[printers]browseable = Nocomment = All Printerscreate mask = 0600path = /var/tmpprintable = Yes[print$]comment = Printer Driverscreate mask = 0664directory mask = 0775force group = @printadminpath = /var/lib/samba/driverswrite list = @printadmin root[share]hosts allow = 192.168.3.0/24path = /sharewrite list = @it jeven

8.启动samba服务

重启samba服务

systemctl enable --now smb
systemctl enable --now nmb

9.关闭防火墙或者selinux

可选择关闭防火墙或者开启防火墙,,放行samba服务

  • 关闭防火墙
systemctl stop firewalld  && systemctl disable  firewalld
  • 放行samba服务
 firewall-cmd --permanent --add-service=samba
firewall-cmd --reload
  • 关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0

四、Samba客户端配置

1.安装samba-client相关软件包

安装samba-client相关软件包

 yum -y install samba-client cifs-utils

2.检查Samba服务端共享目录

查看samba共享目录

smbclient -L //192.168.3.157 -U kitty%redhat
[root@jeven ~]# smbclient  //192.168.3.157/share   -U kitty
Enter SAMBA\kitty's password:
Try "help" to get a list of possible commands.
smb: \> ls.                                   D        0  Fri Apr 21 22:52:23 2023..                                  D        0  Fri Apr 21 22:47:05 2023passwd                              N     1296  Fri Apr 21 22:52:23 2023group                               N      638  Fri Apr 21 22:52:23 202352403200 blocks of size 1024. 33511324 blocks available
smb: \> 

3.创建samba认证用户文件smbur

创建samba认证用户文件smbur,使用alice作为认证用户。

 echo "username=alice" >> /etc/samba/smbur.txtecho "password=redhat" >> /etc/samba/smbur.txt

4.挂载共享目录

创建挂载目录

 mkdir -p /samba/share

在/etc/fstab文件中,永久挂载samba共享目录。

[root@jeven ~]# grep samba /etc/fstab
//192.168.3.157/share /samba/share cifs defaults,credentials=/etc/samba/smbur.txt,multiuser,sec=ntlmssp 0 0

挂载samba共享目录

mount -a

5.查看客户端的文件系统

查看samba客户端的文件系统,/samba/share目录已经成功挂载。

[root@jeven ~]# mount -a
[root@jeven ~]# df -hT
Filesystem              Type      Size  Used Avail Use% Mounted on
devtmpfs                devtmpfs  3.9G     0  3.9G   0% /dev
tmpfs                   tmpfs     3.9G   16K  3.9G   1% /dev/shm
tmpfs                   tmpfs     3.9G  163M  3.8G   5% /run
tmpfs                   tmpfs     3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/mapper/centos-root xfs       106G  103G  3.5G  97% /
/dev/sda1               xfs      1014M  278M  737M  28% /boot
/dev/mapper/centos-home xfs      1014M   35M  980M   4% /home
tmpfs                   tmpfs     793M   12K  793M   1% /run/user/42
tmpfs                   tmpfs     793M     0  793M   0% /run/user/0
overlay                 overlay   106G  103G  3.5G  97% /var/lib/docker/overlay2/fd50a66714358108e44dc1a14f0d8bdffc94985f13cec5ce7a046ce57295fb1a/merged
overlay                 overlay   106G  103G  3.5G  97% /var/lib/docker/overlay2/4dfc8bb698726775c15c6a9a13a83b7e2c40205907d6a8fd6bb8f1a225d3bc0b/merged
overlay                 overlay   106G  103G  3.5G  97% /var/lib/docker/overlay2/5416d09ee09287c946db83f95285788c50b99f3a7aa3bbf6f684575bb36df52a/merged
overlay                 overlay   106G  103G  3.5G  97% /var/lib/docker/overlay2/60c94259e4d74fffff425764a21380e86361707ff301eb99c9bfa337c6e230da/merged
overlay                 overlay   106G  103G  3.5G  97% /var/lib/docker/overlay2/cf7227761c12d4eeb511542064155b86dc5a359204cc5b221252eb03b5f952ef/merged
//192.168.3.157/share   cifs       50G   19G   32G  37% /samba/share

五、Samba共享目录的权限测试

1.检查alice用户的权限

检查在/samba/share上,以alice用户访问,新建文件的权限是拒绝的。

root@jeven ~]# cd /samba/share/
[root@jeven share]# ls
group  passwd
[root@jeven share]# touch aa.txt
touch: cannot touch ‘aa.txt’: Permission denied
[root@jeven share]# 

2.kitty和jeven用户的访问权限

切换本地admin用户,以kitty和jeven这两个samba用户测试访问权限。
kitty和jeven用户都可以正常访问共享目录,也可以在共享目录中新建文件。

[root@jeven share]# su - admin
Last login: Sun Apr 16 19:06:55 CST 2023 on pts/2
[admin@jeven ~]$ cifscreds add -u kitty  server001
error: Could not resolve address for server001
[admin@jeven ~]$ cifscreds add -u kitty  192.168.3.157
Password:
[admin@jeven ~]$ cd /samba/share/
[admin@jeven share]$ ls
group  passwd
[admin@jeven share]$ touch kitty.txt
[admin@jeven share]$ ls
group  kitty.txt  passwd
[admin@jeven share]$ cifscreds update  -u jeven  192.168.3.157
Password:
[admin@jeven share]$ ls
group  kitty.txt  passwd
[admin@jeven share]$ touch jeven.txt
[admin@jeven share]$ ls
group  jeven.txt  kitty.txt  passwd

Linux系统之部署Samba服务相关推荐

  1. centOs6.5版Linux系统中搭建Samba服务(附搭建Samba设置及相关配置参考)

    一.实验环境(仅做参考,可以用更新版本) Linux版本:CentOS-6.5-i386-bin-DVD1 虚拟机:VMware Workstation Pro14.1.3 虚拟机设置为桥接模式,虚拟 ...

  2. linux的dns怎么配置正向区域文件,linux系统下部署DNS正向解析

    DNS服务概述: DNS(Domain Name System)域名系统,能够提供域名与IP地址的解析服务. 正向解析 正向解析是指域名到IP 地址的解析过程. 部署DNS正向解析 DNS服务的三个配 ...

  3. 重启部署在Linux系统下的tomcat服务

    2019独角兽企业重金招聘Python工程师标准>>> 重启部署在Linux系统下的tomcat服务具体的操作步骤: 1.在Winscp上建立连接,输入用户和密码,这个密码一般是看不 ...

  4. Linux系统之部署ZFile在线网盘服务

    Linux系统之部署ZFile在线网盘服务 一.ZFile介绍 1.ZFile简介 2.ZFile特点 二.本地环境介绍 1.本次实践说明 2.本地环境规划 三.安装环境依赖 1.安装java 2.检 ...

  5. 架设linux服务器下的samba,Linux 服务器搭建之Samba服务

    Linux服务器搭建之Samba服务 一.Samba服务基础 Samba是著名的开源软件项目之一,它在Linux/UNIX系统中实现了微软的SMB/CIFS网络协议,从而使得跨平台的文件共享变得更加容 ...

  6. 如何在Linux系统上部署接口测试环境

    作为一名软件测试人员,部署测试环境是我们日常工作的一部分,今天就简单整理下接口测试环境部署的步骤,希望能够帮助到大家. 今天为大家整理的接口测试环境部署涉及到Tomcat,JDK和数据库.目前能够提供 ...

  7. Linux系统之部署Rsyslog 日志服务器

    Linux系统之部署Rsyslog 日志服务器 一.检查服务器系统版本 二.在master节点上配置 1.修改/etc/rsyslog.conf 2.开启日志服务 3.查看日志服务状态 4.关闭防火墙 ...

  8. Linux系统之部署iWebShop电子商城网站

    Linux系统之部署iWebShop电子商城网站 一.iWebShop介绍 二.检查本地环境 1.检查系统版本 2.检查系统内核版本 三.部署apache环境 1.检查本地yum仓库 2.安装apac ...

  9. Linux系统下安装FTP服务

    Linux系统下安装FTP服务 1. 简介 2. 工作原理 3. FTP的安装与配置 1. 下载vsftp安装包 2. 检查是否已经安装了vsftp,后面会介绍怎样卸载 3. 安装vsftpd 4. ...

最新文章

  1. 虚拟机的ubunt系统在登录界面循环往复,登录不进去问题
  2. 模块化和组件化的定义以及两者的区别
  3. 也谈.net加密解密
  4. 点云网络的论文理解(六)-Frustum PointNets 总体概括
  5. 数据集 | 计算机视觉开源数据集(计算机视觉图像、定位、识别)
  6. C/C++基础知识:函数指针和指针函数的基本概念
  7. IDEA导入Maven项目,pom.xml文件中 有inspects a maven model for resolution problems报错 !!!!!!!!!!有用
  8. azure考试_我如何通过AZ-900 Microsoft Azure基础考试
  9. python的变量名有哪些_Python 趣闻:如何获得变量的名字?
  10. MonGoDB 常见操作, 设置管理员和用户登入
  11. oracle影响性能,影响Oracle性能的几个重要参数
  12. node2vec python_论文笔记 | node2vec
  13. Java方法 (含计算器代码)
  14. ibm主机安装服务器系统安装系统安装系统安装方法,IBM系列服务器安装操作系统安装方法.ppt...
  15. 知名大企业的愿景和使命
  16. EDA和数据挖掘实战:漫威与 DC电影收视率和票房分析
  17. access操作mysql_Access数据库基础及应用(公选课) 第二章:Access2010数据库创建与操作...
  18. 南通大学计算机专业校区,南通大学计算机科学与技术专业
  19. 最佳实战 | 如何使用腾讯云微搭从0到1开发企业门户应用
  20. USB射频功率计DIY——构建软件校准方案

热门文章

  1. java重载覆盖隐藏_重载,覆盖以及隐藏 - osc_4dki3x9l的个人空间 - OSCHINA - 中文开源技术交流社区...
  2. 软件开发过程学习笔记(三)之概要设计说明书模板
  3. linux 脚本编写基本命令,Linux Shell命令行及脚本编程实例详解
  4. Jvav 调用 Conflux 智能合约
  5. Java回调函数理解和应用
  6. ESP8266串口WiFi模块
  7. App爬虫进阶——抓包拿不到数据怎么办
  8. 树莓派ZeroW学习笔记【0】wiringPi安装和测试
  9. SRS开始支持SRT
  10. Slowloris dos攻击的原理及防护