安装与配置

安装samba:

[root@CentOS ~]# yum install samba samba-client

查看安装情况:

[root@CentOS ~]# rpm -qa | grep "samba"
samba-winbind-3.6.9-151.el6_4.1.i686
samba-client-3.6.9-151.el6_4.1.i686
samba-winbind-clients-3.6.9-151.el6_4.1.i686
samba-3.6.9-151.el6_4.1.i686
samba-common-3.6.9-151.el6_4.1.i686
  • samba-common 主要提供samba服务器的设置文件与设置文件语法检验程序testparm
  • samba-client 客户端软件,主要提供linux主机作为客户端时,所需要的工具指令集
  • samba 服务器端软件,主要提供samba服务器的守护程序,共享文档,日志的轮替,开机默认选项

启动 start,stop,restart

[root@CentOS ~]# /etc/init.d/smb start

查看smb服务状态

[root@CentOS ~]# service smb status
smbd (pid  1400) 正在运行...

设置开机自启动, 在3、5级别上自动运行samba服务

[root@CentOS ~]# chkconfig --level 35 smb on 

配置

[root@CentOS ~]# vim /etc/samba/smb.conf

#======================= Global Settings =====================================
# 该设置与Samba服务整体运行环境有关,它的设置项目针对所有共享资源
[global]

# ----------------------- Network Related Options -------------------------
#
# workgroup = NT-Domain-Name or Workgroup-Name, eg: MIDEARTH
#
# server string is the equivalent of the NT Description field
#
# netbios name can be used to specify a server name not tied to the hostname
        #定义工作组,也就是windows中的工作组概念
        workgroup = WORKGROUP
        #定义Samba服务器的简要说明
        server string = David Samba Server Version %v
        #定义windows中显示出来的计算机名称
        netbios name = DavidSamba

# --------------------------- Logging Options -----------------------------
#
#定义Samba用户的日志文件,%m代表客户端主机名
#Samba服务器会在指定的目录中为每个登陆主机建立不同的日志文件

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

# ----------------------- Standalone Server Options ------------------------
#
# Scurity can be set to user, share(deprecated) or server(deprecated)
        #共享级别,用户不需要账号和密码即可访问
        security = share

#============================ Share Definitions ==============================

[public]
#设置针对的是共享目录个别的设置,只对当前的共享资源起作用
        comment = Public Stuff  #对共享目录的说明文件,自己可以定义说明信息
        path = /home/samba/share  #用来指定共享的目录,必选项
        public = yes  #所有人可查看,等效于guest ok = yes

由于要设置匿名用户可以下载或上传共享文件,所以要给/home/samba/share目录授权为nobody权限。

[root@CentOS ~]# chown -R nobody:nobody /home/samba/share

问题

可以登录samba服务器,但是没有权限访问linux下的共享目录

解决思路

1 确保 linux 下防火墙关闭或者是开放共享目录权限 iptalbes -F
2 确保 samba 服务器配置文件 smb.conf 设置没有问题,可网上查阅资料看配置办法
3 确保 setlinux 关闭,可以用 setenforce 0 命令执行。 默认的,SELinux 禁止网络上对Samba服务器上的共享目录进行写操作,即使你在 smb.conf 中允许了这项操作。

解决办法

方法一:执行这两个命令:

[root@CentOS ~]# iptables -F
[root@CentOS ~]# setenforce 0

方法二:在 /etc/sysconfig/selinux 中设置参数 SELINUX=permissive (默认为 SELINUX=enforcing )

修改防火墙配置

[root@CentOS ~]# vi /etc/sysconfig/iptables

添加samba端口访问允许,注意一定要添加在ACCEPT行后面,不可添加在最后

-A INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
-A INPUT -p udp -m udp --dport 137 -j ACCEPT
-A INPUT -p udp -m udp --dport 138 -j ACCEPT

标签: none

添加新评论