您的位置:首页 > 运维架构 > Linux

Linux-CenOS7 Samba的安装与配置

2015-09-18 14:13 507 查看
Samba是一套让UNIX系统能够应用Microsoft网络通讯协议的软件。它使执行UNIX系统的机器能与执行Windows系统的电脑分享驱动器与打印机。Samba属于GNU Public License(简称GPL)的软件;因此,你可以合法且免费地使用它。什么是SMB?SMB(Server Message Block)通信协议是微软(Microsoft)和英特尔(Intel)在1987年制定的协议,主要是作为Microsoft网络的通讯协议,而Samba则是将SMB协议搬到UNIX上来应用;Samba的核心是SMB(Server
Message Block)协议。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,更能与全世界的电脑分享资源;因为互联网上千千万万的主机所使用的通讯协议就是TCP/IP。SMB是在会话层(ession layer)和表示层(presentation layer)以及小部分应用层(applicationlayer)的协议。SMB使用了NetBIOS的应用程序接口(Application
Program Interface,简称API)。另外,它是一个开放性的协议,允许了协议扩展——使得它变得更大而且复杂;大约有65个最上层的作业,而每个作业都超过120个函数,甚至Windows NT也没有全部支持到,最近微软又把 SMB 改名为CIFS(Common Internet File System), 并且加入了许多新的特色,而Samba亦支持了NT Lan Manager 0.12等 SMB 的延伸协议,这是得Samba具有管理NT网域的能力。

假如访问需求如下

/smb/share允许Share、SharePC访问,/smb/company允许SharePC访问。

共享名 路径 权限

SHAREDOC /smb/share 仅允许特定用户进行读写访问

COMPANYDOC /smb/company 仅允许特定用户进行读写访问

1. 安装Samba

# yum -y install samba samba-client samba-common

查看安装版本信息

# rpm -qi samba





2. 配置Samba服务器

创建共享目录

# mkdir -p /smb/share

# mkdir -p /smb/company

配置内核参数

# ulimit -n 16384

# vi /etc/security/limits.conf

在最后加入以下内容

* - nofile 16384

Tip: 这主要是避免在启动Samba时出现以下警告信息:

rlimit_max: increasing rlimit_max (1024) tominimum Windows limit (16384)

备份原有的配置文件

# cd /etc/samba/

# cp smb.conf smb.conf.bk

删除原有所有内容,添加如下内容:

# vi /etc/samba/smb.conf

<span style="font-family:Microsoft YaHei;font-size:14px;">#======================= Global Settings =====================================
[global]

# ----------------------- Network Related Options -------------------------
workgroup=BIGCLOUD //定义工作组,也就是windows中的工作组概念
server string=David Samba Server Version %v     //定义Samba服务器的简要说明
netbios name=CentOS_Samba   //定义windows中显示出来的计算机名称

# ----------------------- Standalone Server Options ------------------------
security=user

# --------------------------- Logging Options -----------------------------
log file = /var/log/samba/log.%m //定义Samba用户的日志文件,%m代表客户端主机名

#============================ Share Definitions ==============================
[SHAREDOCS]
comment=通用共享
path=/smb/share
browseable=yes
available=yes
writable=yes
admin users=@SharePC
valid users=@Share @SharePC
write list=@Share @SharePC
create mask=0770
directory mask=0770

[COMPANYDOCS]
comment=公司资料
path=/smb/company
public=no
browseable=yes
available=yes
writable=yes
admin users=@SharePC
valid users=@SharePC
write list=@SharePC
create mask=0770
directory mask=0770</span>


3. 创建用户并分配权限

创建操作系统用户

# useradd Share

# useradd SharePC
修改操作系统用户的密码

# passwd Share

# passwd SharePC



创建SAMBA用户

# smbpasswd -a Share

# smbpasswd -a SharePC

4. 防火墙关闭

关闭firewall

# systemctl stop firewalld.service //停止firewall

# systemctl disable firewalld.service //禁止firewall开机启动

或者关闭iptables

# /etc/init.d/iptables stop

设置SELINUX=disabled(需要重启电脑)

# vi /etc/selinux/config文件中设置SELINUX=disabled ,然后重启服务器。

5. 开机启动smb服务

# systemctl restart smb

# systemctl enable smb

# systemctl status smb
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: