,,Linux Samba服务器超详细安装配置(附问题解决)

,,Linux Samba服务器超详细安装配置(附问题解决)

在嵌入式系统开发和应用平台中,tftp、nfs和samba server是最常用的文件传输工具。本文详细介绍了Linux Samba服务器的安装配置,有兴趣的可以看看。

目录

samba server介绍samba server组件samba server相关配置文件第一种方式安装Samba: yum安装第二种方式:安装包、配置Samba、修改配置文件、添加用户和设置密码、重启Samba server、登录Samba server、总结和补充网络问题、选择防火墙问题、选择不能自动访问的权限。在嵌入式系统开发应用平台中,tftp、nfs和Samba server是最常用的文件传输工具,tftp和nfs是在嵌入式Linux开发环境中经常使用的传输工具,samba则是Linux和Windows之间的文件传输工具。

samba是模仿Windows网上邻居的SMB的通讯协议,将Linux操作系统“假装成”Windows操作系统,通过网上邻居的方式来进行文件传输的。

版本:VMware10

Linux操作系统版本:Red Hat Enterprise Linux 5

Samba服务器介绍

Samba是在Linux系统上实现SMB(Session MessageBlock)协议,实现文件共享和打印机服务共享的免费软件。

Samba服务器组件

samba有两个主要的进程smbd和nmbd。smbd进程提供了文件和打印服务,而nmbd则提供了NetBIOS名称服务和浏览支持,帮助SMB客户定位服务器,处理所有基于UDP的协议。

Samba服务器相关的配置文件

/etc/samba/smb.conf

这是samba的主要配置文件,基本上只有这个文件,而且这个配置文件本身的描述就很详细。的主要设置包括服务器的全局设置,如工作组、NetBIOS名称和密码级别,以及共享目录的相关设置,如实际目录、共享资源名称和权限。

/etc/samba/lmhosts

早期版本的NetBIOS名称需要额外的设置,因此需要与此lmhosts的NetBIOS名称对应的IP文件。其实有点像/etc/hosts的功能!只有这个lmhosts对应的主机名才是NetBIOS名!不要和/etc/hosts混淆!目前Samba会默认使用你的本地名(主机名)作为你的NetBIOS名,所以这个文件不设置也没关系。

/etc/sysconfig/samba

提供您希望在启动SMBD和NMBD时添加的相关服务参数。

/etc/samba/smbusers

由于Windows和Linux中管理员和访问者的帐户名是不同的,比如administrator (windows)和root(linux),这个文件可以用来设置他们之间的帐户关系。

/var/lib/samba/private/{ passdb . TDB,secrets.tdb}

管理Samba的用户帐户/密码时使用的数据库文件;

/usr/share/doc/samba- version

这个目录包含了SAMBA的所有相关技术手册!也就是说,在你安装了SAMBA之后,你的系统已经包含了相当丰富完整的SAMBA用户手册!开心点!_,所以,赶紧自己参考吧!

对于常用的脚本文件,如果分为服务器和客户端函数,主要有以下数据:

/usr/sbin/{smbd,nmbd}:服务器功能最重要的权限管理(smbd)和NetBIOS名称查询(nmbd)两个重要的服务程序;

/usr/bin/{tdbdump,tdbtool}:服务器函数。在Samba 3.0以后的版本中,用户的帐号和密码参数已经改为使用数据库!Samba使用的数据库名是TDB(普通数据库)。既然使用了数据库,当然要用数据库的控制指令来处理。Tdbdump可以查看数据库的内容,而tdbtool可以通过进入数据库操作界面直接手动修改账号密码参数。但是,你必须安装软件TD b-tools;

/usr/bin/smbstatus: server函数,可以列出Samba当前的在线状态,包括每个Samba在线的PID,共享的资源,使用的用户来源等。让你轻松管理Samba。

/usr/bin/{smbpasswd,pdbedit}:服务器函数。在管理Samba的用户账号密码时,前期使用了指令smbpasswd,但由于后来使用了TDB数据库,建议使用新的pdbedit指令来管理用户数据;

/usr/bin/testparm:服务器函数。该指令主要用于检查配置文件smb.conf的语法是否正确。编辑smb.conf时,请使用此说明检查一次,以免打字错误带来的麻烦!

/sbin/mount.cifs:客户端函数。在Windows上,我们可以设置“网络驱动程序”来连接我们自己的主机。在Linux上,我们通过mount (mount.cifs)把远程主机共享的文件和目录挂载到我们自己的Linux主机上!

/usr/bin/smbclient:客户端函数。当你的Linux主机想通过“网上邻居”功能查看其他电脑共享的目录和设备时,可以使用smbclient查看!这个命令也可以在您自己的SAMBA主机上使用,看看设置是否成功!

/usr/bin/nmbloookup:客户端函数,有点像nslookup!专注于查找NetBIOS名称。

/usr/bin/smbtree: Client函数,这个东西有点像Windows系统的网络上邻居显示的结果。可以显示“靠近我的电脑”之类的数据,可以找出工作组和电脑名称的树形目录分布!

安装Samba

首先,确认您的Linux上是否安装了Samba,并使用以下命令:

[root @ localhost ~]# rpm-QA | grep samba

Samba、samba-common和samba-client是必需的。

如果没有,有两种方法安装它:

第一种方式:yum安装

Yum是一套可以查找、安装、更新和删除程序的Linux软件。它运行在与RPM包兼容的Linux发行版上,如RedHat、Fedora、SUSE、CentOS和Mandriva。

yum install -y samba

第二种方式:安装包安装

安装包都在光盘里。首先,您需要安装它们:

[root @ localhost ~]# mount/dev/cdrom/mnt

这时,就会出现一个问题:

挂载:块设备/dev/sr0是写保护的,以只读方式挂载

提示信息说,虚拟机挂着光驱光驱时提示只读。使用以下命令解决此错误:

mount -o重新安装,rw /dev/cdrom /mnt

此时,我们会发现原来的空文件夹/mnt现在多了很多文件。

在/mnt/Server文件夹中,可以找到关于Samba的安装包:

找到安装包后,就该安装Samba了(只安装你没有的那个)。使用命令:

rpm samba-3 . 0 . 25 b-0 . El 5.4 . i386 . rpm

rpm samba-client-3 . 0 . 25 b-0 . El 5.4 . i386 . rpm

rpm samba-commons-3 . 0 . 25 b-0 . El 5.4 . i386 . rpm

安装完成后,使用命令验证安装是否完成:

[root @ localhost ~]# rpm-QA | grep samba

配置Samba

修改配置文件

samba服务器的主配置文件其实只有一个,就是/etc/samba/samba.conf,这个配置文件可以分为两个部分,一个部分是全局参数,一部分是共享资源相关参数。

#1.全局零件参数设置:

[全球]

#与主机名相关的设置

Workgroup=zkhouse==工作组名称

NetBIOS=ZK服务器==主机名,这和主机名不是一个概念。netbios名称在同一组中必须是唯一的。

Serverstring=这是一个测试sambaserver==描述性文本,内容无关。

#与登录文件相关的设置

Log=/var/log/samba/log。%m==日志文件的存储文件名,而%m表示客户端的Internet主机名,即主机名。

Max size=50==日志文件的最大大小为50Kb。

#密码相关设置

Security=share==表示不需要密码,可设置的值为share、user和server。

passdb backend=tdbsam

#打印机加载方法

Loader=no==没有装入打印机。

-

#2.共享资源设置:注释掉旧的,添加新的。

#首先取消[家庭]和[打印机]项目,然后添加如下[临时]项目

[temp]==共享资源名称

注释=临时文件空间==简单解释,内容无关。

Path=/tmp==实际共享目录

可写=是==设置为可写。

Browse=yes==所有用户都可以浏览的资源名称,

Guest=yes==允许用户随意登录。

也就是说,把上面的“#2共享资源设置方面”加到配置文件的末尾。

添加用户并设置密码

设置登录samba服务器的帐户,并设置密码。具体订单:

[root @ localhost ~]# useradd sambauser

[root @ localhost ~]# SMB passwd-a sambauser

新的SMB密码:

重新键入新的SMB密码:

重启Samba服务器

[root @ localhost ~]#/etc/init . d/SMB restart

如果这个命令不能运行,就是Samba安装不正确的原因。

登录Samba

在Windows和Linux网络都畅通的情况下,登录Windows下的Samba服务器。使用命令查看Samba的IP地址:

[root@localhost ~]# ifconfig

在运行Windows时,输入\ \ 223.3.119.170(Samba对应的IP地址):

这时会弹出登录界面,输入之前设置的登录账号和密码即可。

问题汇总及补充

之前,Samba是一步一步安装配置的,没有任何问题。但是,在许多情况下,当Windows最终运行时,输入\\IP地址后没有响应。这是最麻烦的地方,因为我完全不知道是什么原因造成的。以下是一些可能的问题:

网络选择

在配置Samba服务器的时候,网络选择为bridge桥连接。

这是因为:要保证Linux下的IP和Windows下的IP处于同一网段中,并且保证相互可以ping通。

如何验证?

在Windows的命令行中,输入命令ipconfig:

同时在Linux中输入命令ifconfig(两个命令不同,请注意):

可以看到:两个IP地址223.3.119.239和223.3.119.170之间前3个都是一样的,只有最后一个不同,这就保证了在同一网段。如果前3位不一样,可以使用Linux中的命令:

[root @ localhost ~]# ifconfig eth 0 223.3.119.130

只要确保只有最后一个是不同的。

接下来验证Windows和Linux之间的ping通,在Windows命令行中输入ping Linux的IP地址:

如果结果不是超时,则意味着在它们之间ping。

防火墙问题

如果防火墙不关闭,Windows和Samba之间的连通可能会被阻挡。

关闭Windows上的防火墙:控制面板-系统和安全-Windows防火墙-打开或关闭Windows防火墙;

关闭Linux上的防火墙:

[root@localhost ~]# setenforce 0

[root@localhost ~]#服务iptables停止

记得重启Samba服务器。

权限问题

可能没有足够的权限。修改所需文件的权限。

[root @ localhost ~]# chmod 777/home

无法访问

如果用windows访问samba,会弹出以下对话框中的错误:

无法访问。您可能没有使用网络资源的权限。请与此服务器的管理员联系,以确定您是否有访问权限。

不允许一个用户与一个服务器或具有多个用户名的共享资源之间有多个连接。断开与此服务器或共享资源的所有连接,然后再试一次.或者直接重新启动Windows。

如何断开连接(即退出Samba服务器)?

在Windows的命令行上,输入:

净使用*/删除/y

自动连接

让smba服务器在每次打开Linux时自动运行:

在终端进入设置-系统服务-查找smb,按空格选择“退出”完成(注意tab键是用来切换的)。

有问题也可以参考连接:【Linux】samba服务器安装配置,159 samba无法访问。您可能没有权限使用网络资源net use命令。

关于Linux Samba服务器安装和配置的这篇文章就到这里了(带问题解决)。有关Linux Samba服务器安装和配置的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望你以后能支持我们!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: