Samba的安装与配置

一、 服务器端配置

(一) samba服务器安装

  1. 服务查询

    默认情况下,Linux系统在默认安装中已经安装了Samba服务包的一部分 ,为了对整个过程有一个完整的了解,在此先将这部分卸载掉。使用命令rpm -qa | grep samba ,默认情况下可以查询到两个已经存在的包:
    
    samba-client-3.0.33-3.7.el5
    
    samba-common-3.0.33-3.7.el5
    
  2. 卸载Samba

    用rpm -e 将两个包卸载掉。对于samba-common-3.0.33-3.7.el5,因为与其它rpm包之间存在依赖关系,所以必须加参数-f和--nodeps,-f是指强制,--nodeps是指不检查依赖关系,具体完整命令为:
    

    rpm -e samba-common-3.0.33-3.7.el5 -f–nodeps

    rpm-e samba-client-3.0.33-3.7.el5 -f --nodeps
    
  3. 安装Samba

    用以下命令安装:
    
           rpm-ivh samba-3.0.33-3.29.el5_6.2.i386.rpm -f --nodeps
    
           rpm-ivh samba-client-3.0.33-3.29.el5_6.2.i386.rpm -f --nodeps
    
           rpm-ivh samba-common-3.0.33-3.29.el5_6.2.i386.rpm -f –nodeps
    

    或者可以直接 yum install samba samba-client samba-common-y 进行一键安装

    安装完成后,使用命令rpm -qa | grep samba进行查询,发现搭建samba服务器所依赖的所有服务器都已经安装好了即可。
    
  4. 配置smb.conf文件

    Samba的配置文件一般就放在/etc/samba目录中,主配置文件名为smb.conf,文件中记录着大量的规则和共享信息,所以是samba服务非常重要的核心配置文件,完成samba服务器搭建的大部分主要配置都在该文件中进行。
    

(二) 服务配置

   Samba服务器的工作原理是:客户端请求访问 ==> 查询主机配置文件smb.conf ==> 记录在日志文件中 ==> 客户端如果满足条件,允许访问

Samba一般放在/etc/samba目录中,主配置文件smb.conf

查看配置文件的详细信息ll /etc/samba/smb.conf

  1. Smb.conf配置通用格式:设置工作组或者域名称workgroup=smilegroup
    
                    服务器描述:server string=samba server one
    
  2. Samba安全模式设置:security=share samba
    

    服务器共有五种:share、user、server、domain、ads

  3. Share definition共享
    

(1) 设置共享名:/share 定义名为public

(2) 共享资源描述:comment=备注信息

(3) 共享路径:path=绝对路径

(4) 设置匿名访问:public=yes #允许匿名访问,反之亦然

(5) 设置访问用户:valid users=用户名 valid users=@组

(6) 设置目录只读:readonly=yes #只读 readonly=no #只写

(7) 设置目录可写:writeable=yes #读写 writeable=no #只读

          Writelist=用户名      write list=@组名
  1. Samaba服务日志文件
    

在/etc/samba/smb.conf文件中,log file为设置Samba日志的字段

log file=/var/log/samba/%m.log

日志文件存放在/var/log/samba/中

启动SMB服务:/etc/rc.d/init.d/smb start或者 service smb start

查看日志所有文件:ls -a /var/log/samba/

nmbd.log记录nmbd进程的解析信息。

smbd.log记录用户访问Samba服务器的问题,以及服务器本身的错误信息,可以通过该文件获得大部分的Samba维护信息。

  1. Samba服务密码文件(用户名和密码存放路径/etc/samba/smbpasswd)
    

添加访问用户:smbpasswd -a username

用户无法添加问题

在smb.conf文件中注释掉passdb backend = tdbsam 一行,再另加一行:smb passwd file = /etc/samba/smbpasswd,然后保存退出即可。

使用cat /etc/samba/smbpasswd 命令查看smbpasswd文件的内容。

  1. Samba虚拟账户
    

Vim /etc/samaba/smbusers

samba账号=虚拟账号(映射账号)

  1. 客户端访问控制
    

(1) IP限制 host allow IP #允许此网段IP访问

    host deny IP#禁止此网段IP访问

(2) 域名限制 hosts deny = .sale.com .net client1

表示禁止.sale.com域和.net域及主机名为client1的客户端访问public这个共享目录

域名和域名之间或域名和主机名之间需要使用“空格”符号隔开。

(3) 使用通配符进行访问限制

hosts deny = ALL

hosts allow = root

表示除了root,其他人一律不得访问

(4) 特殊情况

有时访问控制中IP地址冲突无法设置时,可以采用except进行限制

hosts allow = IP1 except IP2 IP3 表示允许网段1中主机访问,但禁止IP2&IP3进行访问

注:hosts allow和hosts deny如果设置在[global],表示对samba服务器全局生效;如果设置在目录里面,只对该目录生效

  1. 隐藏共享
    

Browseable = no 表示隐藏该目录

  1. 打印共享
    

    依旧修改smb.conf文件

(1) Load printers 表示打印功能,改为yes

(2) 设置printers配置项即可

二、 Linux客户端访问

一共两种方法

  1. Sambaclient命令

确保客户机安装samba-client

smbclient -L 目标IP地址或主机名 -U 登录用户名%密码

smbclient -L 目标IP地址或主机名 #匿名访问,直接回车即可

  1.  mount挂载查看
    

mount -t cifs //目标IP或主机名/共享目录名称 挂载点 –o username=用户名

表示挂载该主机上共享目录**到挂载点目录下,cifs为samba所使用的文件系统

三、 Windows客户端访问

  1. “运行“或者UNC访问
    

\服务器IP或服务器主机名\共享目录

  1. 映射网络驱动器访问
    

猜你喜欢

转载自blog.csdn.net/weixin_44792344/article/details/88865820
今日推荐