文档章节

Mint17/Ubuntu14.04 samba文件服务器搭建

大培哥
 大培哥
发布于 2015/10/25 15:45
字数 1677
阅读 186
收藏 1

一、简介

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

二、搭建步骤

1、使用包管理器安装Samba服务器

sudo apt-get install samba

2、备份samba配置文件,避免错误配置,便于及时回退之前的状态

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

3.创建共享目录

注释:/home/share可以指定为一个合法的路径即可
sudo mkdir -p /home/share

4.修改配置文件

sudo vim /etc/samba/smb.conf

5、例如此时为所有的用户创建一个共享目录,此时在配置文件smb.conf最后添加如下:

[共享]
Commnet = “xxxxxx”                注释:该共享目录的描述
Path = “/home/share”              注释:设置共享目录为/home/share
Avaliable = yes/no                注释:设置共享目录是否可显示
Writable = yes/no                 注释:指定该目录缺省是否可写,也可以用readonly = no来设置可写
Browseable  = yes/no              注释:设置共享目录是否可显示

以下为附加选项:

Public yes/no                     注释:指明该共享资源是否能给游客账号访问

Valid users = zhaop_os            注释:samba账户名,这里是指此文件夹的合法用户为zhaop_os,若需要添加组,那么可以写成valid users = zhaopei_os,@group

Invalid users =XX                 注释:zengxs_os //指定不能使用的用户和组

Readlist users =                  注释:/指定能读取和写共享文件的组

write list = user, @group        注释:  指定能读取和写该共享资源的用户和组

admin list = user, @group        注释:指定能管理该共享资源(包括读写和权限赋予等)的用户和组

ide dot files = yes|no            注释: 指明是否像UNIX那样隐藏以“.”号开头的文件

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          注释:# 指明是否对大小写敏感,一般选no,不然可能引起错误

mangle case = yes|no             注释:# 指明混合大小写

default case = upper|lower       注释:# 指明缺省的文件名是全部大写还是小写

force user = testuser            注释:# 强制把建立文件的属主是谁。如果我有一个目录,让guest可以写,那么guest就可以删除,如果我用force user= testuser强制建立文件的属主是testuser,同时限制create mask = 0755,这样guest就不能删除了

wide links = yes|no              注释:# 指明是否允许共享外符号连接,比如共享资源里面有个连接指向非共享资源里面的文件或者目录,如果设置wide links = no将使该连接不可用

max connections = 100            注释:# 设定最大同时连接数

delete readonly = yes|no         注释:# 指明能否删除共享资源里面已经被定义为只读的文件

6、创建samba用户

例如为配置文件中的users创建zhaop_os,执行以下两个步骤:

1.sudo useradd zhaop_os

2.sudo smbpasswd zhaop_os

7、重启samba服务

1. sudo testparm               注释:查看载入的samba配置文件的内容,检查是否出错
2. sudo service reload         注释:重新载入配置文件
3. sudo service restart        注释:重启samba服务

Add-ons:我的samba私有文件夹具体配置过程

mkdir -p /home/pri/zhaopei_os

增加配置文件内容如下:

【zhaop_os】
Commnet = “xxxxxx”                注释:该共享目录的描述
Path = “/home/pri/zhaopei_os”       注释:设置共享目录为/home/share
Avaliable = yes/no                注释:设置共享目录是否可显示
Writable = yes/no                 注释:指定该目录缺省是否可写,也可以用readonly = no来设置可写
Browseable  = yes/no
Public yes/no                     注释:指明该共享资源是否能给游客账号访问
Valid users = zhaop_os            注释:samba账户名,这里是指此文件夹的合法用户为zhaop_os,若需要添加组,那么可以写成valid users = zhaopei_os,@group

创建对应的关联samba用户

1.sudo useradd zhaop_os

2.sudo smbpasswd zhaop_os

常见question

1.win7访问Linux Samba的共享目录提示“登录失败:用户名或密码错误”解决方法;

解决方法:见链接http://blog.sina.com.cn/s/blog_72aace390100r042.html。

2.长时间连接后,出现失去连接的情况;

解决方法:根据日志分析。

三、搭建过程中的心得

  1. 便于管理用户账户和密码可以在/etc/samba目录下创建一个smbusers.

  2. 当客户端访问smb服务器的连接已经打开,此时服务器重启以后,客户端需要重启才能重新完成此次连接。

  3. windows在地址栏中输入//XXXXXX,最后出现访问拒绝的情况,在确认服务器配置无误并且用户名存在的情况下,可以修改windows的本地策略,可以参照一下http://blog.sina.com.cn/s/blog_7291f6ad0100xedv.html。

    本人搭建的过程远远不像自己写文章这么的一气呵成,尝试,failed,尝试,failed,四五个来回总算基本能使用和部署samba服务器了。人生也是如此,贵在尝试,贵在坚持,我想若干年后看看曾经写过的东西,回想一路的艰辛,那一刻该有多么美好。

© 著作权归作者所有

共有 人打赏支持
大培哥
粉丝 5
博文 31
码字总数 29758
作品 0
浦东
程序员
私信 提问
Samba服务器共享文件夹无网络访问权限

我的虚拟机中是Ubuntu14.04,主机是win7.虚拟机中搭建了Samba服务器,设置了共享目录,可是我在主机端去访问该共享目录的时候报错说没有网络访问权限,selinux是关闭的,防火墙也是关掉的。...

我爱c语言
2016/05/17
786
6
CentOS6.3在“系统”菜单是不是没有“服务器配置”啊?

想搭建文件服务器,看别人的资料,对比发现没有“服务器设置”“Samba”菜单 问题如题

彩虹工作室
2012/12/26
565
10
如何搭建一个像百度云一样的局域网文件服务器?

小公司的局域网内,在CentOS7的服务器上,能不能搭建一个像百度云那样基于WEB界面来上传\下载文件的文件服务器? Samba/nfs/iscsi对于非IT专业同事来说都会被嫌弃 另外HFS也是略麻烦了...

rhinolt
2017/01/31
1K
3
ubuntu14.04/Mint17上Gitolite的搭建过程

一、安装git 服务器端 sudo apt-get install git-core 二、在服务器端安装gitolite服务器 sudo apt-get install gitolite Gitolite通过git来管理它的配置文件,我们将要创建一个操作系统的用...

大培哥
2015/11/10
0
0
RHEL7用samba作为文件服务器

参考文章:《linux就该这样学》 samba多用户、多组的访问 RedHat7下Samba服务搭建配置实例 需求:20多台装有win7系统的计算机访问,有可以共同访问的目录,有各自部门各自访问的目录 实验环境...

DEAST
2017/03/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

【Flutter教程】从零构建电商应用(一)

在这个系列中,我们将学习如何使用google的移动开发框架flutter创建一个电商应用。本文是flutter框架系列教程的第一部分,将学习如何安装Flutter开发环境并创建第一个Flutter应用,并学习Flu...

笔阁
13分钟前
1
0
什么是以太坊DAO?(三)

Decentralized Autonomous Organization,简称DAO,以太坊中重要的概念。一般翻译为去中心化的自治组织。 投票支付合约的所有费用和行动需要时间,并要求用户始终保持活跃,知情和专注。另一...

geek12345
15分钟前
0
0
一个本科学生对Linux的认知

一个本科学生对Linux的认知 我是一名大三的普通一本大学的软件工程的一名学生,学校开设了一些关于系统开发的课程,纸上得来终觉浅,学校的课程课时较短,想要在56个课时之内学会一些公司需要...

linuxCool
57分钟前
2
0
CentOS 安装Tomcat

Tomcat 介绍 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。 Java 程序写的网站用tomcat+jdk来运...

野雪球
今天
1
0
OSChina 周四乱弹 —— 每天都迟到是种什么样的体验

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @开源中国首席机器人 :《Too Good At Goodbyes (Acoustic) - Sam Smith - 单曲》 《Too Good At Goodbyes (Acoustic) - Sam Smith - 单曲》 ...

小小编辑
今天
709
12

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部