一、Samba的基本概念

Samba服务:是提供基于Linux和Windows的共享文件服务,服务端和客户端都可以是Linux或Windows操作系统。可以基于特定的用户访问,功能比NFS更强大。

Samba与ftp和nfs的区别:

  • ftp:基于Linux和Windows共享文件的服务,但是不安全,因为ftp可以匿名访问,匿名用户可以获取读写权限,所以不常用
  • nfs:只能做Linux的共享文件服务,服务端和客户端都只能是Linux操作系统

samba的服务名、对应端口号及作用:

  • smbd:139 提供文件的共享访问
  • nmbd:445 提供基于域名的访问

二、Samba服务搭建步骤:

目标:搭建一个基于Linux的samba服务,共享给Windows和Linux的客户端去访问

(一)、安装Samba之前Server端和Client端都需要准备:主机名、网络、yum源

1、更改主机名:

[root@localhost ~]# hostnamectl set-hostname $主机名
[root@localhost ~]# bash #环境变量重载

2、配置网络

(1)虚拟交换机、网络适配器选择仅主机模式,并且配置为192.168.100.0网段;

(2)编辑网络配置文件:

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
修改: BOOTPROTO=static #改为静态IP地址
ONBOOT=yes #改为开机自启
IPADDR=192.168.100.10
PREFIX=24 或者 NETMASK=255.255.255.0

(3)重启网络服务:

[root@localhost ~]# systemctl restart network

3、配置yum源

(1)先在VMware里面把系统镜像文件连接到虚拟机的光驱上;

(2)挂载光驱里的镜像:

[root@localhost ~]# mount /dev/cdrom /media

(3)修改yum源配置文件:

[root@localhost ~]# vim /etc/yum.repos.d/local.repo
[rhel]
name=rhel
baseurl=file:///media
enabled=1
gpgcheck=0

(4)清空yum源缓存信息:

[root@localhost ~]# yum clean all

(5)检索当前yum源信息:

[root@localhost ~]# yum repolist

(二)、Server端配置步骤:

1、安装Samba的所有包

[root@server ~]# yum -y install samba*

2、创建Samba的共享文件夹和标记文件并且修改权限

[root@server ~]# mkdir -p /opt/samba
[root@server samba]# touch flag
[root@server samba]# ls
flag
[root@server samba]# chmod -R o+w /opt/samba

3、查看Samba配置目录

  • smb.conf -> Samba的主配置文件
  • smb.conf.exampl -> Samba的示例文件
[root@server samba]# cd /etc/samba/
[root@server samba]# ls
lmhosts smb.conf smb.conf.example

4、打开Samba的示例文件

[root@server samba]# vim /etc/samba/smb.conf.example

克隆会话进行下面selinux的配置

[root@server samba]# setsebool -P samba_domain_controller on
[root@server samba]# setsebool -P samba_enable_home_dirs on
[root@server samba]# chcon -t samba_share_t /opt/samba/ #Samba的共享目录
[root@server samba]# setsebool -P samba_export_all_rw on

5、编辑Samba的主配置文件

[root@server opt]# vim /etc/samba/smb.conf

加入:

[common]
comment =common directories 对共享目录的注释、说明信息
path = /opt/samba #Samba的共享目录
interfaces = 192.168.100.10/24 #提供服务的主机地址
hosts allow = 192.168.100. #允许访问的主机或者网段
browseable = yes 该共享目录对客户机是否可见
valid users = luna,tom,jeccy #可访问的用户名
write list = luna 是否具有可写权限
点击查看主配置文件详情
# See smb.conf.example for a more detailed config file or
# read the smb.conf manpage.
# Run 'testparm' to verify the config is correct after
# you modified it. [global]
workgroup = SAMBA
security = user
passdb backend = tdbsam
printing = cups
printcap name = cups
load printers = yes
cups options = raw
[homes]
comment = Home Directories
valid users = %S, %D%w%S
browseable = No
read only = No
inherit acls = Yes
[printers]
comment = All Printers
path = /var/tmp
printable = Yes
create mask = 0600
browseable = No
[print$]
comment = Printer Drivers
path = /var/lib/samba/drivers
write list = root
create mask = 0664
directory mask = 0775
[common]
comment =common directories
path = /opt/samba
interfaces = 192.168.100.10/24
hosts allow = 192.168.100.
browseable = yes
valid users = luna,tom
write list = luna

smb.conf文件的配置内容的含义:

[global]:全局设置

[homes]:用户目录共享设置

[printers]:打印机共享设置

[common]:自定义名称的共享目录设置

workgroup:所在工作组名称

security:安全级别,可用值为:share、user、server、domain

passwd backend:设置共享账户文件的类型

注意:Samba服务设置的读取、写入权限,优先级要低于文件系统中设置的权限

6、检测Samba配置文件格式是否正确

[root@server ~]# testparm
[root@server ~]#

7、创建Samba用户(前提:必须是系统存在的用户)

[root@server ~]# useradd luna	#先创建系统用户
[root@server ~]# useradd tom
[root@server ~]# passwd luna #设置系统用户密码
[root@server ~]# passwd tom
[root@server ~]# smbpasswd -a luna #再创建为Samba用户,同时设置samba密码
[root@server ~]# smbpasswd -a tom

8、查看所有Samba用户

[root@server ~]#pdbedit –L

9、启动samba服务并设置为开机自启

[root@server ~]#systemctl restart smb
[root@server ~]#systemctl restart nmb
[root@server ~]#systemctl enable smb
[root@server ~]#systemctl enable nmb

10、查看端口(139,445)启动情况(如果命令不可用,需要安装net-tools包)

[root@server ~]#netstat -pant

11、关闭防火墙

[root@server ~]#systemctl stop firewalld
[root@server ~]#systemctl disable firewalld

(三)、Client端配置步骤:

1、Windows作Client:

CIFS特点:windows会自动记录上次访问的用户,所以第一次访问的用户,下一次仍旧默认使用该用户访问。

解决用户切换的方法:

进入cmd,输入net use * /del命令,等待若干分钟后,即可切换其他用户登录Samba服务器。

2、Linux作Client:

1)单用户访问:

方法一:使用Samba的Linux客户端软件访问

[root@client ~]yum -y install samba-client
[root@client ~]smbclient -U tom //192.168.100.10/common
smb: \> mkdir abc #测试tom写权限
smb: \> ls
smb: \>

方法二:使用挂载方式访问

[root@client ~]mount -t cifs -o username=tom,password=000000 //192.168.100.10/common /mnt
#-t格式:以cifs格式挂载(Samba默认的文件系统类型),-o选项:samba用户名和密码
[root@client ~]cd /mnt
[root@client mnt]ls
[root@client mnt]touch abc #测试tom写权限
touch: cannot touch ‘abc’: Permission denied

2)多用户访问:

[root@client ~]yum -y install samba-client cifs-utils
[root@client ~]mkdir -p /mnt/multi
[root@client ~]vim /etc/fstab
于末行添加://192.168.100.10/common /mnt/multi cifs username=tom,password=000000,multiuser,sec=ntlmssp 0 0
[root@client ~]mount -a #先使用tom获取common的读权限,注意:如果这步做掉了,后面的luna就获取不到common内容
[root@client ~]cd /mnt/multi
[root@client multi]ls
[root@client multi]touch abc #测试tom写权限
touch: cannot touch ‘abc’: Permission denied
[root@client ~]su - luna
[luna@client ~]cifscreds add -u luna server #使用luna登录并临时获取写权限
[luna@client ~]cd /mnt/multi
[luna@client multi]touch abc
[luna@client multi]ls
abc

Linux——搭建Samba(CIFS)服务器的更多相关文章

  1. Linux搭建主从数据库服务器(主从复制)

    配置主机数据库: 1.克隆linux操作系统 2.修改Linux系统主机IP地址 主机IP:192.168.247.150 从机IP:192.168.247.151 3.通过xshell连接Maste ...

  2. Linux 搭建Java web服务器

    未经允许,不得转载 1.jdk的下载与配置 1.1下载 sudo wget http://download.oracle.com/otn-pub/java/jdk/8u45-b14/jdk-8u45- ...

  3. 【Linux搭建创建FTP服务器】---完美解决 - 费元星

    配置大红字文件置顶:   vsftp d.conf 4.5KB     useradd -d /home/bai_du -s /sbin/nologin bai_du 修改访问权限: usermod ...

  4. Linux搭建Samba共享服务器

    实验要求: Samba文件共享服务配置与访问,配置访问用户以及相应权限. Tips:创建共享目录/test和/share,并且分别在/test下创建文件tf1(只读)tf2(读写)  在/share ...

  5. Linux——搭建Apache(httpd)服务器

    一.基本概念 Apache(或httpd)是Internet上使用最多的Web服务器技术之一,使用的传输协议是http超文本传输协议(一个基于超文本的协议),用于通过网络连接来发送和接受对象. 有两个 ...

  6. Linux搭建一个FTP服务器

    1.安装vsftp 2.配置vsftpd.conf, vim /etc/vsftpd.conf 下面说说里面比较重要的选项 1 anonymous_enable=NO #不允许匿名用户 2 3 loc ...

  7. Linux搭建SQL server服务器

    我们知道在Linux下安装服务有很多方式,最为简单的也就是yum安装,但是很多服务通过yum是无法安装的,如果想使用yum安装,需要指定yum安装仓库,我们今天需要安装MSQL Server,所以需要 ...

  8. linux搭建微型git服务器

    1.安装git和git-core yum install git git-core -y 2.创建仓库 mkdir /home/git cd /home/git git init 3.设置可以远程pu ...

  9. linux搭建nginx图片服务器

    1:参考http://blog.csdn.net/u012401711/article/details/53525908

随机推荐

  1. 启用 Spring-Cloud-OpenFeign 配置可刷新,项目无法启动,我 TM 人傻了(上)

    本篇文章涉及底层设计以及原理,以及问题定位,比较深入,篇幅较长,所以拆分成上下两篇: 上:问题简单描述以及 Spring Cloud RefreshScope 的原理 下:当前 spring-clou ...

  2. 宝塔Linux面板搭建与安全狗安装(WEB服务器搭建与WAF安装)

    环境 系统:CentOS 7.3 (64位) 软件: 宝塔Linux 7.7 网站安全狗Linux-Apache版V2.3.18809(64位) 宝塔面板 下载和安装 网址:https://www.b ...

  3. 云无关、桌面端、基于Kubernetes的平台Otomi

    一.Otomi介绍 Otomi官网:https://otomi.io/ Otomi-core核心模块Github地址:https://github.com/redkubes/otomi-core Ot ...

  4. 精准容量、秒级弹性,压测工具 + SAE 方案如何完美突破传统大促难关?

    作者 | 代序 阿里云云原生技术团队 本文整理自<Serverless 技术公开课>,"Serverless"公众号后台回复"入门",即可获取系列文 ...

  5. 基于nginx实现私有yum仓库

    基于本地光盘的源 server端IP:10.0.0.79 nginx使用默认路径.端口 yum install nginx -y #更改以root运行 sed -i '/^user/s/nginx/r ...

  6. PTA实验7-2-3 求矩阵的局部极大值 (15分)

    实验7-2-3 求矩阵的局部极大值 (15分) 给定M行N列的整数矩阵A,如果A的非边界元素A[i][j]大于相邻的上下左右4个元素,那么就称元素A[i][j]是矩阵的局部极大值.本题要求给定矩阵的全 ...

  7. 【高热FAQ】关于智慧康养物联网加速器 ,你想知道的都在这

    摘要:从软硬件解决方案.设备接入到资源扶持,一文梳理智慧康养物联网加速器中ISV最关心的问题. 本文分享自华为云社区<[高热FAQ]关于智慧康养物联网加速器 ,你想知道的都在这>,作者:技 ...

  8. 初学Python “登录”案例 更新!!

    更新内容:添加了登录次数,如果超过限制的次数,则提示账户被锁定,去某邮箱申请解锁账户! 此次仅把登录系统更新之后源代码放到这里,不在共享源文件在网盘了! 1 ''' 2 登录界面 3 ''' 4 5 ...

  9. VS2015+OpenCV+Qt

    VS2015+OpenCV+Qt 01.OpenCV 下载 进入官网链接: https://opencv.org,下载所需要的版本: 下载完成后直接双击,选择解压路径,解压到响应的文件夹中: 若之后需 ...

  10. [对对子队]会议记录5.22(Scrum Meeting9)

    今天已完成的工作 梁河览 ​ 工作内容:修改第一到九关新手引导,修复关卡选择bug ​ 相关issue:优化初步导出版本 ​ 相关签入:fix:修改第一关到第九关的新手引导和地图场景的bug 马嘉 ​ ...