CentOS7下Samba的安装与配置

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

一、Samba简介

    Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。

   Samba最大的功能就是可以用于Linux与windows系统直接的文件共享和打印共享,Samba既可以用于windows与Linux之间的文件共享,也可以用于Linux与Linux之间的资源共享。


二、关闭SELinux和防火墙

a、临时关闭(不用重启机器): 

1
2
# setenforce 0                       ##设置SELinux 成为permissive模式  (关闭SELinux)
# setenforce 1                       ##设置SELinux 成为enforcing模式     (开启SELinux)

    

b、修改配置文件需要重启机器:

1
# vi /etc/selinux/config

将SELINUX=enforcing 改为SELINUX=disabled(需重启机器)


c、可自己做策略开放相应端口,这里我直接关闭:

1
2
# systemctl status firewalld.service       ##查看防火墙状态
# systemctl stop firewalld.service         ##关闭防火墙


三、安装Samba服务


①直接yum安装

1
# yum install samba samba-client


②启动并查看Samba

1
2
# systemctl start smb nmb        ##注:NMB对客户端提供NetBIOS服务
# systemctl status smb nmb

wKiom1YIn3-z1Q_4AANaemQDXIs178.jpg


四、配置Samba服务

①配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# vi /etc/samba/smb.conf
=================== Global Settings[全局选项] ==============================
[global]
#
workgroup = WORKGROUP                ##设定Samba Server所要加入的工作组或域
server string = Samba Server Version % v         ##设定注释,宏%v表示显示Samba的版本号
netbios name = zhi                 ##设置Samba Server的NetBIOS名称
 
map to guest = bad user              ##开启匿名访问
     
# ----------------- Logging Options [日志选项]-----------------------------
log  file  /var/log/samba/log .%m    ##设置日志文件存储位置及名称,宏%m(主机名),表示对每台                                      访问Samba Server的机器都单独记录一个日志文件
max log size = 50              ##设置Samba Server日志文件的最大容量,单位为KB,0代表不限制
# ---------------- Standalone Server Options[独立运行进程] ---------------------
security = share             ##共享级别:共享目录只能被授权的用户访问
passdb backend = tdbsam      ##建立安全账户管理数据库
# ----------------- Printing Options[打印选项]-----------------------------
#        load printers = yes          ##设置是否在启动Samba时共享打印机
#        cups options = raw           ##通用unix打印选项
#================== Share Definitions[共享参数] ==============================
  
[homes]                               ##设置用户宿主目录
         comment = Home Directories         ##描述该共享:家目录
         browseable = no                ##指定该共享是否可以浏览
         writable =  yes                   ##指定该共享路径是否可写
[printers]                           ##设置打印机宿主目录
         comment = All Printers          ##描述:所有打印机
         path =  /var/spool/samba        
         browseable = no
         guest ok = no                  ##指定该共享是否允许guest账户访问
         writable = no
         printable =  yes               ##指定是否可打印
[public]
         comment = Public Stuff       ##定义说明信息
         path =  /home/samba           ##共享目录路径
         public =  yes              ##指定该共享是否允许guest账户访问
         writable =  yes
         printable = no
         write list = +staff        ##允许写入该共享的用户

注:

1
2
3
+ =====》 只在本机的密码文件组中查找
& =====》只在nis服务中查找
@ =====》先通过NIS服务器查找,nis找不到再到本机查找


②测试语法

wKioL1YI4fbgDrxLAAEBy7DUqtQ703.jpg


③建立共享目录

1
2
3
# mkdir /home/samba
# cd /home/samba/
# touch samba.txt


五、测试

①在windows下输入\\192.168.10.128访问


wKiom1YI5lTi_lCoAACChSW6aCY629.jpg

②在Linux下输入smbclient //192.168.10.128/public访问

wKioL1YI57bhMCTCAADxzgkftL4653.jpg


③配置只允许个别用户访问

a、配置smb.conf,添加如下

1
2
3
4
5
6
7
8
[ time ]
         comment = Ashes Of Time
         path =  /share/time
         valid  users  = zhi
         write list = zhi
         printable = no
         create mask = 0755
         directory mask = 0755


b、建立共享目录、添加相应用户和组

1
2
3
4
5
6
# mkdir -p /share/time
# groupadd admin
# useradd zhi -s /sbin/nologin
# cd /share/time
# echo "12345" > abc.txt
# pdbedit -a -u zhi              ##新建Samba用户

wKiom1YI7JvT4mbKAAIhYBiBXdc292.jpg

1
2
# pdbedit -L               ##查看Samba用户列表
# systemctl restart smb nmb        ##重启Samba

注: 可使用命令smbpasswd -a + 用户名为该用户添加Samba密码,但用户必须是系统用户。


c、验证

windows客户端验证:

在"这台电脑"右键,"映射网络驱动器"

wKiom1YI8d_Bio2gAAFk5kqC_8o458.jpg

提示输入用户名密码

wKiom1YI8cyzPJw_AADMSDHvQQU635.jpg

输入后

wKioL1YI8wixQr7TAACsEWcAHBk300.jpg并会在这台电脑上显示

wKiom1YI80TimjrUAABGkMT6gPM738.jpg

错误:输入用户名、密码后弹出如下内容:

“指定的网络文件夹目前是以其他用户名和密码进行映射的。要用其他用户名和密码进行连接,首先请断开所有现有的连接到网络共享的映射。”

解决:使用命令net use查看

wKiom1YI9F3iqeLUAACmj0IRDHA309.jpg

然后使用命令net use * /delete结束所有连接,即可连接。

wKioL1YI9OGClvzhAACCAuA3fLM961.jpg


Linux客户端验证:

1
$  smbclient -L 192.168.10.128 -U zhi

wKiom1YI9k-xXJqlAAFd9-LDnAg333.jpg

1
$ smbclient  //192 .168.10.128 /time  -U zhi

wKiom1YI9z7AiwGLAADpN0KOoaw457.jpg

问题:能下载不能上传

wKiom1YI-xbzYRYIAACaKrbFdHE575.jpg

解决:

1
# setfacl -m u:zhi:rwx /share/time/      ##赋予用户写权限

wKiom1YI_XvBke0xAAEeBG8q_5I064.jpg

已经可以上传了


Linux进行挂载

1
2
3
sudo  apt-get  install  cifs-utils      ##网络文件共享系统套件
sudo  mkdir  /mnt/samba
sudo  mount  -t cifs  //192 .168.10.128 /time  /mnt/samba  -o username=zhi

wKioL1YJAUOAm2OqAAB6SKUrRgw012.jpg


Linux实现自动挂载

1
2
3
4
5
6
7
8
9
sudo  vi  /etc/fstab      ##添加如下
//192 .168.10.128 /time      /mnt/samba    cifs   credentials= /etc/samba/zhi . passwd  0 0
sudo  vi  /etc/samba/zhi . passwd          ##防止密码泄露,所以另建文件
username=zhi
password=abcdef
sudo  chmod  og=---  /etc/samba/zhi . passwd           ##设置该密码文件权限
sudo  umount  /mnt/samba                      ##卸载
sudo  mount  -a                        ##挂载fstab下的所有选项
ls  /mnt/samba/


附:Ubuntu下安装配置Samba的wiki:




本文转自  结束的伤感  51CTO博客,原文链接:http://blog.51cto.com/wangzhijian/1698879

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
11天前
|
Linux 虚拟化 Windows
VMware隐藏黑科技!CentOS安装这个神器效率翻倍 文件互传竟比U盘还快?
### 安装VMtools的作用及步骤 安装VMtools可以实现Windows与CentOS之间的字符串和命令粘贴、文件夹共享等操作。在CentOS中,通过VMware菜单栏选择“VMware Tools”,将下载的压缩包拷贝到`/opt`目录并解压。接着进入终端,使用`./vmware-install.pl`命令完成安装。安装后重启系统,即可实现Windows与CentOS之间的字符和文件共享。具体步骤包括解压文件、启动命令行终端、安装VMtools以及配置文件共享。
51 16
VMware隐藏黑科技!CentOS安装这个神器效率翻倍 文件互传竟比U盘还快?
|
11天前
|
存储 IDE Linux
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
本文详细介绍了在VMware虚拟机中安装CentOS 6.8的全过程。首先,需确保已安装VMware并开启V-CPU虚拟化功能,可通过BIOS设置或使用LeoMoon CPU-V工具检测。接着,下载CentOS镜像文件,并在VMware中新建虚拟机,配置CPU、内存、硬盘等参数。最后,加载ISO镜像启动虚拟机,按照提示完成CentOS的安装,包括语言、键盘、存储方式、地区、密码设置及硬盘分区等步骤。安装完成后,以root用户登录即可进入系统桌面,开始学习Linux命令和操作。
64 12
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
|
24天前
|
缓存 Ubuntu Linux
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
通过本文,我们详细了解了 `yum`、`rpm`、`apt-get`和 `wget`的区别、常用命令以及在CentOS和Ubuntu中安装 `wget`的方法。`yum`和 `apt-get`是高层次的包管理器,分别用于RPM系和Debian系发行版,能够自动解决依赖问题;而 `rpm`是低层次的包管理工具,适合处理单个包;`wget`则是一个功能强大的下载工具,适用于各种下载任务。在实际使用中,根据系统类型和任务需求选择合适的工具,可以大大提高工作效率和系统管理的便利性。
123 25
|
1月前
|
监控 Linux PHP
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
83 20
|
2月前
|
存储 分布式计算 Hadoop
Centos7.9安装kerberos
Centos7.9安装kerberos
98 25
|
2月前
|
存储 Shell 网络安全
Centos7.9安装openldap
Centos7.9安装openldap
65 16
|
2月前
|
数据可视化 Linux 应用服务中间件
Centos7.9安装phpldapadmin
Centos7.9安装phpldapadmin
77 15
|
2月前
|
Java
CentOS7.8配置Adoptium-Java17运行环境
本指南介绍如何设置清华镜像源并安装 Temurin-17-JRE 运行环境。首先,编辑 `/etc/yum.repos.d/adoptium.repo` 文件,配置清华镜像源。接着,使用 `yum install -y temurin-17-jre` 命令安装 Temurin-17-JRE,并通过 `java --version` 验证安装成功。相关配置和操作界面截图附后。
68 8
|
2月前
|
网络协议 Java 应用服务中间件
centos7环境下tomcat8的安装与配置
本文介绍了在Linux环境下安装和配置Tomcat 8的详细步骤。首先,通过无网络条件下的文件交互软件(如Xftp 6或MobaXterm)下载并解压Tomcat安装包至指定路径,启动Tomcat服务并测试访问。接着,修改Tomcat端口号以避免冲突,并部署Java Web应用项目至Tomcat服务器。最后,调整Linux防火墙规则,确保外部可以正常访问部署的应用。关键步骤包括关闭或配置防火墙、添加必要的端口规则,确保Tomcat服务稳定运行。
|
4月前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第16天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括配置系统源、安装 SQL Server 2019 软件包以及数据库初始化,确保 SQL Server 正常运行。
209 4