CentOS6.5安装配置Samba

时间:2021-08-14 15:39:05


本文的场景是虚拟机运行CentOS6.5,本机是Win7,现欲把CentOS上的一个文件夹共享出来,Win的机器可以读写。

Samba与window连接需要使用NetBIOS协议,请确认你的Win7系统已经安装了NetBIOS协议。

组成Samba运行的有两个服务,一个是SMB,另一个是NMB;SMB是Samba 的核心启动服务,主要负责建立 Linux Samba服务器与Samba客户机之间的对话, 验证用户身份并提供对文件和打印系统的访问,只有SMB服务启动,才能实现文件的共享,监听139 TCP端口;而NMB服务是负责解析用的,类似与DNS实现的功能,NMB可以把Linux系统共享的工作组名称与其IP对应起来,如果NMB服务没有启动,就只能通过IP来访问共享文件,监听137和138 UDP端口

配置防火墙

使用Samba服务器需在防火墙下开启:UDP 137 UDP 138 TCP 139 TCP 445 ,如果你懒的配置,可以选择关闭防火墙 # service iptables stop  。

1

2

3

4

5

# vi /etc/sysconfig/iptables

-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 -m state --state NEW -m udp -p udp --dport 137 -j ACCEPT

-A INPUT -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT

重启防火墙,使规则生效

1

/etc/rc.d/init.d/iptables restart

 

关闭SELINUX


1

2

# vi /etc/selinux/config

SELINUX=disabled

使配置生效重启计算机  # reboot

 

安装samba


1

# yum -y install samba samba-client

 

设置开机启动


1

2

# chkconfig smb on

# chkconfig nmb on

 

配置samba

开始配置samba之前别忘记备份一下:

1

# cp /etc/samba/smb.conf /etc/samba/smb.conf.back

接下来我是直接删除smb.conf文件,再创建smb.conf文件自行配置信息 配置信息如下:

1

2

3

4

5

6

7

8

9

10

11

[global]

workgroup = WORKGROUP            #工作组[可自行设置]

service string = Samba Server    #设置samba服务器名称[可自行更改]

netbios name = SambaServer       #设置服务器访问别名[可自行更改]

security = user                  #设置samba服务器安全级别。user:samba服务器验证; share:无权限验证; server:第三方主机验证;domain

[tangrucheng]                    #Windows网上邻居中看到的共享目录的名字

path = /data/www/www.tangrucheng.com    #共享文件地址

public = no                      #不公开目录

writeable = yes                  #共享目录可以读写

valid user = apache              #只允许apache用户访问

browseable = yes

 

添加smb用户

在添加smb用户之前添加linux用户

1

# useradd newuser -d /home/newuser -s /bin/false

然后,添加smb用户

1

# smbpasswd -a newuser

因为上面配置smb的时候我的验证用户为apache,直接执行  # smbpasswd -a apache 就好了。

 

重启服务


1

# service smb restart

1

# /etc/init.d/smb restart

 

查看服务是否开启


1

2

# pstree |grep smb

# netstat -tunpl |grep :13

 

测试

linux客户端:

1

# mount //192.168.10.1/tangrucheng /mnt -o username=apache

 

window客户端:

1

\\192.168.10.1\tangrucheng

查看所有会话  net use
清除记录会话  net use * /delete /y

 

显示客户端信息