(转)CentOs上配置samba服务
前 言
在我们使用 Windows 作为客户机的时候,通常有文件、打印共享的需求。作为Windows
网络功能之一,通常可以在 Windows 客户机之间通过 Windows Network 固有的功能实现这些要求。然而,通过 Samba
我们也可以让一台 CentOS 主机来兼容 Windows 网络,实现同样的功能,进而充分发挥 CentOS 主机的可用性。
本篇文档主要介绍怎样通过 Samba 服务器的构建实现 Windows 网络中的文件共享。
安装 Samba
首先,通过 yum 来在线安装 Samba 。
[root@sample ~]# yum -y install samba ← 安装 Samba
Setting up Install Process
Setting up repositories
update 100% |=========================| 951 B 00:00
base 100% |=========================| 1.1 kB 00:00
addons 100% |=========================| 951 B 00:00
extras 100% |=========================| 1.1 kB 00:00
Reading repository metadata in from local files
primary.xml.gz 100% |=========================| 73 kB 00:00
update : ################################################## 212/212
Added 212 new packages, deleted 0 old in 4.94 seconds
primary.xml.gz 100% |=========================| 569 kB 00:00
base : ################################################## 1500/1500
Added 1500 new packages, deleted 0 old in 28.97 seconds
primary.xml.gz 100% |=========================| 157 B 00:00
Added 0 new packages, deleted 0 old in 0.03 seconds
primary.xml.gz 100% |=========================| 32 kB 00:00
extras : ################################################## 124/124
Added 124 new packages, deleted 0 old in 1.93 seconds
Parsing package install arguments
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for samba to pack into transaction set.
samba-3.0.10-1.4E.9.i386. 100% |=========================| 101 kB 00:00
---> Package samba.i386 0:3.0.10-1.4E.9 set to be updated
--> Running transaction check
--> Processing Dependency: samba-common = 0:3.0.10 for package: samba
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for samba-common to pack into transaction set.
samba-common-3.0.10-1.4E. 100% |=========================| 37 kB 00:00
---> Package samba-common.i386 0:3.0.10-1.4E.9 set to be updated
--> Running transaction check Dependencies Resolved
=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
samba i386 3.0.10-1.4E.9 base 13 M
Installing for dependencies:
samba-common i386 3.0.10-1.4E.9 base 5.0 M
Transaction Summary
=============================================================================
Install 2 Package(s)
Update 0 Package(s)
Remove 0 Package(s)
Total download size: 18 M
Downloading Packages:
(1/2): samba-common-3.0.1 100% |=========================| 5.0 MB 00:04
(2/2): samba-3.0.10-1.4E. 100% |=========================| 13 MB 00:11
warning: rpmts_HdrFromFdno: V3 DSA signature: NOKEY, key ID 443e1821
Public key for samba-common-3.0.10-1.4E.9.i386.rpm is not installed
Retrieving GPG key from http://mirror.centos.org/centos/RPM-GPG-KEY-centos4
Importing GPG key 0x443E1821 "CentOS-4 key <>"
Key imported successfully
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing: samba-common ######################### [1/2]
Installing: samba ######################### [2/2]
Installed: samba.i386 0:3.0.10-1.4E.9
Dependency Installed: samba-common.i386 0:3.0.10-1.4E.9
Complete!
配置
Samba
然后,通过编辑 /etc/samba/smb.conf ,根据需求配置 Samba。在这里,本文的原则是只将文件共享应用于内网,并让将要被共享的目录拥有充分的读写权限属性。
[root@sample ~]# vi /etc/samba/smb.conf ← 编辑 Samba 的配置文件
#======================= Global Settings =====================================
[global] ← 找到这一行(全局设置标签),在此行下面添加如下行:
dos charset = GB2312 ← 将 Windows 客户端的文字编码设置为简体中文 GB2312
unix charset = GB2312 ← 指定 Samba 所在的 CentOS 服务端新建文件或目录时的编码为 GB2312
display charset = GB2312 ← 指定使用 SWAT(一种通过浏览器控制Samba的工具)时页面的默认文字编码
directory mask = 0777 ← 指定新建目录的属性(以下4行)
force directory mode = 0777
directory security mask = 0777
force directory security mode = 0777
create mask = 0777 ← 指定新建文件的属性(以下4行)
force create mode = 0777
security mask = 0777
force security mode = 0777
workgroup = MYGROUP ← 找到此行,将工作组名称改为 Windows 网络所定义的工作组名
↓
workgroup = WORKGROUP ← 变为此状态,这里以 Windows XP 默认的“WORKGROUP”为例
; hosts allow = 192.168.1. 192.168.2. 127. ← 找到此行,去掉行首的“;”,并制定访问限制
↓
hosts allow = 192.168.0. 127. ← 变为此状态,指定内网IP地址及本地,只允许这两种情况的访问
然后在配置文件的末尾填如下几行,定义公众共享目录:
[public]
comment = Public Stuff
path = /home/samba ← 指定共享目录位置
public = yes
writable = yes ← 赋予共享目录写入权限的属性
接下来,创建将要通过 Samba 共享给 Windows 网络的专用目录。
[root@sample ~]# mkdir /home/samba ← 建立共享文件专用目录
[root@sample ~]# chown -R nobody. /home/samba ← 设置专用目录归属为 nobody
[root@sample ~]# chmod 777 /home/samba ←
将专用目录属性设置为 777
在进行到服务端的连接之前,需要预先对用于登录 Samba 的用户进行设置。这里我们以 CentOS
中 Samba 标准的 Samba 用户数据库管理工具“smbpasswd”为例,创建用于登录 Samba 的用户数据。这里需要注意的一点:用
smbpasswd 创建用户的前提是,系统用户中存在该用户 -- 在基于系统用户之上,才可以创建该用户在 Samba 用户数据库中的信息。
[root@sample ~]# smbpasswd -a centospub ← 将系统用户 centospub(例)加入到 Samba
用户数据库
New SMB password: ← 输入该用户用于登录 Samba 的密码
Retype new SMB password: ← 再次确认输入该密码
Added user centospub.
启动 Samba 服务
在启动 Samba 服务之前,首先将防火墙设置中 Samba 所用到的端口进行开放。
[root@sample ~]# vi /etc/sysconfig/iptables ← 编辑 iptables 配置文件
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT ← 找到此行,在下面添加如下行:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 137 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 138 -j ACCEPT
[root@sample ~]# /etc/rc.d/init.d/iptables restart ← 重新启动 iptables ,使新的规则生效
Flushing firewall rules: [ OK ]
Setting chains to policy ACCEPT: filter [ OK ]
Unloading iptables modules: [ OK ]
Applying iptables firewall rules: [ OK ]
最后,启动 Samba 服务。
[root@sample ~]# chkconfig smb on ← 设置 Samba 自启动
[root@sample ~]# chkconfig --list smb ← 确认 Samba 启动标签,确认 2-5 为 on 的状态
smb 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@sample ~]# /etc/rc.d/init.d/smb start ← 启动 Samba 服务
Starting SMB services: [ OK ]
Starting NMB services: [ OK ]
从 Windows 客户端连接到 Samba
服务器
在服务端启动 Samba 服务后,我们就可以从 Windows 客户端通过 Windows 网络连接到 Samba。这里以 Windows XP 为例,说明如下连接过程:
1、从桌面打开“网上邻居”,并点击“查看工作组计算机”选项;
2、确认出现 Samba 服务端的连接,并双击该连接;(本站文档的主机名以 Sample 为例)
3、输入在服务端预先设置好的 Samba 用户的用户名及密码;(用户名同系统用户名,密码需要输入在通过 smbpasswd 为该系统用户设置的 Samba 专用的密码。)
4、然后确认能够连接到 Samba 服务器,并出现根目录及 Samba 专用共享目录。
最后,在相应目录进行新建、修改以及删除文件的操作,测试相应权限的可操作性。
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Samba是基于SMB协议的一个应用程序,目前的版本是2.3.x。Samba的功能很强大
,但易用性也极差。究其原因是它的配置文件太大和不容易理解,新手和熟手都
对其望而却步。其实仅仅实现文件共享这一单纯目的,配置Samba很简单,只需熟
悉几个操作即可。下面我用一个例子说明这几个操作。
假设你已熟悉Linux的基本操作,例如VI编辑器的使用、基本的操作文件命令。
现在我们有三台PC,一台安装了window2000,名字是test2000,其上有共享文件
夹share;其余两台安装了Linux,一台名字是testsamba,其上有一目录/pub;另
一台名字是testlinux,其上也有一目录/pub。我们要实现的目标是把testsamba
上的/pub共享,供test2000和test_linux的使用。
对test_samba我们进行下面操作:
在/etc/下找到smb.conf,用VI编辑器打开,
# vi /etc/smb.conf或vi /etc/samba/smb.conf
在【gobal】字段下,添加netbios记录,一般加在workgroup记录的下一行
;netbios name = testsamba
在【gobal】字段下,修改secrity记录;
secrity = share
在【public】字段下,修改path记录;
path = /pub
在【public】字段下,添加geuest ok记录;
guest ok = yes
删除【public】字段每行行首的";"标示;
保存退出。
简单解释一下,添加的netbios name是可以在test2000网络邻居中看得见的机器
名;添加的/pub是可以在网络邻居中看见的共享目录;添加guest ok是允许所有
用户都可以guest帐户访问共享;删除";"标示是要整个【public】字段成为可执
行。
现在/pub就成为可以被test2000和testlinux两台机器共享的目录了。
试试看:
在testsamba下,为使用test2000下的共享文件夹可以进行以下操作:
# smbclient -L //test2000
此命令为查看test2000下的共享情况,注意在系统要求输入password时,直接回
车即可进入test2000,此时屏幕上列出test2000下的共享。
#smbclient -U share (或smbmount //test2000/share
/pub)
此命令可进入test2000的share目录,屏幕上出现MS-DOS的提示符:时说明用户进
入了share目录。此时可以在提示符后输入"?"查找你可使用的命令。
在test2000下,使用testsamba的共享目录/pub,可以进行以下操作:
查找计算机testsamba,当testsamba目标出现时,双击图标pub,即进入共享文件
夹pub了。
在testlinux下,使用testsamba的共享目录pub,可进行如下操作:(假设已
知pub存在)
#smbmount //testsamba/pub pub
此命令可把testsamba下的pub挂到本机的pub上,同上在系统要求输入password时
,直接回车,接着依次输入#cd /pub/pub、#ls,屏幕即列出testsamba的pub目录
下的文件了。
Win2000和Linux实现文件共享了!
(转)CentOs上配置samba服务的更多相关文章
- 在CentOS上配置SAMBA共享目录(转载)
在CentOS上配置SAMBA共享目录 From: https://blog.csdn.net/qiumei1101381170/article/details/53265341 2016年11月21 ...
- 在CentOS上配置MySQL服务
#!/bin/sh # Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB # Thi ...
- 在CentOS上配置redis服务
#!/bin/sh # # redis Startup script for Redis Server # # chkconfig: - 80 12 # description: Redis is a ...
- 在CentOS上配置tomcat服务
# hapday start 2016-02-04 #!/bin/bash # description: Tomcat Start Stop Restart # processname: tomcat ...
- 在CentOS上配置Tomcat服务脚本
#!/bin/bash # chkconfig: - 85 15 # description: Tomcat Server basic start/shutdown script # processn ...
- CentOS 7下Samba服务安装与配置详解
1. Samba简介 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共 ...
- 如何在Fedora或CentOS上使用Samba共享
如今,无论在家里或者是办公场所,不同的电脑之间共享文件夹已不是什么新鲜事了.在这种趋势下,现代操作系统通过网络文件系统的方式使得电脑间数据的交换变得简单而透明.如果您工作的环境中既有微软的Window ...
- 【centos】centos安装配置samba
因为我的centos为一台阿里云服务器,想和我本机(mac)进行文件共享.所以在我的阿里云上安装配置samba. 服务器环境:centos 7.3 本地环境:mac 第1步:首先查看是否已经安装过了s ...
- 如何在RHEL7上搭建Samba服务实现Windows与Linux之间的文件共享
如何在RHEL7上搭建Samba服务实现Windows与Linux之间的文件共享 实现环境:VMware workstations.RHEL7.0 第一步:配置网卡IP及yum软件仓库 命令:vim ...
随机推荐
- 转 Microsoft's Objective-C tech started on BlackBerryOS, Tizen
今天看到了这个 Microsoft's Objective-C tech started on BlackBerryOS, Tizen 见原文 http://www.osnews.com/story ...
- 关于Linux x64 Oracle JDK7u60 64-bit HotSpot VM 线程栈默认大小问题的整理
JVM线程的栈默认大小,oracle官网有简单描述: In Java SE 6, the default on Sparc is 512k in the 32-bit VM, and 1024k in ...
- 第四章 ngrok使用
网址(下载):http://www.ngrok.cc/ 注册:http://www.ngrok.cc/login 管理后台:http://www.ngrok.cc/user.html 创建隧道,产生隧 ...
- Eclipse里面的一些常规设置
一.Eclipse里面的默认编码是GBK,但是Android开发的编码都是UTF-8,所以一定要修改自己的工程的编码,不要坑队友哦~ (1)选中当前的工程,点击右键,如图选择(这只是改变当前工程的编码 ...
- EF 连接MySQL 数据库 保存中文数据后乱码问题
EF 连接MySQL 数据库 保存中文数据后乱码问题 采用Code First 生成的数据库,MySQL数据库中,生成的表的编码格式为***** 发现这个问题后,全部手动改成UTF8(图是另一个表的 ...
- include,import,@class的区别
1.#include与#import功能一样,都是导入头文件 2.区别是#include是单纯导入头文件,如果重复导入头文件,头文件就被导入多分 3.#import在导入头文件之前会检查之前是否导入过 ...
- 【随笔】Linux服务器备份相关
服务器数据的安全性一直都是服务器日常管理的重中之重.Linux服务器虚拟化虽然以其高度可靠的作业系统而闻名,不过系统失效仍然可能发生.可能因为硬体故障,电源中断,或其他不可预料的问题.更常见的这 些问 ...
- 用grunt进行前端工程化之路
我们的项目wecash4.0的前端构建考虑过用fis和grunt. 目录: 前期调研:fis vs grunt vs gulp? 一.安装grunt和项目. fis是百度fex研发的构建工具,非常方便 ...
- 3dmax渲染插件,生成2.5d瓦片
基于3dmax2013的2.5d渲染插件,demo版,需要的和感兴趣的可以试用,这是百度网盘地址:http://pan.baidu.com/s/1c0mYY7e 插件主要功能,按层级对3dmax场景进 ...
- mysql分页原理和高效率的mysql分页查询语句
该博来自网络转载!!!供自己学习使用!!! 以前我在mysql中分页都是用的 limit 100000,20这样的方式,我相信你也是吧,但是要提高效率,让分页的代码效率更高一些,更快一些,那我们又该怎 ...