CentOS 6.8安装Samba 4做Windows共享服务器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS 6.8安装Samba 4做Windows共享服务器相关的知识,希望对你有一定的参考价值。

在某些情况下为了实现Windows多台服务器负载均衡,需要使用共享来做图片及附件的上传空间。

这个时候就需要使用到Samba、IIS虚拟目录等相关技术

Web服务器使用upload作为上传的目录,现在需要使用2台服务器做负载均衡,后台使用一台Samba服务器作为文件共享存储

1.建立Samba文件服务器

卸载旧的samba组件,CentOS 6默认安装的是3.6的版本

for a in `rpm -qa|grep samba`; do rpm -e --nodeps $a;done

2.安装Samba 4

yum -y install samba4 samba-common samba4-client

3.建立共享用户

说明:由于Windows在IIS中站点下是不能直接通过磁盘映射的方式作为站点路径,必须使用原始的\\192.168.10.2\sns\upload这样的目录,而此时访问共享的用户就是应用程序池的用户。

这个时候就可以2种选择:

a.samba使用匿名访问可读写

b.修改站点应用程序池用户为访问samba用户

为了简单我们这里使用samba匿名访问可读写的方式来进行配置

为共享创建系统用户及组

groupadd -g 8800 smbgroup

useradd -g smbgroup -s /sbin/nologin -d /dev/null smbuser

创建共享目录

mkdir /data/share

chown -R smbuser.smbgroup /data/share

chmod -R 755 smbuser.smbgroup /data/share


4.配置Samba

/etc/samba/smb.conf

[global]
        workgroup = WORKGROUP
        server string = FileServer
        #hosts allow = 127. 192.168.10
        log file = /var/log/samba/log.%m
        max log size = 50
        
        security = user
        passdb backend = tdbsam
        map to guest = bad user
        guest account = smbuser
        
        create mask = 0775
        force create mode = 0775
        directory mask = 0775
        force directory mode = 0775
        
        unix charset = cp936
        dos  charset = cp936
        
        use sendfile=yes
        write raw = yes
        read raw = yes
        max xmit=65535
        aio read size = 16384
        aio write size = 16384
[upload]
        comment = sns
        path = /var/www/html/upload
        browseable = no
        guest ok = yes
        writable = yes
        #valid users = @smbgroup

说明:在samba 4版本里面security这个值已经废弃了share,server。因此配置匿名访问就需要

        security = user
        map to guest = bad user


5.测试samba

[[email protected] samba]# testparm
Load smb config files from /etc/samba/smb.conf
Processing section "[upload]"
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

# Global parameters
[global]
        dos charset = cp936
        unix charset = cp936
        server string = FileServer
        security = USER
        map to guest = Bad User
        guest account = smbuser
        log file = /var/log/samba/log.%m
        max log size = 50
        max xmit = 65535
        idmap config * : backend = tdb
        create mask = 0775
        force create mode = 0775
        directory mask = 0775
        force directory mode = 0775
        aio read size = 16384
        aio write size = 16384
        use sendfile = Yes


[upload]
        comment = sns
        path = /var/www/html/upload
        read only = No
        guest ok = Yes
        browseable = No


6.设置启动服务及开机启动

/etc/init.d/nmb start
/etc/init.d/smb start
chkconfig nmb on
chkconfig smb on


第二部分:Windows IIS使用共享作为路径

举例:

我需要在站点的SignPDF路径下建立PDF虚拟路径

1.点击“站点”--》对应的SignPDF目录,右击“SignPDF”,选择“建立虚拟目录”



技术分享

2.输入别名,我们这里输入“PDF”,然后选择对应的物理路径。

技术分享

注意:

  1. 这里的物理路径,如果使用共享的话,不能使用磁盘映射的路径,比如我将共享映射为Z盘,这里选择Z盘是无效的,必须使用共享的全路径

  2. 如果Samba不是使用匿名访问的话,这里就需要选择“连接为”,设置对应的用户及密码,这里的用户需要自行到Windows系统中进行添加,并且用户名密码可访问共享。


问题:

1.在配置Samba后发现在A节点建立的目录,B节点无法写入,这是因为2个用户是一致的但是用户的组不一致。比如A服务器主机名为ServerA,B服务器的主机名为ServerB,因此在Samba中的A节点对应的权限就是ServerA\smbuser,B服务器对应的权限就是ServerB\smbuser,这就是造成2台服务器权限不一致的问题。

在smb.conf中添加

        create mask = 0775
        force create mode = 0775
        directory mask = 0775
        force directory mode = 0775

再重启服务即可

本文出自 “枫林晚” 博客,请务必保留此出处http://fengwan.blog.51cto.com/508652/1843034

以上是关于CentOS 6.8安装Samba 4做Windows共享服务器的主要内容,如果未能解决你的问题,请参考以下文章

centos 6.5 samba 4 源码编译安装错误

centos 6.8安装redis

centos7.4安装samba服务

尝试CentOS 6.8安装Apache服务

centos 6.8 下安装redmine

CentOS7 安装Python3.6.8