1 Samba 简介
Samba(SMB是其缩写(xie)) 是一个网络服务器,用于Linux和Windows共(gong)享文件之用;Samba 即可以用于Windows和(he)Linux之间的共享(xiang)文件,也一样用于Linux和Linux之间的共(gong)享文件;不过对(dui)于Linux和Linux之间共享文件有(you)更好的网络文件系统NFS,NFS也是需(xu)要架设服务器的;
大家知道在Windows 网络中的每台机(ji)器即可以是文件共享的服务器,也可以同是客户机;Samba 也一样能行,比如一台Linux的(de)机器,如果兆渗架了Samba Server 后,它能充当共享服务器(qi),同时也能做为埋猜喊客户机来访问其(qi)它网络中的Windows共享文件系统,或(huo)其它Linux的Sabmba 服务器;
我们在Windows网络中(zhong),看到共享文件功能知道,我们(men)直接就可以把共享文件(jian)夹当做本地硬盘来使用。在Linux的中,就是通过Samba的向网络中的机器提供共(gong)享文件系统,也可以把网络(luo)中其它机器的共享挂载在本地机上使(shi)用;这在一定意义上说和FTP是不一样的。
Samba 用的netbios协议,如果您用Samba 不成功,
Linux与Windows 、Linux 和 Linux
2 Samba 功(gong)能和应用范围
Samba 应该范围主要是Windows和Linux 系统共存的(de)网络中使用;如(ru)果一个网络环境都是Linux或Unix类的系统,没(mei)有必要用Samba,应该用(yong)NFS更好一点(dian);
那Samba 能为我们提供点什么(me)服务呢?主要是共享文件和(he)共享打印机;
3 Samba 两个服务器相关启动(dong)程序、客户端及服务器配(pei)置文件等;
3.1 Samba 有两个服务器,一个是smb,另一个是nmb;
smb 是Samba 的主要启动服务(wu)器,让其它机器能知道(dao)此机器共享了什(shi)么;如果不打开nmb服务器的话,只能通过IP来访(fang)问,比如在Windows的IE浏览器上打入下面的一条(tiao)来访问;
\\192.168.1.5\共享目(mu)录
\\192.168.1.5\opt
而nmb是解析用的,解(jie)析了什么呢?就是(shi)把这台Linux机器所(suo)共享的工作组及在此工作组下的(de)netbios name解析出来(lai);
一般的情况下,在RPM包的系统,如果是用RPM包安装的Samba ,一般可以通过如下的(de)方式来启动Samba服务器;
[root@localhost ~]# /etc/init.d/smb start
启动 SMB 服务: [ 确(que)定 ]
启(qi)动 NMB 服务: [ 确定 ]
如果停止呢?就在smb后面加(jia)stop ;重启就是restart
[root@localhost ~]# /etc/init.d/smb stop
[root@localhost ~]# /etc/init.d/smb restart
对于所有系统来说(shuo),通用的办法就是直接运行smb 和nmb;当然您要知(zhi)道smb和nmb所在(zai)的目录才行;如果是自己编(bian)译的Samba ,您应该知道您把Samba放在哪里了;
[root@localhost ~]# /usr/sbin/smbd
[root@localhost ~]# /usr/sbin/nmbd
查看服务器是否运行起来(lai)了,则用下面的命令;
[root@localhost ~]# pgrep smbd
[root@localhost ~]# pgrep nmbd
关掉Samba服务器,也可以用下面(mian)的办法,大多是通用的;要root权限来执行;
[root@localhost ~]# pkill smbd
[root@localhost ~]# pkill nmbd
3.2 查看Samba 服务器的端口及防(fang)火墙;
查弯野看这个(ge)有何用呢?有时(shi)你的防火墙可能(neng)会把smbd服务器的端口封掉(diao),所以我们应该(gai)smbd服务器所占用的端口;下(xia)面查看中,我们知道(dao)smbd所占用的端口是(shi)139和445 ;
[root@localhost ~]# netstat -tlnp |grep smb
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 10639/smbd
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 10639/smbd
如果您有防火墙,一定要(yao)把这两个端口打开(kai)。如果不知道怎么打开(kai)。可能你和我一样是新(xin)手,还是把防火墙规则清掉也(ye)行;
[root@localhost ~]# iptables -F
或
[root@localhost ~]# /sbin/iptables -F
3.3、查看Samba 服(fu)务器的配置文件;
如果我们是用Linux发行版(ban)自带的Samba软件包,一般情况下Samba服务器的配置(zhi)文件都位于/etc/samba目录(lu)中,服务器的主配置文(wen)件是smb.conf;也有有户配置(zhi)文件 smbpasswd、smbusers和lmhosts等(最好您查看一下这些(xie)文件的内容);还有一个文件是secrets.tdb,这个文件是Samba 服务器(qi)启动手自动生成的;我们慢慢根据(ju)教程的进度来适当(dang)地增加这些文件的说明吧;一下子都(dou)说出来,感觉内容太多;所以只能一(yi)点一点的来了;
3.4、Samba 在Linux 中的一些工具(服务器端(duan)和客户端);
smbcacls smbcontrol smbencrypt smbmount smbprint smbstatus smbtree
smbclient smbcquotas smbmnt smbpasswd smbspool smbtar smbumount
smbd nmbd mount
其中服(fu)务器端的是smbd、nmbd、smbpasswd ;其它的大多是客户端;这些(xie)并不是都需要一定要精通的,但至少得会用几个;比(bi)如smbmount(也就是mount 加参数的用法),还用smbclient等;
3.5 在Linux 中的(de)常用工具mount(smbmount)和smbclient;Windows查看Linux共享的方法 ;
3.5.1 在Linux系统中查(cha)看网络中Windows共享文件及Linux中的Samba共享文件;
一般的情(qing)况下,我们要用到smbclient;常用(yong)的用法也无非是下面的;
[root@localhost ~]# smbclient -L //ip地址(zhi)或计算机名
这个以(yi)后慢慢补充吧;
3.5.2 在Windows中访问Linux Samba服务器共享文件(jian)的办法;
这个简单吧,在网上(shang)领居,查看工作组就(jiu)能看得到,或者在浏览器上输(shu)入如下的
\\ip地址或计算机名
这样就能看到这个机(ji)器上有什么共享的了,点鼠标(biao)操作完成;如果访问不了,不要忘记把Linux的防火墙(qiang)规划清掉,或让相应(ying)的端口通过;
3.5.3 smbfs文(wen)件系统的挂载;
mount 的(de)用法,加载网络中的共享文(wen)件夹到本地机;mount就是用(yong)于挂载文件系统的,SMB做为(wei)网络文件系统的一种,也能用mount挂载;smbmount说到底(di)也是用mount的(de)一个变种;
mount 挂载smbfs的用法;
mount -t smbfs -o codepage=cp936,username=用户名,password=密码 , -l //ip地址/共享文件夹名 挂(gua)载点
或
mount -t smbfs -o codepage=cp936,username=用户名,password=密码 , -l //计算机名/共(gong)享文件夹名 挂载点
或
mount -t smbfs -o codepage=cp936 //ip地址或计算机(ji)名/共享文件夹名 挂(gua)载点
smbmount的用法:
smbmount -o username=用户名(ming),password=密码 , -l //ip地址或(huo)计算机名/共享文(wen)件夹名 挂载点
smbmount //ip地址或计算(suan)机名/共享文件夹名 挂载点(dian)
说明:
如果您的服务器是以share共享的,则无需用户名(ming)和密码就能挂载(zai),如果出现要密码的提示,直接回车就行;您也可(ke)以用smbmount 来挂(gua)载,这样就无需用mount -t smbfs来(lai)指定文件系统的类型了;
对于挂载点,我们(men)要自己建立一个文件夹,比如我(wo)们可以建在/opt/smbhd,这(zhe)由您说的算吧;
在mount的命令(ling)中,我们发现有这样的一(yi)个参数codepage=cp936,这(zhe)是服务器端文件系统的编(bian)码的指定,cp936 就是简体中文,当(dang)然您可以用utf8等(deng),尝试一下吧。
如果您挂载了远(yuan)程的smbfs文件系(xi)统出现的是简体中文乱码,就要考虑挂载时要指定编码了;
4、由最简单的一个例子说起,匿(ni)名用户可读可写的实现;
第一步: 更改smb.conf
我们(men)来实现一个最简单的功能,让所有用户可以读写一个(ge)Samba 服务器共享的一(yi)个文件夹;我们(men)要改动一下smb.conf ;首先您要备份一(yi)下smb.conf文件;
[root@localhost ~]# cd /etc/samba
[root@localhost samba]# mv smb.conf smb.confBAK
然后我们(men)来重新创建一个smb.conf文件;
[root@localhost samba]#touch smb.conf
然后我们把下(xia)面这段写入smb.conf中;
[global]
workgroup = LinuxSir
netbios name = LinuxSir05
server string = Linux Samba Server TestServer
security = share
[linuxsir]
path = /opt/linuxsir
writeable = yes
browseable = yes
guest ok = yes
注解:
[global]这段(duan)是全局配置,是必段写的。其中有(you)如下的几行;
workgroup 就是Windows中显示的工作组;在这里我设置(zhi)的是LinuxSir
netbios name 就是在Windows中显示出来的计算机名;
server string 就是Samba服务器说明,可以自(zi)己来定义;这个(ge)不是什么重要的;
security 这是验证(zheng)和登录方式,这里我们用了(le)share ;验证方式有好多种,这是其中一种;另外(wai)一种常用的是user的验证方式;如(ru)果用share呢,就是不(bu)用设置用户和密码了(le);
[linuxsir] 这个在Windows中显示出(chu)来是共享的目录;
path = 可以设置要(yao)共享的目录放在哪里;
writeable 是否可写,这里我设置为可写;
browseable 是(shi)否可以浏览,可以;
guest ok 匿名用户以guest身份是登录;
第二步:建立相应(ying)目录并授权;
[root@localhost ~]# mkdir -p /opt/linuxsir
[root@localhost ~]# id nobody
uid=99(nobody) gid=99(nobody) groups=99(nobody)
[root@localhost ~]# chown -R nobody:nobody /opt/linuxsir
注释:关于授(shou)权nobody,我们先用(yong)id命令查看了nobody用户的信息,发现他的(de)用户组也是nobody,我们要以这个为准(zhun)。有些系统nobody用户组并非是nobody ;
第三步:启动smbd和nmbd服务器;
[root@localhost ~]# smbd
[root@localhost ~]# nmbd
第四步:查看smbd进程,确认Samba 服务器是否运行起(qi)来了;
[root@localhost ~]# pgrep smbd
13564
13568
第(di)五步:访问Samba 服务器的共享;
在Linux 中您(nin)可以用下面的命令来访问;
[root@localhost ~]# smbclient -L //LinuxSir05
Password: 注(zhu):直接按回车
在Windows中,您可以用下面(mian)的办法来访问;
//LinuxSir05/
samba安装、配置、排错
零:场(chang)景:
| 共享名 | 路径 | 权(quan)限 |
| SHAREDOC | /smb/docs | 所有人员包(bao)括来宾均可以访问 |
| RDDOCS | /smb/tech | 仅(jin)允许特定组的用(yong)户进行读写访问 |
特定组的组名为RD,目前的Alice、Jack、Tom三个人(ren)
一、 安装(zhuang)Samba
//或者使用(yong)rpm安装
//查看(kan)安装版本信息
Tips:也之前的SAMBA 3有(you)一个重大的变化是:security不再支持share
WARNING: Ignoring invalid value 'share' forparameter 'security'.
二、 配置Samba服务器
1.创建共游祥弯(wan)享目录(假设共享/smb目(mu)宴枯录下的文件)
2.配置(zhi)内核参数
3.配置smb.conf文件
1)备份原配置文件:
2)删除原有所有内容(rong),添加如下内容:
[global]
workgroup=BIGCLOUD
netbios name=ZZSRV2
server string=Samba Server
security=user
map to guest = Bad User
[SHAREDOCS]
path=/smb/docs
readonly=yes
browseable=yes
guest ok=yes
[RDDOCS]
path = /smb/tech/
public = no
writable = yes
write list = @RD
validusers = @RD
三、 创建用户并分配权神(shen)闷限
1.创建操作系统用户
2.修改用户的(de)组
uid=1000(alice) gid=1000(alice)groups=1000(alice),1003(RD)
3.创建SAMBA用户(hu)
4.修改目录权限(xian)
5.查看服务状(zhuang)态
drwxrwx--- 2 RD RD 4096 Aug 11 17:08 /smb/tech/
smb.service - Samba SMB Daemon
Loaded: loaded(/usr/lib/systemd/system/smb.service; enabled)
Active: active (running) since Tue2014-08-12 11:38:29 CST; 14s ago
Main PID: 16807 (smbd)
Status: "smbd: ready to serveconnections..."
CGroup: /system.slice/smb.service
16807 /usr/sbin/smbd
16808 /usr/sbin/smbd
systemd[1]:Starting Samba SMB Daemon...
smbd[16807]:[2014/08/12 11:38:29.255341, 0]../lib/util/become_daemon.c:136(daemon_ready)
systemd[1]:Started Samba SMB Daemon.
smbd[16808]:STATUS=daemon 'smbd' finished starting up and ready to serve connectionsfailedto retrieve print...CCESSFUL
Hint:Some lines were ellipsized, use -l to show in full.
四、 测试连通(tong)性
1.Linux上测试(shi)
Domain=[BIGCLOUD] OS=[Unix] Server=[Samba 4.1.1]
Domain=[BIGCLOUD] OS=[Unix] Server=[Samba 4.1.1]
2.Windows上测(ce)试
1)使用虚拟机(如VMware)安装Linux(如Ubuntu)系统(tong)时,为方便Windows和Linux文件互(hu)通方便(主要是Windows下访问(wen)Linux文件了),一般都会在LINUX下安装Samba服务(wu)器。
在XP下,可(ke)以通过[//192.168.3.104]()(Linux系统IP)进行访问其(qi)共享文件,但在WIN7或VISTA下却不行,因为Samba只支持NTLM认证,而WIN7或VISTA则采(cai)用NTLMv2认证(zheng),因此必须经过一些设置才行,具体设(she)置如下:
开始(shi)-运行-secpol.msc-本地(di)策略-安全选项-网络安全:LAN管理器身份验证(zheng)级别-发送 LM 和 NTLMv2 ,如果已(yi)协商,则使用NTLMv2 (会话安全 )-完成设置。(如下图所示)
这时,再使用[//192.168.3.104]()(Linux系统IP)就可以访问Linux共享文件了 _
2)C:netuse * /del
您有以下的远程连(lian)接:
继续运行会取消(xiao)连接。
您想继续此操作吗(ma)? (Y/N) [N]: y
命令成功完成。
C:netuse \192.168.188.12 P@ssw0rd /U:alice
命令成功完成。
3)打开资源(yuan)管理器进行写入测试
4)如果windows下登录samba服(fu)务器后无法访问linux下共享目录,提示没有(you)权限。则检查:
a、确保linux下防火墙关闭或者是(shi)开放共享目录权限;
b、确(que)保samba服务器配置文件smb.conf设置没有问题,可网上查阅(yue)资料看配置办法 ;
c、确保setlinux关闭,可以用setenforce 0命令执(zhi)行。 默认的,SELinux禁止网络上对Samba服务器上(shang)的共享目录进行(xing)写操作,即使你在smb.conf中允许了这项操作。
SMBD和S2MBD的不同?SMBD和S2MBD实际上是两个公司(si)出品
SMB是(shi)Super Model Media公司蓝光版的番(fan)号
S2MBD则stage 2 media公司是滑滑(hua)蓝光版的番号
两(liang)个生产厂家都是(shi)步兵片商
Super Model Media是一家在差让氏美国注册的(de)日本色情片制作公司,从(cong)2009年开始营运。
Super Model Media所出品的成人电影均有两(liang)种版本,虚散DVD版本与(yu)蓝光光碟版本。
suse11.1中用samba做文件服(fu)务器老死机smbd使用cpu100%这裤裤中中(zhong)问题你发到suse的bugzilla上面肯纯山定胡(hu)山有人给你解决(jue)
链接给你(ni)
samba服务器的核心是哪(na)两个守护进程samba服务器(qi)的核心是smbd和nmbd个守护(hu)进程。纤简根据查询相关信息显示(shi),samba服务的资源共(gong)毁纯裤享是通过(guo)smbd和nmbd两(liang)个守护进程来控制(zhi)的,smbd服务用来(lai)管理samba服务器对文(wen)件、打印资源的共享访问,利用TCP协议来传输数据,默认的裤(ku)悉端口为139和445。nmbd服务用来管(guan)理samba服务器工作组、NetBIOS主机名的解析,利(li)用UDP协议开启137,138端口来实现名称解析,所以在配(pei)置防火墙时,要开放137、138、139及445端口。
linuxsamba安装挂起问题在嵌入式(shi)系统开发应用平台中,tftp、nfs和samba服务器(qi)是最常用的文件传输工(gong)具,本文详细的介绍一下Linux Samba服务器安装配置(zhi),感兴趣的可以了解一下
在嵌入式系统开(kai)发应用平台中,tftp、nfs和(he)samba服务器是最常用的文件传输(shu)工具,tftp和nfs是在嵌入式Linux开发环境中(zhong)经常使用的传输工具,samba则是Linux和Windows之间的文(wen)件传输工具。
samba是模仿Windows网上邻居的SMB的通(tong)讯协议,将Linux操作系统(tong)“假装成”Windows操作系统(tong),通过网上邻居(ju)的方式来进行文件传(chuan)输的。
虚(xu)拟机版本:VMware10
Linux操作系(xi)统版本:Red Hat Enterprise Linux 5
Samba服务器介绍
Samba是在Linux系统上实现SMB(Session MessageBlock)协议的一个免费软件,以实现文(wen)件共享和打印机服务共享。
Samba服务器组件
samba有两(liang)个主要的进程smbd和nmbd。smbd进程提供了文件和打印服务,而(er)nmbd则提供了NetBIOS名称服务和浏览支持,帮助SMB客户定位(wei)服务器,处理所有基于UDP的协议。
Samba服务器相关的配置文(wen)件
/etc/samba/smb.conf
这是samba的主要(yao)配置文件,基本上仅有这个文件,而(er)且这个配置文件本身的说明非常(chang)详细。主要的设置包括服务器全局设置(zhi),如工作组、NetBIOS名称和密码等级,以及(ji)共享目录的相关设置,如实(shi)际目录、共享资源名称和(he)权限等两大部分。
/etc/samba/lmhosts
早期的 NetBIOS name 需额(e)外设定,因此需(xu)要这个 lmhosts 的 NetBIOS name 对应的 IP 档(dang)。 事实上它有点像是(shi) /etc/hosts 的功能!只不过这个 lmhosts 对应的主机名是(shi) NetBIOS name 喔!不要跟 /etc/hosts 搞混了!目前 Samba 预设会去使用你的本机名称 (hostname) 作为你的 NetBIOS name,因此这个档案不设定也(ye)无所谓。
/etc/sysconfig/samba
提供(gong)启动 smbd, nmbd 时,你还想要加入(ru)的相关服务参数。
/etc/samba/smbusers
由于 Windows 与(yu) Linux 在管理员与访客的账(zhang)号名称不一致,例如: administrator (windows) 及 root(linux), 为了对应这两者之间的账号关系,可使用这个档案来设定
/var/lib/samba/private/{passdb.tdb,secrets.tdb}
管理 Samba 的用户(hu)账号/密码时,会用到的(de)数据库档案;
/usr/share/doc/samba-版本
这个目录包含了 SAMBA 的所有相关的技(ji)术手册喔!也就是说,当你安装好了(le) SAMBA 之后,你的系(xi)统里面就已经含有相当丰富而完整的(de) SAMBA 使用手册(ce)了!值得高兴吧! ^_^,所以,赶(gan)紧自行参考喔!
至于常用的脚本文件案(an)方面,若分为服务器与客户端功能,则(ze)主要有底下这几个数据:
/usr/sbin/{smbd,nmbd}:服务器功能,就是最(zui)重要的权限管理 (smbd) 以及 NetBIOS name 查询 (nmbd) 两个重要的(de)服务程序;
/usr/bin/{tdbdump,tdbtool}:服务器功能,在 Samba 3.0 以后的版(ban)本中,用户的账号与(yu)密码参数已经转为(wei)使用数据库了!Samba 使(shi)用的数据库名称为 TDB (Trivial DataBase)。 既然(ran)是使用数据库,当然要使用数据库(ku)的控制指令来处理啰。tdbdump 可以察看数据(ju)库的内容,tdbtool 则可以(yi)进入数据库操作接口直接手动修改帐(zhang)密参数。不过,你得要安装 tdb-tools 这个软件(jian)才行;
/usr/bin/smbstatus:服务器功能,可以列(lie)出目前 Samba 的联机状况, 包括每一条 Samba 联机的 PID, 分享(xiang)的资源,使用的用户来(lai)源等等,让你轻松(song)管理 Samba 啦;
/usr/bin/{smbpasswd,pdbedit}:服(fu)务器功能,在管(guan)理 Samba 的用户账号密(mi)码时, 早期是使用 smbpasswd 这个指令,不(bu)过因为后来使用(yong) TDB 数据库(ku)了,因此建议使用新的 pdbedit 指令来管理用(yong)户数据;
/usr/bin/testparm:服务器功能,这个指令主要在(zai)检验配置文件 smb.conf 的语法正确与否,当你编辑过 smb.conf 时,请务必(bi)使用这个指令来检查一次,避(bi)免因为打字错误引起的困扰啊(a)!
/sbin/mount.cifs:客户端功能(neng),在 Windows 上面我们可以设定『网络(luo)驱动器机』来连接到自己的主机上(shang)面。在 Linux 上面,我们则是透过 mount (mount.cifs) 来将远程主(zhu)机分享的档案与目录(lu)挂载到自己的 Linux 主机(ji)上面哪!
/usr/bin/smbclient:客户端功能,当你的 Linux主机想要藉由(you)『网络上的芳邻(lin)』的功能来查看别台计算机(ji)所分享出来的目录与装置(zhi)时,就可以使用 smbclient来查看(kan)啦!这个指令也可以使用在自(zi)己的 SAMBA 主机上面,用来查看是否设定成(cheng)功哩!
/usr/bin/nmblookup:客户(hu)端功能,有点类似(si) nslookup 啦!重点在查出 NetBIOS name 就是了
/usr/bin/smbtree:客户端功能(neng),这玩意就有点像 Windows 系统的网络上的芳邻显示的(de)结果,可以显示类似(si)『靠近我的计算机』之类的(de)数据, 能够查到工作组与计算机(ji)名称的树状目录分布图(tu)!
安装Samba
首先确(que)认一下自己的Linux是否安装了Samba,使(shi)用命令:
[root@localhost ~]# rpm -qa | grep samba
其中:samba、samba-common、samba-client三个程序是必须的。
如果没有安(an)装,有两种方式可以安装:
第一种方式:yum安装(zhuang)
yum是一个集与查找,安装,更新和删除(chu)程序的Linux软件。它运行在RPM包兼容的Linux发行版本上,如(ru):RedHat、Fedora、SUSE、CentOS、Mandriva。
yum install -y samba
第二种方式(shi):安装包安装
安(an)装包都在光盘里,首先(xian)需要挂载:
[root@localhost ~]# mount /dev/cdrom /mnt
这个时候,会出(chu)现一个问题:
mount: block device /dev/sr0 is write-protected, mounting read-only
提示信息说,虚拟机挂着(zhe)光驱光驱时提示只读。用以(yi)下命令可解决该报错:
mount -o remount,rw /dev/cdrom /mnt
此(ci)时,我们会发现,原本空的文件夹/mnt现在多了很多的文件。
在/mnt/Server文件夹(jia)中,会能找到关于Samba的安装包:
找到安(an)装包之后,就是安装Samba了(只需要安装自己没有(you)的那个就行了)。使(shi)用命令:
rpm samba-3.0.25b-0.el5.4.i386.rpm
rpm samba-client-3.0.25b-0.el5.4.i386.rpm
rpm samba-commons-3.0.25b-0.el5.4.i386.rpm
安装完之后,再使用命令验证一下是否(fou)安装完成:
[root@localhost ~]# rpm -qa | grep samba
配(pei)置Samba
修改(gai)配置文件
samba服务器最主(zhu)要的配置文件其实只(zhi)有一个,就是/etc/samba/samba.conf,这个配(pei)置文件可以分为两个部分,一个(ge)部分是全局参数(shu),一部分是共享资源相关参(can)数。
#1.全局部分(fen)参数设置:
[global]
#与主机名相关的设(she)置
workgroup = zkhouse ==工作(zuo)组名称
netbios name = zkserver ==主机名称,跟hostname不(bu)是一个概念,在同一(yi)个组中,netbios name必(bi)须唯一
serverstring = this is a test samba server ==说明性文字,内容无关紧要
#与登录文件有关的设置
log file = /var/log/samba/log.%m ==日志文件的存储文件名(ming),%m代表的是client端Internet主机名(ming),就是hostname
max log size = 50 ==日志文件(jian)最大的大小为50Kb
#与密码相关(guan)的设置
security = share ==表示不需要密码,可设(she)置的值为share、user和server
passdb backend = tdbsam
#打印机加载方式
load printer = no ==不加载打印机
-----------------------------------------------------------
#2.共享资源设置方面:将(jiang)旧的注释掉,加入新的
#先取消[homes]、[printers]的项目,添加[temp]项目如下
[temp] ==共享资源名称
comment = Temporary file space ==简单的解释,内容无(wu)关紧要
path = /tmp ==实际的共(gong)享目录
writable = yes ==设置为可写入
browseable = yes ==可以被所有用户浏览到资源名称,
guest ok = yes ==可以让(rang)用户随意登录
也就是说,将上(shang)面“#2共享资源设置方面(mian)”加入到配置文件的(de)最后即可。
添加用户并(bing)设置密码
设置账号用于(yu)登录samba服务器,同时并设置密(mi)码。具体命令:
[root@localhost ~]# useradd sambauser
[root@localhost ~]# smbpasswd -a sambauser
New SMB password:
Retype new SMB password:
重启(qi)Samba服务器
[root@localhost ~]# /etc/init.d/smb restart
如果这段命令无法运(yun)行,就是Samba没有正确安装的原(yuan)因。
登(deng)录Samba
在Windows和Linux网络都畅通的情况下(xia),在Windows下登录Samba服务器。使用命令查看Samba的IP地址:
[root@localhost ~]# ifconfig
在Windows的运(yun)行,输入\\223.3.119.170(Samba对应(ying)的IP地址):
这个时候会弹出(chu)登录界面,直接输入之前(qian)设置的登录账号和密码就行(xing)了。
问题汇总及补充
之前Samba的安(an)装和配置都是一(yi)步一步来的,没有(you)什么问题。但是很多情况下(xia),就是最后在Windows的运行中,输(shu)入了\\IP地址之后,没有任(ren)何反应。这是最麻烦的地(di)方,因为完全不知道是(shi)什么原因导致的。下(xia)面提供几个可能出问题的地方:
网络选择
在配置Samba服务器的时候,网络选择为bridge桥连接。
这是因为:要保证Linux下的IP和Windows下的IP处于同一(yi)网段中,并且保证相(xiang)互可以ping通。
怎么验证?
在Windows的命令行中,输入命令ipconfig:
同时在Linux中输入命令(ling)ifconfig(两个命令不一样,需要注意):
可以看到(dao):两个IP地址223.3.119.239和223.3.119.170之间前3个都是一样的,只有最(zui)后一个不同,这就保(bao)证了在同一网段。如果前3位不同,可在Linux中使用(yong)命令:
[root@localhost ~]# ifconfig eth0 223.3.119.130
只需要保证只有最后一个不(bu)同即可。
接下来验证Windows和Linux之间的ping通,在Windows命令行(xing)中输入ping Linux的IP地址:
结果(guo)如果不是timeout,就代表(biao)两者之间ping通。
防火墙问题
如果防火墙不关闭(bi),Windows和Samba之间的(de)连通可能会被阻挡。
Windows上关闭防火墙:控制(zhi)面板-系统和安全-Windows防火墙-打(da)开或关闭Windows防火(huo)墙;
Linux上关闭防火墙:
[root@localhost ~]# setenforce 0
[root@localhost ~]# service iptables stop
记得(de)要重启Samba服务器。
权限问题
可能会出现(xian)权限不够的问题,修改(gai)你想要的那个文件的权限。
[root@localhost ~]# chmod 777 /home
无法访问
如果用windows访问samba,跳出以下对话框(kuang)的错误:
无法访问。您可能没有权(quan)限使用网络资源。请与这台服务器的管(guan)理员联系以查明您是否有访问权限(xian)。
不允(yun)许一个用户使用一个(ge)以上用户名与一个服务器(qi)或共享资源的多重连接(jie)。中断与此服务器或(huo)共享资源的所有(you)连接,然后再试(shi)一次……或者直接重启Windows。
怎么断开连接(即退出Samba服务器)呢?
在Windows的命令行中输入:
net use * /delete /y
自动连接
使(shi)每次打开Linux自(zi)动运行smba服务器:
在终端中输入setup-system service-找到smb,按下空格,便可选中-退出完(wan)成(注意切换用tab键)。
上述文章内容就(jiu)是对smbd和(he)的介绍到此就结束了,希望能够(gou)帮助到大家;当然如果你还(hai)想了解更多这方面的信息,请多多关(guan)注我们哦!