配置Samba服务器配置现实文件共享(详解)

简介:

配置Samba服务器配置现实文件共享

 

 

一:实验环境

Samba服务端:xuegod63.cn   IP:192.168.1.63

Samba客户端:xuegod64.cn   IP:192.168.1.64

1:关闭iptables #很重要

2:关闭selinux

二:实验目标

1、samba服务器概述

2、samba服务器配置文件

3、实战,举例

三:实验代码

第一块:Samba服务概述:

    Samba 最先在Linux Windows 两个平台之间架起了一座桥梁,正是由于Samba 的出现,我们可以在Linux 系统和Windows 系统之间互相通信,比如拷贝文件、实现不同操作系统之间的资源共享等等,我们可以将其架设成一个功能非常强大的文件服务器,也可以将其架设成打印服务器提供本地和远程联机打印。

 

Samba 应用环境:

文件和打印机共享:文件和打印机共享是Samba 的主要功能,SMB 进程实现资源共享,将文件和

打印机发布到网络之中,以供用户可以访问。

身份验证和权限设置:smbd 服务支持user mode domain mode 等身份验证和权限设置模式,

通过加密方式可以保护共享的文件和打印机。

端口号 139 和 445

    在早期,SMB 运行于NBT 协议(NetBIOS over TCP/IP)上,使用UDP 协议的137138 TCP 协议的139 端口。NetBIOS是Network Basic Input/Output System的简称,网络基本输入/输出系统协议。协议,一般指用于局域网通信的一套API是由IBM公司开发。主要作用:通过NETBIOS协议获得计算机名称,然后把计算机名解析为对应IP地址

模式: C/S 模式

 

Samba 常规服务器配置---基本的Samba服务器的搭建流程主要分为四个步骤:

[1]编辑主配置文件smb.conf,指定需要共享的目录,并为共享目录设置共享权限。

[2]、在smb.conf 文件中指定日志文件名称和存放路径。

[3]、设置共享目录的本地系统权限samba共享权限

[4]、重新加载配置文件或重新启动smb 服务,使用配置生效

 

1:Samba安装与启动

1)安装Samba:服务器端:

[root@xuegod63 ~]# rpm -ivh /mnt/Packages/samba-3.5.10-114.el6.x86_64.rpm

#该包为Samba 服务的主程序包。

[root@xuegod64 ~]# rpm -ivh /mnt/Packages/samba-client-3.5.10-114.el6.x86_64.rpm
#该包为Samba 的客户端工具,是连接服务器和连接网上邻居的客户端工具并包含其测试工具

2)服务启动

[root@xuegod63 ~]#service smb start

[root@xuegod63 ~]#chkconfig --level 3 smb on #运行级别自动加载

chkconfig --level 3 smb off #运行级别不自动加载

3)查看端口:

[root@xuegod63 ~]# netstat -antup | grep smb

tcp        0      0 :::139            :::*             LISTEN      3086/smbd           

tcp        0      0 :::445            :::*             LISTEN      3086/smbd     

 

 

2:samba配置文件详解

samba.conf 配置简介

  smb.conf 文件的开头部分为samba 配置简介,告诉我们smb.conf 文件的作用及相关信息。

smb.conf 中还有以;”开头,这些都是samba 配置的格式范例,默认是不生效滴,可以通过

去掉前面的;”并加以修改来设置想使用的功能。

下面我们说下[global]全局配置中常用字段及设置方法:

1: 设置samba 服务器所在工作组或域名

       workgroup = xuegod.cn  #工作组,随便设置

2: 服务器描述,服务器描述实际上类似于备注信息,

设置samba 描述信息为xuegod.cn Samba Server  ”。

        server string = xuegod.cn Samba Server  #samba服务器描述

3: 设置samba 服务器安全模式。常见模式有两种:share 安全级别模式和user 安全级别模式

samba 服务器有shareuserserverdomain AD活动目录 五种安全模式。 

 

  1share 安全级别模式

     客户端登录samba 服务器,不需要输入用户名和密码就可以浏览samba 服务器的资源,适用于公

共的共享资源,安全性差,需要配合其他权限设置,保证samba 服务器的安全性。

  2user 安全级别模式

     客户端登录samba 服务器,需要提交合法帐号和密码,经过服务器验证才可以访问共享资源,服

务器默认为此级别模式。

  3Share Definitions 共享服务的定义

[homes]为特殊共享目录,表示用户主目录。

[printers]表示共享打印机。

4:[share]  #设置共享名

        comment = Home Directories  #对共享名的描述

        browseable = yes   #是否允许查看此共享内容 。如果是否,后期通过绝对路径,可以查看到。

        path = /tmp/mysql      #共享路径,写绝对路径

        public = yes  #允许匿名查看

        readonly = yes

5:设置访问用户

   如果共享资源存在重要数据的话,需要对访问用户审核,我们可以使用valid users 字段进行设置

格式:

valid users = 用户名

valid users = @组名

 

6:设置目录只读

共享目录如果限制用户的读写操作,我们可以通过readonly 实现哈~

格式:

readonly = yes #只读

readonly = no #读写

 

7:设置目录可写

   如果共享目录允许用户写操作,可以使writable write list 个字段进行设置

writable 格式:

writable = yes #读写

writable = no #只读

write list 格式:

write list = 用户名

write list = @组名

 

8:hosts allow  hosts deny 字段的使用

hosts allow #字段定义允许访问的客户端

hosts deny #字段定义禁止访问的客户端

 

这里我们添加hosts deny hosts allow 字段

hosts deny = 192.168.0.0 #表示禁止所有来自192.168.0.0/24 网段的IP 地址访问

hosts allow = 192.168.0.24 #表示允许192.168.0.24 这个IP 地址访问

注意:host deny hosts allow 字段同时出现并定义滴内容相互冲突时,hosts allow 优先。

 

第二块:修改配置文件,实战举例

1:匿名共享:

    公司现在用一个工作组xuegod.cn 需要添加samba服务器作为文件服务器,并发布共享目

 /share,共享名为share,这个共享目录允许所有公司员工访问。

 

[root@xuegod63 ~]# vim /etc/samba/smb.conf   

[global]

        workgroup = xuegod.cn

        server string =xuegod.cn Server Version %v

        log file = /var/log/samba/log.%m

        max log size = 50

        security = share

        passdb backend = tdbsam

        load printers = yes

        cups options = raw

 

#[homes] #由于是匿名登录,所以不用给其宿主目录,避免占用系统资源以下的配置就没有任何效果。

        comment = Home Directories

        browseable = no

        writable = yes

 

[share]#共享名为share

        comment = All Printers

        path = /share

        browseable = yes

        guest ok = no #不允许用户在上面操作

        writable = yes

        public=yes                                                        

[root@xuegod63 ~]# mkdir /share

[root@xuegod63 share]# cp /etc/passwd /share/

[root@xuegod63 share]# mkdir mulu

[root@xuegod63 share]# touch a.txt

[root@xuegod63 samba]# service smb reload

 

此服务的使用方法

windows:   windows+R  ,打开一个运行窗口


wKiom1hEKV2hgfErAAAruN4GcAQ625.png

wKioL1hEKV2zBJ4pAAArMRE1ZQU503.png

wKioL1hEKV3xSpmlAABd0pbjR1E043.png

 

Linux:

 [root@xuegod64 ~]# smbclient -L 192.168.1.63

Enter root's password:  #密码为空,直接回车

wKioL1hEKWmRXeGVAABi5qBN7r8744.png 

 

2:通过用户名和密码共享文件。

公司想把/sales  共享出去,只有知道用户名和密码的销售部人员可以看这个共享。

分析:

为了公司系统安全起见,公司给销售部人员的账号密码是不能登录系统的,只会给销售部人员一个samba共享账号和密码的,切这个密码是不能和此账号登录系统的密码一样的。

大概步骤:

1:先指定存放密码的文件位置

2:将全局配置中security 设置为user 安全级别,

3::设置共享目录

4:设置权限

5:重启并测试

 

 

注意:一定要先指定共享用户存放密码的文件位置:

1:修改samba 主配置文件smb.conf

root@xuegod63 ~]# vim /etc/samba/smb.conf   

改: passdb backend = tdbsam

为: passdb backend = smbpasswd

     smb passwd file = /etc/samba/smbpasswd

wKiom1hEKXazGDZuAAAeS_YgwbA902.png 

2::添加销售部用户和并添加相应samba 帐号

    使用groupadd 命令添加sales 组,然后执行useradd 命令和passwd 命令添加销售部员工的帐号

及密码。

1)添加销售部用户和

[root@xuegod63 samba]# groupadd sales

[root@xuegod63 samba]# useradd -g sales sale1

[root@xuegod63 samba]# useradd -g sales sale2

[root@xuegod63 samba]# id sale2

uid=501(sale2) gid=500(sales) groups=500(sales)

 

2)为销售部成员添加相应samba 帐号及设置密码

[root@xuegod63 samba]# smbpasswd -a sale1

[root@xuegod63 samba]# smbpasswd -a sale2

New SMB password:1234

Retype new SMB password:1234

startsmbfilepwent_internal: file /etc/samba/smbpasswd did not exist. File successfully created. 

Added user sale2.

分析:在为此账户创建smb共享密码时,会先查看先前设置的共享用户的密码位置,发现没有这个文件夹,然后自动创建这个文件夹。

 

[root@xuegod63 share]# cat /etc/samba/smbpasswd

sale1:500:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:7CE21F17C0AEE7FB9CEBA532D0546AD6:[U          ]:LCT-57DFF2F4:

sale2:501:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:7CE21F17C0AEE7FB9CEBA532D0546AD6:[U          ]:LCT-57DFF2FB:

 

3:修改samba 主配置文件smb.conf

1设置共享目录:

oot@xuegod63 samba]# vim smb.conf

 

wKiom1hEKYfThh2KAABBsrHdh28110.png 

2)创建共享目录:

[root@xuegod63 Desktop]# mkdir /sales

[root@xuegod63 Desktop]# cp /etc/passwd !$

cp /etc/passwd /sales

 

4:重新加载配置

[root@xuegod63 samba]# service smb restart

Shutting down SMB services:                                [  OK  ]

Starting SMB services:                                     [  OK  ]

 

5:测试:输入销售部的帐号及密码进行登录

 

用户 sale1   密码:1234

 

 

wKiom1hEKarilQ9qAAA4bWnzmfQ155.png

wKiom1hEKavDt0LcAABQiVd8gS0800.png

wKioL1hEKauzrej0AAAzDtkO89g275.png


 

#样销售部成员sale1就可以进行访问sales 共享目录下的数据了这里除了看到sales的共享目录,还能看到用户的属主目录。

 

 

3:通过用户名和密码共享文件。

      公司新出产品,想要把产品信息/tmp/users文件夹共享给部门员工了解下,且共享名为users,员工中的组长具有可读可写和删除权限,其他员工只能读,不能写和删除。将zy2账号为组长用,其余为员工用。

注意:将上一实验中的第一项修改内容进行恢复再实验

1:添加系统用户并设置密码和设置用户登录共享密码

[root@xuegod63 tmp]# useradd -s /sbin/nologin zy1

[root@xuegod63 tmp]# useradd -s /sbin/nologin zy2

#创建两个登录samba服务器的用户,为了系统安全,这两个不用户是不能登录系统的。

[root@xuegod63 tmp]# echo 123456 | passwd --stdin zy1

[root@xuegod63 tmp]# echo 123456 | passwd --stdin zy2

#设置的用户登录系统的密码是可有可无的

[root@xuegod63 tmp]# pdbedit -a -u zy1

new password:12345

retype new password:12345

[root@xuegod63 tmp]# pdbedit -a -u zy2

new password:1234567

retype new password:1234567

#将用户成为Samba共享用户,且密码不同

 

2:修改配置文件

[root@xuegod63 samba]# vim smb.conf

[global]

        workgroup = MYGROUP

        server string = Samba Server Version %v

        log file = /var/log/samba/log.%m

        max log size = 50

        security = user #安全级别为需要用户密码登录

        passdb backend = tdbsam

        load printers = yes

        cups options = raw

 

[homes]

        comment = Home Directories

        browseable = yes #在浏览中可以看到共享用户的宿主目录,

        writable = yes #在宿主目录中具有可写权限

 

[users] #共享文件的共享名

        comment = All Printers

        path = /tmp/users #共享目录

        browseable = yes @在浏览中是可以看不到共享文件的

        read only = yes #对于共享文件中只具有只读的权限

        valid users = zy1, zy2 #共享用户

        write list = zy2 #共享用户中的某个用户的另加权限

 

3:修改贡献文件的权限,改为执行权限

[root@xuegod63 sales]# cd /tmp/

[root@xuegod63 tmp]# mkdir users

[root@xuegod63 tmp]# cp /etc/passwd !$

cp /etc/passwd users

[root@xuegod63 samba]# chmod 777 /tmp/users/

[root@xuegod63 samba]# service smb restart

测试:

输入:\\192.168.1.63

用户 zy1  密码:1234

 

wKioL1hEKcSQRWPEAAA4bWnzmfQ355.png

wKiom1hEKcWSL6AIAAA3yWcN1yY468.png

wKioL1hEKcXgfNSFAAA09msajRM620.png

wKiom1hEKcaRuZ0dAACfi0vzRtM983.png

 

 

总结:账户zy1有自己的属主目录,可以在自己的属主目录中创建新的文件,并且可以进行写,但是不能再共享文件中修改,或删除这里面的任何文件。所以此用户在共享文件夹中是只有只读权限的。

 

 

wKioL1hEKdfDjZ16AAAbxwTm1SE110.png 

#在运行CMD中清除之前用户登录的规则,并让其他用户登录

wKiom1hEKh_g-V1nAAA2cPZm0-I413.png

wKioL1hEKh-Bj1_-AAAy_QHyIUU204.png

wKiom1hEKh_AkrmqAABEIl30fNU414.png

wKiom1hEKh_yLISrAABLPBJrlbs299.png





 

 

 

#员工中的组长zy2不仅可以在自己的属主目录中创建文件夹,写文件,还能在共享文件中创建新的文件夹,写文件以及删除文件等。图中可以看出passwd文本已近被删除了,还创建了新的文件夹。因此此用户组长具有可读可写删除修改等权限。

 










本文转自 于学康 51CTO博客,原文链接:http://blog.51cto.com/blxueyuan/1879408,如需转载请自行联系原作者

目录
相关文章
|
1月前
|
存储 弹性计算 人工智能
2025年阿里云企业云服务器ECS选购与配置全攻略
本文介绍了阿里云服务器的核心配置选择方法论,涵盖算力需求分析、网络与存储设计、地域部署策略三大维度。针对不同业务场景,如初创企业官网和AI模型训练平台,提供了具体配置方案。同时,详细讲解了购买操作指南及长期运维优化建议,帮助用户快速实现业务上云并确保高效运行。访问阿里云官方资源聚合平台可获取更多最新产品动态和技术支持。
|
13天前
|
前端开发 Cloud Native Java
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
|
14天前
|
负载均衡 JavaScript Linux
做网站如何选择云服务器?(一)配置篇
选择服务器需考虑网站规模、技术需求和地理位置。个人博客适合基础配置,企业官网需4核CPU、8GB内存,电商平台则需更高配置并配备负载均衡。技术上,展示型网站用PHP+MySQL,互动社区需Node.js/Python环境,视频类网站要大带宽。地理位置影响服务器选择,国内用户选腾讯云/阿里云,海外用户选AWS等。主流服务器类型包括虚拟主机(入门级)、云服务器(推荐)和物理服务器(高端需求)。云服务商普遍提供免费试用,便于评估性能。
44 1
|
19天前
|
弹性计算
【已解决】Matomo本地SMTP配置可以发邮件,但部署到阿里云ECS就发不了邮件
在阿里云ECS上使用Matomo和PHPMailer发送邮件时遇到问题,邮件无法发出且接口调用Pending。经过排查,发现是ECS安全组未开放25/465端口,导致SMTP请求无法正常通信。解决方法为在安全组中配置并开放25/465端口,从而恢复邮件发送功能。
|
21天前
|
弹性计算 运维 Ubuntu
在阿里云ECS云服务器上安装、配置及高效使用Docker与Docker Compose
本文介绍了在阿里云ECS上使用Ubuntu系统安装和配置Docker及Docker Compose的详细步骤。通过这些工具,可以快速部署、弹性扩展和高效管理容器化应用,满足开发和运维需求。内容涵盖Docker的安装、镜像源配置、创建Web程序镜像以及使用Docker Compose部署WordPress等实际操作,并分享了使用体验,展示了阿里云实例的高性能和稳定性。
220 4
|
1月前
|
存储 人工智能 缓存
怎么根据自己的业务选择阿里云服务器配置大小?
本文指导如何根据业务需求精准选择阿里云服务器配置,涵盖个人轻量级至企业级、计算密集型等场景,推荐不同实例类型、存储与带宽方案,并提供成本优化策略,如包年包月节省成本、按需升级配置及选用性价比高的自研ARM架构实例。帮助用户在数字化转型中实现性能与成本的平衡。 注:以上配置与价格基于阿里云2025年官方数据,实际信息可能有所调整,请以官网实时页面为准。
|
1月前
|
人工智能 运维 监控
2025年阿里云服务器配置选择全攻略:CPU、内存、带宽与系统盘详解
在2025年,阿里云服务器以高性能、灵活扩展和稳定服务助力数字化转型,提供轻量应用服务器、通用型g8i实例等多样化配置,满足个人博客至企业级业务需求。针对不同场景(如计算密集型、内存密集型),推荐相应实例类型与带宽规划,强调成本优化策略,包括包年包月节省成本、ESSD云盘选择及地域部署建议。文中还提及安全设置、监控备份的重要性,并指出未来可关注第九代实例g9i支持的新技术。整体而言,阿里云致力于帮助用户实现性能与成本的最优平衡。 以上简介共计238个字符。
|
1月前
|
存储 安全 网络安全
阿里云国际站:阿里云服务器端口配置
悟空云@CloudWuKong阿里云是全球领先的云计算服务提供商,为用户提供弹性计算、数据库、存储、网络安全等一系列云计算服务。在使用阿里云服务器时,合理配置端口非常重要,可以提高服务器安全性和稳定性。
|
1月前
|
存储 人工智能 监控
新手小白购买阿里云服务器省钱策略、配置选型与注意事项
针对初次使用阿里云服务器的用户,本文提供系统化的指导方案以优化成本并满足业务需求。首先介绍配置选型,包括实例类型(通用型、计算型、内存型)与基础配置建议;其次阐述省钱策略,如企业认证、合理选择计费模式及批量购买;最后提醒注意事项,涵盖带宽存储规划、地域网络优化及安全管理。新手可通过明确需求、选择配置、优化购买和持续监控四步快速上手,实现高效稳定的云端部署。 注:推荐配置基于2025年阿里云产品体系,具体信息请参考官网。
|
14天前
|
Windows
Windows系统云服务器配置多用户登录
本教程介绍了在Windows云服务器上配置远程桌面服务的详细步骤,包括安装桌面会话主机和远程桌面授权、允许多用户远程连接以及配置新用户并加入远程桌面用户组。通过添加角色和功能、设置组策略以及管理用户权限,实现多用户同时登录和远程访问。按照指引操作,可顺利完成服务器的远程访问配置,提升管理和使用效率。
32 0

热门文章

最新文章