1.检查是否已经安装Samba
    
rpm -qa | grep samba

提示如下:

windows系统搭建samba服务器 安装配置samba服务器_python


上面的提示说明samba服务器已经安装,可以跳过第2步。否则,进入第2步下载安装。

2.samba服务器安装
    1)如果有rpm包,则直接用命令:rpm -ivh [rpm包所在目录] 进行安装;
    2)源码安装。下载源码、解压;进入源码目录,输入: ./configure -prefix=/usr/local/samba(这个路径可以自定);make all & make install.
    3)下载安装。输入命令:sudo yum install samba。

3.samba服务器配置

    1)配置文件所在目录:/etc/samba/smb.conf,修改配置文件前,个人习惯先备份配置文件:cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

    2)输入命令:vim /etc/samba/smb.conf

        主要配置两项:全局配置和配置共享目录


具体配置含义会在后面说明————

 

A.配置方案一——share模式

    a)全局配置

    

找到"security = user"这一行,将"user"改为"share",如上图所示。另外,还需要在security的下一行添加"guest account = root"以提供目录的写权限。

    b)设置共享目录

        


    找到"Share Definitions", 设置如上图所示。 B.配置方案二——user模式

    a)全局配置

         


    找到上图所在位置,查看"sercurity = user"字符串对不对。

     b)设置共享目录

         


        path对应于你要共享的目录(这个目录要存在才行),其中write list后面对应与linux系统的一个用户(当然这种方式有有安全隐患)

        打开终端:smbpasswd -a xm,添加用户xm,设置登录访问密码。

        

windows系统搭建samba服务器 安装配置samba服务器_windows系统搭建samba服务器_02


        设定好以后,重启samba服务,见第4步。

4.开启samba服务
    启动:/etc/init.d/smb start 或者 service smb start;
    停止:/etc/init.d/smb stop 或者 service smb stop;
    重启:/etc/init.d/smb restart 或者 service smb restart.

5.客户端连接

    首先,确定服务防火墙已关闭或者已设定好端口允许访问。

    


    添加139,445,137,138端口的访问,格式如上图所示。若设定后客户端仍不能访问,则再关闭SELinux或者设置SELinux中Samba服务器允许访问。详情参考:http://apps.hi.baidu.com/share/detail/35035795

    windows XP:"开始"-->"运行"-->"\\IP地址";

    Windows 7:win+R-->\\IP地址.

说明:如果是share模式,则可以直接访问;如果是user模式,则需要输入用户名和登录密码(见user模式的用户相关配置)

6.Samba服务器中相关说明
    A.Samba高级配置
    a.系统变量
        %I = 客户端IP
        %g = 当前用户所在的主工作组
        %G = 当前会话用户的工作组
        %H = 当前用户的主目录
        %d = 当前服务的进程ID
        %h = 运行Samba服务器的计算机名
        %V = Samba服务器的版本
        %R = 使用的协议等级
    b.常用高级配置参数
        config file:使用自定义配置文件参数,在smb.conf中添加"config file = /etc/smb.conf.%m"
        deadtime:整数,单位分钟。default为0
        domain master = yes/no
    B.Samba服务的文件共享
    a.全局参数
        workgroup:
        server string:
        security:share(无安全)/user(用户名.口令)/server(验证)/domain/ads
        hosts allow/deny
        printcap name:打印共享
        guest accent:
        log file:
        interfaces:
    b.用户共享目录
        comment:    注释
        path:    置顶共享的路径
        browseable:    是/否 显示共享目录
        printable:    是/否 允许打印
        hide dot file:    是/否 不显示隐藏文件
        public:    是/否 让可以登录的用户看到共享的目录
        guest ok:    是/否 公开共享,若为no,则进行身份验证(只有security - share,此项才起作用)
        read only:    是/否 以只读共享
        writeable:    是/否 以读写方式共享
        valid users:    此名单内的用户才能访问(拒绝优先)
        invalid users:    此名单呢的用户不能访问(拒绝优先)
        read list:    此名单的成员为只读
        write list:    如果设为只读,此名单的成员才能有写入操作

Done~!