Linux网络配置Samba.docx

上传人:b****5 文档编号:3268547 上传时间:2022-11-21 格式:DOCX 页数:22 大小:31.70KB
下载 相关 举报
Linux网络配置Samba.docx_第1页
第1页 / 共22页
Linux网络配置Samba.docx_第2页
第2页 / 共22页
Linux网络配置Samba.docx_第3页
第3页 / 共22页
Linux网络配置Samba.docx_第4页
第4页 / 共22页
Linux网络配置Samba.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

Linux网络配置Samba.docx

《Linux网络配置Samba.docx》由会员分享,可在线阅读,更多相关《Linux网络配置Samba.docx(22页珍藏版)》请在冰豆网上搜索。

Linux网络配置Samba.docx

Linux网络配置Samba

SAMBA配置

以浏览器管理SAMBA-SWAT

1、检查/etc/services文件,确定下行内容之前没有“#”

Swat901/tcp#SambaWebAdministrationTool

2、编辑/etc/xinetd.d/swat文件内容

Serviceswat

{Disable=no

Port=901

Socket_type=stream

Wait=no

Noly_from=“允许运行SWAT的地址”

User=root

Server=/usr/sbin/swat

Log_on_failure+=USERID

}

3、重启服务/etc/rc.d/init.d/xinetdrestart

4、http:

//允许运行SWAT的地址:

901输入root及其密码,出现SWAT管理界面

1Samba简介

Samba(SMB是其缩写)是一个网络服务器,用于Linux与Linux(最好用NFS),Linux和Windows间共享文件,在Windows网络中的每台主机既可以是文件服务器,也可以同时是客户机;一台Linux主机如果架设了Samba服务后,它既能充当服务器,同时也能作为客户机来访问其它网络中的Windows共享文件系统,或其它Linux的Sabmba服务器;在Windows网络中,能看到共享文件夹功能,可以把共享文件夹映射为本地网络驱动器。

在Linux中,就是通过Samba向网络中的主机提供共享文件系统,也可以把网络中其它机器的共享挂载在本地主机上使用;Samba用的是netbios协议,让Netbios和SMB在TCP/IP上运行。

2Samba功能和应用范围

Samba应用范围主要是Windows和Linux系统共存的网络中使用;如果一个网络环境都是Linux或Unix类的系统,可以用NFS;而Samba主要是提供共享文件和共享打印机;

3Samba服务器的两个相关启动程序、客户端及服务器配置文件等;

3.1:

Samba有两个服务器,一个是smb(监听139TCP端口),另一个是nmb(监听137,138两个UDP端口);smbd和nmbd使用的全部配置文件都保存在smb.conf文件中

smb是Samba的主要启动服务器,它能让其它主机知道该主机共享了什么;如果不打开nmb服务器的话,只能通过IP来访问,如:

在Windows的IE浏览器上输入下面的内容

\\192.168.1.5\共享目录

而nmb是解析用的,就是把这台Linux机器所共享的工作组及在此工作组下的netbiosname解析出来;一般的情况下,如果是用RPM包安装的Samba,一般可通过如下的方式来启动Samba服务器;

[root@localhost~]#/etc/rc.d/init.d/smbstart(stop/restart)

对于所有系统来说,通用的办法就是直接运行smb和nmb;当然要知道smb和nmb所在的目录才行;如果是自己编译的Samba,应该知道把Samba放在哪里了;

[root@localhost~]#/usr/sbin/smbd

[root@localhost~]#/usr/sbin/nmbd

查看服务器是否运行起来了,则用下面的命令;

[root@localhost~]#pgrepsmbd

[root@localhost~]#pgrepnmbd

关掉Samba服务器,也可以用下面的办法,大多是通用的;要root权限来执行;

[root@localhost~]#pkillsmbd

[root@localhost~]#pkillnmbd

3.2查看Samba服务器的端口及防火墙;

有时防火墙可能会把smbd服务器的端口封掉,所以应该查看smbd服务器所占用的端口;下面查看中,显示smbd所占用的端口是139和445;

[root@localhost~]#netstat-tlnp|grepsmb

tcp      0    00.0.0.0:

139            0.0.0.0:

*            LISTEN    10639/smbd

tcp      0    00.0.0.0:

445            0.0.0.0:

*            LISTEN    10639/smbd

如果有防火墙,一定要把这两个端口打开。

如果不知道怎么打开,还是把防火墙规则清掉;

[root@localhost~]#iptables-F或

[root@localhost~]#/sbin/iptables–F

3.3、查看Samba服务器的配置文件;

如果是用Linux发行版自带的Samba软件包,一般情况下Samba服务器的配置文件都位于/etc/samba目录中,服务器的主配置文件是smb.conf;也有用户配置文件smbpasswd、smbusers和lmhosts等;还有一个文件是secrets.tdb,这个文件是Samba服务器启动时自动生成的;

3.4、Samba在Linux中的一些工具(服务器端和客户端);

smbcacls  smbcontrol  smbencrypt  smbmount  smbprint  smbstatus  smbtree

smbclient  smbcquotas  smbmnt    smbpasswd  smbspool  smbtar    smbumount

smbdnmbd  mount

其中服务器端的是smbd、nmbd、smbpasswd;其它的大多是客户端;这些并不是都需要一定要精通的,但至少得会用几个;比如smbmount(也就是mount加参数的用法),还有smbclient等;

3.5在Linux中的常用工具mount(smbmount)和smbclient;Windows查看Linux共享的方法;

3.5.1在Linux系统中查看网络中Windows共享文件及Linux中的Samba共享文件;

一般的情况下,要用到smbclient;常用的用法也无非是下面的;

[root@localhost~]#smbclient  -L  //ip地址或计算机名

smbclient是Samba的Linux客户端,在Linux主机上用来查看服务器上的共享资源,也可以象FTP一样,用户可以登录Samba服务器,也可以上传put和下载get文件,但对中文支持并不友好;

查看服务器上的资源;

smbclient-L//IP  [-U用户名]

如果Samba服务器配置为user模式,就要加“-U用户名”,如果是share模式,省略也可;比如:

[root@localhost~]#smbclient-L  //192.168.1.3  -Usir01

Password:

请输入用户sir01的密码

如果是用share模式,就可以不必理会用户和密码,直接用;

[root@localhost~]#smbclient-L  //192.168.1.3

Password:

直接按回车

登录用户身份Samba服务器共享

以用户身份登录共享后,能象FTP用户一样,上传和下载文件;用put表示上传,用get表示下载;

smbclient  //IP地址/共享文件夹  -U用户

说明:

可以用/sbin/ifconfig来查看本机IP;共享文件夹是在smb.conf中定义的[共享文件夹],比如[sir01]。

-U用户名表示Samba的用户;比如:

[root@localhost~]#smbclient//192.168.1.3/sir01-Usir01

Password:

Domain=[LINUXSIR]OS=[Unix]Server=[Samba3.0.21b-2]

smb:

\>ls

说明:

登录到Samba服务器上,就可以用smbclient的一些指令,可以象用FTP指令一样上传和下载文件;

smbclient命令说明

命令                       说明

?

或help[command]          提供关于帮助或某个命令的帮助

!

[shellcommand]           执行所用的SHELL命令,或让用户进入SHELL提示符

cd[目录]    切换到服务器端的指定目录,如未指定,则smbclient返回当前本地目录

lcd[目录]              切换到客户端指定的目录;

dir或ls                列出当前目录下的文件;

exit或quit             退出smbclient    

getfile1  [file2]       从服务器上下载file1,并以文件名file2存在本地机上

mgetfile1file2file3  filen 从服务器上下载多个文件;

md或mkdir目录         在服务器上创建目录

rd或rmdir  目录         删除服务器上的目录

putfile1[file2]   向服务器上传一个文件file1,传到服务器上改为file2

mputfile1file2filen  向服务器上传多个文件

3.5.2在Windows中访问LinuxSamba服务器共享文件的办法;

在网上邻居,查看工作组就能看得到,或者在浏览器上输入如下

\\ip地址或计算机名

这样就能看到这个机器上的共享了,如果访问不了,不要忘记把Linux的防火墙规划清掉,或让相应的端口通过;

3.5.3在Linux中smbfs文件系统的挂载;

mount的用法,加载网络中的共享文件夹到本地;mount就是用于挂载文件系统的,smbfs作为网络文件系统的一种,也能用mount挂载;

mount挂载smbfs的用法;

mount-tsmbfs-ocodepage=cp936,username=用户名,password=密码,dmask=777,fmask=777,-l  //ip地址/共享文件夹名  挂载点

mount-tsmbfs-ocodepage=cp936,username=用户名,password=密码,-l  //计算机名/共享文件夹名  挂载点

mount-tsmbfs  -ocodepage=cp936  //ip地址或计算机名/共享文件夹名  挂载点

smbmount的用法:

smbmount-ousername=用户名,password=密码,-l  //ip地址或计算机名/共享文件夹名  挂载点

smbmount  //ip地址或计算机名/共享文件夹名  挂载点

说明:

如果SMB服务器是以share共享的,则无需用户名和密码就能挂载,出现密码提示时,直接回车就行;也可以用smbmount来挂载,这样就无需用mount-tsmbfs来指定文件系统的类型了;对于挂载点,要自己建立一个文件夹,比如可以建在/opt/smbhd;

在mount的命令中,参数codepage=cp936,这是服务器端文件系统的编码,cp936就是简体中文,当然也可以用utf8等,如果挂载了远程的smbfs文件系统出现的是简体中文乱码,就要考虑挂载时要指定编码了;

samba密码文件

samba口令文件由smbpasswdfile参数指定,默认为/etc/samba/smbpasswd,创建该文件的方法

#cat/etc/passwd|mksmbpasswd.sh>/etc/samba/smbpasswd

#vi/etc/samba/smbpasswd

#chownroot.root/etc/samba/smbpasswd

#chmod500/etc/samba

#chmod600/etc/samba/smbpasswd

#ll–d/etc/samba

#smbpasswdlrj

使用smbpasswd命令修改用户口令时,被修改的samba帐户的本地系统用户帐户必须事先已经存在,smbpasswd–a添加单个samba帐号并设置口令,要求被添加的samba帐号的本地系统用户帐户已事先存在,如若不存在使用useradd添加

#testparm检查配置文件语法有无错误

在Windows使用“网上邻居”映射网络驱动器,访问samba共享,

而Linux使用#smbclient–llocalhost检查服务器所共享的资源

Smb.conf文件结构:

Smb.conf由3个标准节和若干个用户自定义共享节所组成

[global]全局参数和缺省值

[homes]用户的主目录共享

[printers]打印机共享

[userdefined_sharename]用户自定义共享

Smb.conf文件语法:

该文件中常用的变量

%s当前服务台(共享名)

%p当前服务台的根路径(主目录)

%u当前服务台的用户名(共享用户名)

%H给定的%U的宿主目录

%v给定的%U的版本号

%h运行samba服务器的主机名

%m客户端的Netbios名

%L服务器的Netbios名

%T当前日期和时间

%M客户机主机名

%NNIS服务器名

%i客户机IP

Samba四种安全等级(security参数指定)

Share无需帐户,口令即可登录samba服务器

User由提供服务的samba服务器负责检查帐户及密码(默认)

Server由另一台WinNT/2000或其他Samba服务器负责审核用户名口令

Domain指定WinNT/2000域控制器验证用户帐号和口令

Samba使用/etc/samba/lmhosts文件存放netbios名与IP静态映射表,以作为Linux主机以samba客户端去访问Windows共享或其他Linux提供的samba共享

#cat/etc/samba/lmhosts

#vi/etc/samba/lmhosts

127.1.1.1Localhost

192.168.1.200shrike

192.168.1.100rh9

192.168.1.77win01

192.168.1.88win02

#smbclient-Lwin01

#smbclient//win01/tools–Uosmond

Smb:

\>?

类似FTP

\>quit

#mkdir–p/mnt/smb/win01

#smbmount//win01/tools/mnt/smb/win01将远程共享tools挂载到本地/mnt/smb/win01

#cd;unount/mnt/smb/win01

在Linux窗口模式下:

smb:

//210.31.8.89,输入Windows用户名密码,可访问该机共享

为实现自动加载,可在fstab文件中加入一行:

//192.168.2.100/samba/mnt/floppysmbfsdefaults,username=,password=11

4、由最简单的一个例子说起,匿名用户可读可写的实现;

#grep-v“^#”/etc/samba/smb.conf|grep-v“^;”

第一步:

更改smb.conf

创建让所有用户可以读写一个Samba服务器共享的一个文件夹;要改动一下smb.conf;首先备份一下smb.conf文件;

[root@localhost~]#cd/etc/samba

[root@localhostsamba]#mvsmb.confsmb.confBAK

重新创建一个smb.conf文件;

[root@localhostsamba]#touchsmb.conf

全局参数选项:

[global]全局配置,必须填写

workgroup=LinuxSir在Windows中显示的工作组

netbiosname=LinuxSir05在Windows中显示的计算机名

serverstring=LinuxSambaServerTestServerSamba服务器的说明,可自行定义

security=share验证和登录方式,如设为share,不用设用户名密码

Printcapname=/etc/printcap设置打印机配置文件路径

Loadprinters=yes是否加载打印机配置文件

Printing=cups设置打印机系统类型

Logfile=/var/log/samba/%m.log指定日志文件的名称

Maxlogsize=0指定日志文件的最大尺寸

Encryptpasswords=yes用于指定是否使用加密口令

Smbpasswdfile=/etc/samba/smbpasswd指定samba口令文件的路径

Unixpasswordsync=yes

Passwdprogram=/usr/bin/passwd%u

/usr/bin/passwd

Pampasswordchange=yes

Obeypamrestrictions=yes

Socketoptions=TCP_NODELAYSO_RCVBUF=8192SO_SNDBUF=8192服务器客户间会话选项

Dnsproxy=no

Clientcodepage=cp936设置客户字符编码页

Socketaddress指定samba监听的IP地址

Adminuser设定管理员帐号

Maptoguestguest登录名及口令不正确时的处理方式

Usernamemap指定SMB/Unix名字映射文件的路径

Hostallow=210.31.8except210.31.8.208可以访问samba的主机

Hostdeny禁止访问samba的主机

Changenotifytimeout设置服务器周期性异常通知

Deadtime客户端无操作多少分钟后服务器中断连接

getwdcache是否使用cache功能

keepalive服务器每隔多少秒向客户端发送keepalive包

maxopenfiles同一客户端最多能打开的文件数目

共享目录参数

[linuxsir]在Windows中显示的共享目录名

Comment=homeDirectories指定对共享的描述

Validusers=%s

Createmode=0644

directorymode=0755

      path=/opt/linuxsir设置为共享的目录放在哪里(路径)

      writeable=yes是否可写

      browseable=yes是否可以浏览,是则在工作组下能看到共享文件夹

available=指定共享资源是否可用

readonly=指定共享的路径是否为只读

      guestok=yes匿名用户以guest身份登录

guestaccount=指定一般性客户帐户

guestonly=是否只允许guest帐号访问

public=是否可以允许guest帐号访问

readlist=设置只读用户访问列表

writelist=设置读写用户访问列表

validusers=指定允许使用服务器的用户列表

invalidusers=指定不允许使用服务器的用户列表

配置举例:

#vi/etc/smb.conf

Workgroup=WORKGROUP

Serverstrin=sambaserver%vat%h

Hostsallow=192.168.1.

Clientcodepage=936

#vi/etc/samba/smb.conf

[resource]添加resource共享

Comment=localresource

Path=/var/samba/resource

Public=yes

Writable=yes

#mkdir–p/var/samba/resource

#cd/var/samba/resource

#ln–s/usr/share/docdoc

#ls–s/var/ftpftp

#vi/etc/samba/smb.conf

[tmp]

Comment=temporaryfilespace

Path=/tmp

Readonly=no读写共享

Public=yes

[cdrom]

Comment=CDROM

Path=/mnt/cdrom

Readonly=yes只读共享

Public=yes

为指定用户或组配置samba共享

#useraddfred#passwdfred

#smbpasswd–afred添加fred的samba帐号

#mkdir/var/samba/fred

#chownfred.fred/var/samba/fred更改目录属性

#vi/etc/samba/smb.conf

[freddirs]

Comment=fred’sservice

Path=/var/samba/fred

Validusers=fred

Public=no

Writable=yes

为指定的多个用户配置samba共享

#useraddtom#useraddben

#passwdtom#passwdben

#smbpasswd-atom

#smbpasswd-aben

#mkdir/var/samba/tomben

#chomod707/var/samba/tomben

#vi/etc/samba/tomben

[myshare]

Comment=tom’sandben’sshare

Path=/var/samba/tomben

Validusers=tom,ben

Public=no

Writable=yes

Createmask=707

为指定的组配置samba共享

#useraddstaff#passwdstaff

#useradd–Gstaffuser1#passwduser1

#useradd–Gstaffuser1#passwduser2

#s

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1