前言

1、配置Samba服务为什么要关闭防火墙(firewalld)和Selinux?

在linux操作系统中默认开启了防火墙,Selinux也处于启动状态,一般状态为enforing;所以,在我们搭建任何服务(每个服务都有自己的端口),由于防火墙和Selinux的存在导致服务的端口被拦截了,虽然可以用命令查看服务的监听端口,任然会访问不到自己搭建的服务!

2、关闭防火墙和Selinux

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
//关闭防火墙开机自启 [root@localhost ~]# vim /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=enforcing //将enforcing换成disabled
# SELINUXTYPE= can take one of these three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
[root@localhost ~]# setenforce 0 //临时关闭selinux,也可以重启(永久生效)
[root@localhost ~]# getenforce //与setenforce是一对,这个是查看selinux是否生效
Permissive

一、Samba服务

1、Samba服务介绍

1️⃣:服务全称:Samba — SMB(Server Message Block服务器消息块--微软研发   CIFS)

2️⃣:服务功能:为网络(局域网)中客户机(Linux/Windows)提供文件和目录资源共享

3️⃣:服务模式:C/S 客户机服务器模式

4️⃣:模式的特点:服务的提供就需要在服务器端运行服务端程序,服务的访问则需要在客户机端运行客户端程序

5️⃣:服务客户端程序

  Linux:smbclient(查看共享、访问共享)    mount.cifs == mount -t cifs

  Windows:GUI-资源管理器(查看、访问)  映射网络驱动器

2、Samba服务相关软件包

1️⃣:服务软件包:samba

2️⃣:服务进程名:smbd(核心) 和 nmbd

  smbd:提供文件和目录共享,以及身份验证(默认情况下,是基于IP地址的访问共享)

  nmbd:提供客户端通过服务器主机名的方式访问共享

3️⃣:服务端口号:

  TCP:139和445(smbd)    tcp端口相对应的服务是smbd服务,其作用是提供对服务器中文件、打印资源的共享访问

  UDP:137和138(nmbd)   udp端口相对应的服务是nmbd服务,其作用是提供基于NetBIOS主机名称的解析

3、Samba服务配置文件

1️⃣:服务配置主文件:/etc/samba/smb.conf (包括全局配置、共享配置[用户目录及打印机共享、自定义共享])

2️⃣:服务管理脚本文件:/etc/rc.d/init.d/smb  | nmb

3️⃣:技术手册:/usr/share/doc/samba-版本号(直接Tab两下查看)

4、Samba主配置文件中相关参数介绍

1️⃣:SAMBA安全级别

  share:匿名访问,即客户端访问共享时不必输入用户名和密码,较为常用

  user:(默认)基于身份认证访问,即客户端访问共享时必须输入正确的用户名和密码,较为常用

  server:使用指定主机进行身份验证。即基于远程主机完成认证的访问

  domain:使用指定域控制器进行身份验证。即基于远程主机完成认证的访问

2️⃣:配置文件中规则:

  #号开头的行为注释行

  ;号开头的行为备用设置参数,需要启用时,删除分号

  设置参数的方式为  参数 = 值 (等于号前后各有一个空格)

  可采用缩进功能,仅使文档清晰

3️⃣:常用参数及意义

  workgroup = MYGROUP            //工作组名称  

  server string = qiangge Samba Server      //服务器描述

  netbios name = SMBSERVER1            //SAMBA服务NETBIOS名,可与hostname不同

  interfaces = lo eth0 192.168.12.2/24   192.168.13.2/24             //提供服务的接口,可写接口名,IP地址等

  hosts allow = 127. 192.168.12. 192.168.13.                   //允许访问服务的客户端,可写网络号,主机IP地址等

  log file = /var/log/samba/log.%m          //以每一个客户机建立一个独立的日志文件,%m代表以客户机主机名或IP地址为文件名的组成部分

  max log size = 50            //日志文件的大小,单位默认为KB

  security = user

    share:匿名访问,即客户端访问共享时不必输入用户名和密码,较为常用

    user:基于身份认证访问,即客户端访问共享时必须输入正确的用户名和密码,较为常用

    server:使用指定主机进行身份验证。即基于远程主机完成认证的访问

    domain:使用指定域控制器进行身份验证。即基于远程主机完成认证的访问

  passdb backend = tdbsam         //SAMBA用户密码数据库文件

5、关于共享目录的说明

[shared_name]                                         [共享资源的共享名称]           //共享目录名称是客户端访问共享时所用的名称,建议与物理目录名称不同更安全

comment = Comment String                    共享文件描述
* path = /path/to/share_directory              共享文件的绝对路径
allow hosts = host(subnet)                       允许访问此共享资源的主机列表
deny hosts = host(subnet)                       禁止访问此共享资源的主机列表
* writable = yes|no                                   是否有写权限
* browseable = yes|no                             是否浏览权限(yes为可见共享,no为隐藏共享)
user = user(@group)                               设置所有可能使用该共享资源的用户列表
valid users = user(@group)                     指定能够使用该共享资源的用户和组列表
invalid users = user(@group)                  指定不能够使用该共享资源的用户和组
read list = user(@group)                         设置能够读取该共享资源的用户列表
write list = user(@group)                         设置对该共享资源具有写权限的用户列表
admin list = user(@group)                       设置对共享资源具有管理权限的用户列表
* public = yes|no                                      指明该共享资源是否能给游客帐号访问
guest ok = yes|no                                    与public相同
hide dot files = yes|no                             是否隐藏以“.”号开头的文件
create mode = 0755                                指明新建立的文件的属性,一般是0755
directory mode = 0755                            指明新建立的目录的属性,一般是0755
sync always = yes|no                              指明写操作后是否进行同步操作
short preserve case = yes|no                  指明忽略文件名大小写
preserve case = yes|no                           指明保持文件名大小写
case sensitive = yes|no                           指明是否对大小写敏感
mangle case = yes|no                             指明混合大小写
default case = upper|lower                      指明缺省的文件名是全部大写还是小写
force user = lt                                          强制指定建立文件的属主是谁
wide links = yes|no                                  指明是否允许共享外符号连接
max connections = 100                           设定同时连接数是n
delete readonly = yes|no                         指明能否删除已经被定义为只读的文件

root preexec = /bin/mount -t iso9660 /dev/cdrom /mnt/cdrom           自动挂光驱
root postexec = /bin/umount /mnt/cdrom                                           自动

Samba服务配置及配置文件说明的更多相关文章

  1. samba服务配置(二)

    需求: 某公司销售部门提出一个文件共享需求,要求部门共享目录有三个,第一个共享目录所有销售部门人员都具有可读可写权限: 第二个共享目录所有销售人员只读权限,经理级别的销售人员具有可读可写权限:第三个共 ...

  2. samba服务配置(一)

    samba是一个实现不同操作系统之间文件共享和打印机共享的一种SMB协议的免费软件. samba软件结构: /etc/samba/smb.conf    #samba服务的主要配置文件 /etc/sa ...

  3. Centos7 -samba服务配置

    Centos7 -samba服务配置 https://blog.csdn.net/zh515858237/article/details/76914905 http://blog.51cto.com/ ...

  4. Samba服务配置简明笔记

    内部服务器之间拷贝数据,用root账号访问,没有做更复杂的设置. 1.用YUM安装samba服务器端及客户端: [root@tenjs05 init.d]# yum install samba sam ...

  5. Centos6.5以下Samba服务配置

    一.简介 Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写,即为服务器消息块 ,SMB主要是作为Microsoft的 ...

  6. linux下Samba服务配置

    SMB是基于客户机/服务器型的协议,因而一台Samba服务器既可以充当文件共享服务器,也可以充当一个Samba的客户端,例如,一台在Linux 下已经架设好的Samba服务器,windows客户端就可 ...

  7. SAMBA 服务配置

    Samba文件共享服务 Linux系统中一种文件共享程序 在Windows网络环境中,主机之间进行文件和打印机共享是通过微软公司自己的SMB/CIFS网络协议实现的.SMB(Server Messag ...

  8. 《samba服务配置的文本》

    创建简单的samba服务器 samba  很少用于互联网 /大部分用于局域网  网页更新/ 首先看下你是否安装后了samba. rpm -qa | grep samba samba的简介 1)samb ...

  9. Centos samba 服务配置

    1背景 转到Linux有段时间了,vim操作还不能应对工程代码,之前一直都是Gnome桌面 + Clion 作开发环境,无奈在服务器上没有这样的环境, 看同事是(Windows)Source Insi ...

随机推荐

  1. Dynamics CRM修改密码界面

    我们再实施Dynamics CRM的过程中经常会被客户吐槽没有一个修改密码的页面.市面上也有一些人通过自己操作AD库进行修改密码的解决方案不过多多少少会有一些BUG存在.其实ADFS提供了一个修改密码 ...

  2. RE.从单链表开始的数据结构生活(bushi

    单链表 单链表中节点的定义 typedef struct LNode{ int data;//数据域 struct LNode *next;//定义一个同类型的指针,指向该节点的后继节点 }LNode ...

  3. 在Win10中手动添加/修改本地IP

    1 前言 好久没动Win10了... 今天需要用Win10做一下实验,手动修改IP,于是写下了这篇文章作为过程记录. 2 概述 Win10里面修改本地IP不是一件特别困难的事,简单来说可以分为两种方式 ...

  4. Spring @Value注入static属性

    import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Com ...

  5. Python:读写文件(I/O) | 组织文件

    1. I/O 概述  程序与用户交互涉及到程序的输入输出(I/O) 一种类型是字符串,通过input() 和 print() 函数以及数据类型转换类函数如(int()),实现数据的输入输出. 另一种类 ...

  6. JAVA JNI 中解决在C/C++跨线程FindClass失败

    在JAVA与C/C++交互时使用JNI接口: 先是在JAVA调用的C++方法中直接测试FindClass,使用获取到的jclass操作没有任何问题: 但是在调用的C++方法中起线程后,在线程中Find ...

  7. Day11_57_自定义泛型

    自定义泛型 package com.shige.Generic; //自定义泛型 public class CustomizeGeneric { public static void main(Str ...

  8. Day11_52_将Set集合转换为List集合

    Set集合转换为List集合 ``` import java.util.*; public class SetReverseLsit { public static void main(String[ ...

  9. Java程序设计基础第4章习题与自总

    怎么说呢?不论什么编程题,都有很多种方法解决问题,最后能解决我们所提出的问题才是关键的东西,也是未来成为工程师所需要的能力.解决问题是关键, 当我们做好了问题解决的关键途径的时候,如果有着profou ...

  10. 关于Spring Boot 多数据源的事务管理

    自己的一些理解:自从用了Spring Boot 以来,这近乎零配置和"约定大于配置"的设计范式用着确实爽,其实对零配置的理解是:应该说可以是零配置可以跑一个简单的项目,因为Spri ...