文档章节

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

大培哥
 大培哥
发布于 2015/10/25 15:45
字数 1677
阅读 205
收藏 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服务器了。人生也是如此,贵在尝试,贵在坚持,我想若干年后看看曾经写过的东西,回想一路的艰辛,那一刻该有多么美好。

© 著作权归作者所有

共有 人打赏支持
大培哥
粉丝 6
博文 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

没有更多内容

加载失败,请刷新页面

加载更多

equals()的重写规则

自反性。对于任何非null的引用值x,x.equals(x)应返回true。 对称性。对于任何非null的引用值x与y,当且仅当:y.equals(x)返回true时,x.equals(y)才返回true。 传递性。对于任何非null的引用...

无精疯
10分钟前
0
0
Go基础系列:双层channel用法示例

双层通道的解释见Go的双层通道 以下是一个双层通道的使用示例。注意下面的示例中使用了"信号通道"(Signal channel),但这里的信号通道是多余的,仅仅只是为了介绍。 信号通道不用来传递数据,...

echojson
18分钟前
0
0
PHP文件上传error的错误类型

PHP文件上传error的错误类型 - $_FILES['file']['error'] 有以下几种类型 1、UPLOAD_ERR_OK 其值为 0,没有错误发生,文件上传成功。 2、UPLOAD_ERR_INI_SIZE 其值为 1,上传的文件超过了 ph......

小良下山化了个缘
44分钟前
2
0
分布式项目(四)Mapping Server 数据映射

上回说道CoAp client和server的实现,数据也安装定义的格式发送到了kafka中,接下来就是Mapping server的实现,物理设备数据映射到抽象设备上,并赋予数据业务含义。 iot-mapping 构建iot-m...

lelinked
54分钟前
2
0
使用data pump驱动的外部表移动数据

使用data pump驱动的外部表移动数据 比如我们有一个报表的数据,准备从一个数据库A中移动到另一个数据库B中,如何实现? 这个问题,我们使用带data pump驱动的外部表方式,很容易实现,具体方法如下...

突突突酱
56分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部