• SAMBA服务器搭建


    一、安装软件

    yum -y install samba samba-common samba-client  

    二、主要相关文件

    /etc/samba/smb.conf    samba的主要配置文件

    /etc/samba/smbusers    samba的用户别名,比如可以将root用别名administrator、admin代替等(作用:可以只告知samba用户该别名,这样可以保护真实的samba服务器/etc/passwd的用户不泄漏)

    /etc/samba/lmhosts     samba的IP和域名对应,类似/etc/hosts文件功能

    /etc/samba/smbpasswd        该文件为手动创建,用于存放samba用户及密码

    三、smb.conf主要说明

    [global]

    workgroup = WORKGROUP
    //说明:指明共享所在的工作组,可以是NT域名、工作组名
    server string = samba server on Centos
    //说明:客户端看到的服务器的描述信息
    netbios name = centos_smb
    //说明:设置Samba Server的NetBIOS名称。如果不填,则默认会使用该服务器的DNS名称的第一部分。netbios name和workgroup名字不要设置成一样了
    interfaces = lo eth0
    //说明:设置Samba Server监听哪些网卡,可以写网卡名,也可以写该网卡的IP地址
    hosts allow = 192.168.1. 192.168.163. 192.168.153.
    //说明:表示允许连接到Samba Server的客户端,多个参数以空格隔开。可以用一个IP表示,也可以用一个网段表示。我这里只允许3个网段里的所有客户端访问samba server。(注释掉表示允许所有IP)
    security = user
    //说明:设置用户访问Samba Server的验证方式,一共有四种验证方式。
    1. share:用户访问Samba Server不需要提供用户名和口令, 安全性能较低。
    2. user:Samba Server共享目录只能被授权的用户访问,由Samba Server负责检查账号和密码的正确性。账号和密码要在本Samba Server中建立。
    3. server:依靠其他Windows NT/2000或Samba Server来验证用户的账号和密码,是一种代理验证。此种安全模式下,系统管理员可以把所有的Windows用户和口令集中到一个NT系统上,使用Windows NT进行Samba认证, 远程服务器可以自动认证全部用户和口令,如果认证失败,Samba将使用用户级安全模式作为替代的方式。
    4. domain:域安全级别,使用主域控制器(PDC)来完成认证。
    我只需要user级别的安全验证就可以了。
    username map = /etc/samba/smbusers
    //说明:用来定义用户名映射,比如可以将root换成administrator、admin等。要事先在smbusers文件中定义好。比如:root = administrator admin,这样就可以用administrator或admin这两个用户来代替root登陆Samba Server,以保护Linux的系统账号root。后面会介绍这个文件
    encrypt passwords = true
    //说明:是否将认证密码加密。因为现在windows操作系统都是使用加密密码,所以一般要开启此项。
    passdb backend = smbpasswd
    //说明:passdb backend密码验证后端。目前支持的有三种:smbpasswd、tdbsam和ldapsam。其中smbpasswd方式是使用smb自己的工具smbpasswd来给系统用户(真实用户或者虚拟用户)设置一个Samba密码,客户端就用这个密码来访问Samba的资源。smbpasswd文件默认在/etc/samba目录下,不过有时候要手工建立该文件。这里我选用smbpasswd。
    smb passwd file =/etc/samba/smbpasswd
    //说明:用来定义samba用户的密码文件。smbpasswd文件如果默认不存在,要手工新建。
    log file = /var/log/samba/log.%m
    //说明:设定 samba server 日志文件的储存位置和文件名(%m代表客户端主机名)。
    max open files = 1000
    //说明:同一客户最多能打开的文件数目
    socket options = TCP_NODELAY
    //说明:用来设置服务器和客户端之间会话的Socket选项,可以优化传输速度。

    [xxxxx] 共享目录
    //说明:xxxxx表示共享名

    comment = code string
    //说明:comment是对该共享的描述,可以是任意字符串。
    path = /home/songyd/code
    //说明:path用来指定共享目录的路径。
    writable = yes
    //说明:writable用来指定该共享路径是否可写。这里我们允许写入,以满足文件双向共享。

    writelist = mysql, jack

    //说明:只允许mysql和jack2个用户对此资源可以写,其他的为read only
    browseable = yes
    //说明:browseable用来指定该共享是否可以浏览。
    available = yes
    //说明:available用来指定该共享资源是否可用。
    guest ok = no
    //说明:是否允许允许来宾访问
    read only = yes
    //说明:设置权限为只读权限
    public = no
    //说明:共享目录允许所有用户访问及上传文件
    valid users = jack sunny
    //说明:只允许jack sunny访问该共享资源

    四、一个完整的smb.conf实例

    [global]
    workgroup = WORKGROUP
    server string = samba server on Version %v
    netbios name = centos_smb
    interfaces = lo eth0
    #hosts allow = 192.168.16. 192.168.20.
    security = user
    username map = /etc/samba/smbusers
    encrypt passwords = true
    passdb backend = smbpasswd
    smb passwd file =/etc/samba/smbpasswd
    log file = /var/log/samba/log.%m
    max open files = 1000
    socket options = TCP_NODELAY

    [webfile]
    comment = frontend web
    path = /home/wwwroot/frontend/web
    browseable = yes
    writable = yes
    create mask = 0664
    directory mask = 0755
    guest ok = no
    public = no
    available = yes

    五、新建samba用户

    smbpasswd -a mysql (mysql为/etc/passwd下存在的用户,不存在会报错)

    New SMB password:
    Retype new SMB password:
    Added user mysql.

    输入完该samba用户密码后,会在/etc/samba/smbpasswd文件生成mysql用户密码信息,如果不想让samba用户使用mysql作为samba用户名访问的话,则可以在/etc/samba/smbusers 设置改用户别名,如下写出了添加mysql后的smbpasswd文件和smbusers文件信息

    [root@nginx samba]# cat smbpasswd
    mysql:500:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:FDB5CFC19C8AC660A21CA41FE95E7D8:[U ]:LCT-5874994E: 
    [root@nginx samba]# cat smbusers
    # Unix_name = SMB_name1 SMB_name2 ...
    root = administrator admin
    nobody = guest pcguest smbguest
    mysql = sql     (samba用户可以使用sql作为samba帐号来访问samba服务器)

    六、重启、启动samba

    service smb start

    service nmb start  (nmb作用是netbios,可以使用主机名方式访问samba)

  • 相关阅读:
    根据第三方提供的wsdl报文(axis2开发),进行的webservice应用的开发实例
    调用axis2开发的接口遇到的问题
    使用 DJ Java Decompiler 将整个jar包反编译成源文件
    解析Myeclipse项目下的.classpath文件
    使用cxf开发webservice应用时抛出异常
    hibernate 映射 多对一
    jquery获取元素的值,获取当前对象的父对象等等
    web项目中加入struts2、spring的支持,并整合两者
    Struts2中的 配置文件
    对list集合中的对象按照对象的某一属性进行排序
  • 原文地址:https://www.cnblogs.com/harlanzhang/p/6269941.html
Copyright © 2020-2023  润新知