安装Samba服务器详解

一:简介

       Samba最大的功能就是可以用于Linux与windows系统直接的文件共享和打印共享,Samba既可以用于windows与Linux之间的文件共享,也可以用于Linux与Linux之间的资源共享,由于NFS(网络文件系统)可以很好的完成Linux与Linux之间的数据共享,因而 Samba较多的用在了Linux与windows之间的数据共享上面。
       SMB是基于客户机/服务器型的协议,因而一台Samba服务器既可以充当文件共享服务器,也可以充当一个Samba的客户端,例如,一台在Linux 下已经架设好的Samba服务器,windows客户端就可以通过SMB协议共享Samba服务器上的资源文件,同时,Samba服务器也可以访问网络中 其它windows系统或者Linux系统共享出来的文件。
Samba在windows下使用的是NetBIOS协议,如果你要使用Linux下共享出来的文件,请确认你的windows系统下是否安装了NetBIOS协议(一般默认都安装好了)。


二:安装Samba

yum install -y samba

三:启动Samba

组成Samba运行的有两个服务,一个是SMB,另一个是NMB;

       SMB是Samba 的核心启动服务,主要负责建立 Linux Samba服务器与Samba客户机之间的对话, 验证用户身份并提供对文件和打印系统的访问,只有SMB服务启动,才能实现文件的共享,监听139 TCP端口;

       而NMB服务是负责解析用的,类似与DNS实现的功能,NMB可以把Linux系统共享的工作组名称与其IP对应起来,如果NMB服务没有启动,就只能通过IP来访问共享文件,监听137和138 UDP端口。
      Samba服务器可实现如下功能:WINS和DNS服务; 网络浏览服务; Linux和Windows域之间的认证和授权; UNICODE字符集和域名映射;满足CIFS协议的UNIX共享等。


启动samba:           

    service smb start 
    service nmb start

  

四:配置Samba

samba配置文件存放在/etc/samba/smb.conf

      包括四个设置段:

       [global]              设置全局环境选项

       [homes]             设置用户宿主目录共享

       [printers]            设置打印机共享

       [sharefiles]         设置文件共享                     # 名字自己设置,自己设置的共享文件段,

 注:行前有分号“;”或“#”都表示注释,“#”表示描述注释,“;”表示配置注释


[global]段主要选项设置:

workgroup=指定工作组或域

server string=描述

security=指定安全模式   #这里指定samba的安全等级。

关于安全等级有四种:

 share:用户不需要账户及密码即可登录samba服务器

 user:由提供服务的samba服务器负责检查账户及密码(默认)

 server:检查账户及密码的工作由另一台windows或samba服务器负责

 domain:指定windows域控制服务器来验证用户的账户及密码。

 hosts allow=限定主机访问

服务的基本限定:

1、哪些主机访问

  hosts allow

  hosts deny

2、哪些用户访问

#Samba允许优先 

 log file=指定日志文件存放位置

 max log size=指定日志文件大小


load printers:加载打印机

cups options = raw 打印机相关设置;


[homes]段主要选项

comment=Home Directories 描述信息

browseable=no 无权限共享目录隐藏

writable=yes 可写 no 只读

五、Samba应用示例

1、允许用户通过Windows客户端访问自己的宿主目录。

 ①、安装Samba,不需要对配置文件做修改,即可实现此功能

   如果启用了SElinux,需要先执行:setsebool -P samba_enable_home_dirs on 或者直接关闭 

   关闭iptables  service iptables stop

 ②、设置用户samba验证密码

    smbpasswd -a 用户名 #添加验证密码

    smbpasswd 用户名  #修改验证码

注:用户必须是linux系统用户

 ③、启动samba服务

   service smb start

wKioL1WbPryRaMqRAAD80Hy3GU8394.jpg

samba服务器段查看访问的客户端信息:smbstatus

[root@localhost ~]# smbstatus

Samba version 3.6.23-14.el6_6
PID     Username      Group         Machine                        
-------------------------------------------------------------------
3174      xxj           xxj           win-ohl5ffs9nit (172.16.11.121)

Service      pid     machine       Connected at
-------------------------------------------------------
IPC$         3174   win-ohl5ffs9nit  Sat Jul  4 11:28:50 2015

No locked files

2、设置samba共享目录/software,允许用户jack与mary可以通过windows客服端访问,并具有读写权限。

 ①创建目录/software,添加用户jack与mary,设置验证密码,启动samba服务

 ②关闭iptable和selinux

 ③配置/etc/samba/smb.conf

在配置文件末尾添加

[software]
path=/software  #共享目录
valid users=jack mary  #指定访问用户
writable=yes         #可读
browseable = no     #无权限共享目录隐藏

 ④重启samba服务

wKioL1WbRLvSm_BWAADdhFijKcs544.jpg

这里我们发现对software没有写权限

用户是否对共享文件有写权限是取决于:

 samba是否授予写权限

 用户在linux系统中是否对共享目录有写权限

要满足这2个条件,在客户端才对software具有读权限

groupadd softadmin
gpasswd -a jack softadmin
gpasswd -a mary softadmin
chgrp softadmin /softadmin
chmod g+w /softadmin

Samba服务器检测命令

 测试语法是否有错误  testparm


本文出自 “xiexiaojun” 博客,转载请与作者联系!

你可能感兴趣的:(linux,centos,centos6.5,samba服务器安装)