搭建Samba服务前请先了解Samba服务简介与常用配置项。

系统环境:CentOS6.8

提示:搭建前请关闭selinux和配置好(或关闭)防火墙,以便正常使用服务。

搭建背景:产品经理需要将设计开发文档上传到文件共享服务器中,需要创建一个Samba服务器,只有产品经理有权限上传文件到服务器,而所有公司内部的人员可以通过网页浏览到文档内容,并可下载文件。

通过网页浏览到文档内容可以点击Nginx显示文件目录(文件映射)

1.yum安装Samba

# yum -y install samba

2.添加文件管理的账号

# useradd -s /sbin/nologin product

#创建名为product的用户

-s:指定用户登入后所使用的shell。默认值为/bin/bash。/sbin/nologin则为不登录shell

本次以product默认生成的家目录为共享文件所在目录即/home/product/

# useradd  -s /sbin/nologin -g product -M product-ui

#创建名为product-ui的用户

-g 指定所属组为product

-M 不生成家目录

3.创建共享目录

# mkdir /home/product/doc
# chmod 775 /home/product/doc/
# echo "hello the world" > /home/product/doc/smb.txt #创建测试文件

4.修改配置文件

# vim /etc/samba/smb.conf

......
[product] #共享名称为product
comment = product_doc_share #共享注释 
path = /home/product #共享注释
admin users = @product #共享的管理者为product组成员
valid users = @product #允许访问该共享的用户为product组成员
create mask = 0775 #上传文件的默认权限
guest ok = no #拒绝匿名访问
writable = yes #支持写入数据

5.创建访问账号

客户端访问的Samba共享时所使用的账户名称就是服务器端操作系统中真实存在的系统账户名称,但不同于微软的共享设置,访问Samba共享的密码必须是独立的Samba密码,而不可以使用系统密码,这样即使有人获得了Samba账户的密码,也不能使用这些信息登录服务器本机的操作系统。所以成功访问Samba服务器还需要使用smbpasswd将系统账户添加到Samba,并设置相应的密码,CentOS6系统自带的Samba软件包安装后,默认会将账户与密码文件存放在/var/lib/samba/private目录下。

# smbpasswd -a product 
#提示输入账户密码,使用Samba共享时需为用户单独创建smb密码,而不是用户登陆密码
# smbpasswd -a product-ui

6.启动服务

检测Samba配置是否正确

# testparm
# service smb start
# chkconfig smb on #设置开机启动

7.访问Samba共享

1.Windows访问

win10下需启用Windows功能--“SMB 1.0/CIFS 文件共享支持”

samba 路径_Samba服务搭建

在Windows环境中,通过“开始”--“运行”菜单或者直接按Win+R快捷键开启运行对话框,在该对话框中输入\\IP(其中IP为Samba服务的IP地址),单机“确定”按钮访问Samba共享,如果是基于用户名和密码的访问,系统会提示输入账户与密码。如图所示。登录成功后可以看到Samba共享的目录。

samba 路径_samba 路径_02

访问成功可以直接浏览文本内容:

samba 路径_服务器_03

2.Linux客户端访问

Linux客户端使用smbclient命令可以访问服务器上的共享资源,如果安装有图形环境,也可以通过Linux图形界面连接。