Linux中的Samba配置流程

一、什么是Samba?

Samba是一组软件包,使Linux支持SMB协议,是一套让Linux系统能够应用Microsoft网络通讯协议的软件。它使执行Linux系统的机器能与执行Windows系统的计算机进行文件与打印机共享.

二、Samba的主要功能是什么?

1、提供Windows共享Linux等其他操作系统的资源,外表看起来和共享Windows资源没有区别,并支持Windows客户使用网上邻居浏览网络。
2、提供SMB客户功能:利用Samba提供的smbclint程序可以从Linux下以类似于 FTP的方式访问Windows的资源。
3、备份PC上的资源:利用一个叫smbtar的shell 脚本,可以使用 tar 格式备份和恢复一台远程 Windows上的共享文件。
4、提供一个命令行工具,在其上可以有限制地支持NT的某些管理功能。

三、Samba的组成是什么?

一个samba服务器实际上包含了两个服务器程序:
1、Smbd是samba的核心。它负责建立对话进程、验证用户身份、提供对文件系统和打印机的访问机制。
2、 Nmbd是对外发布samba服务器可以提供的服务。

四、Samba服务器的安装和配置步骤是什么?(以readhat为例说明)

第一步:查看自己的Linux系统有没有安装Samba相关服务器:
执行命令: # rpm -qa | grep samba
命令输出:
samba-common-3.6.9-164.el6.x86_64
samba-winbind-3.6.9-164.el6.x86_64
samba-3.6.9-164.el6.x86_64
samba-client-3.6.9-164.el6.x86_64
samba4-libs-4.0.0-58.el6.rc4.x86_64
samba-winbind-clients-3.6.9-164.el6.x86_64

其中,
samba——>这个软件包包含了主要的daemon文件(smbd和nmbd);
samba-common——>提供samba的主要配置文件(smb.conf)、smb.conf语法检测程序(testparm)等;
samba-client——当linux作为samba 客户端的时候,提供了一套所需的工具和指令。
如果没有,说明系统没有安装,那就直接下载和安装它,安装完了再次执行上述命令查看,具体安装过程不细说了,参考材料较多,且多数系统都是默认安装了Samba服务的。如果系统安装了Samba服务器,那就进入配置环节了。

第二步:配置Samba服务器:
配置其实比较简单,但是网上许多转来转去的文章较多,关键是按照步骤执行以后,发现没有成功,这就比较令人沮丧了。本文不多讲配置的原理,只讲配置步骤(哈哈,暴力配置法,贵在简单实用),如果想详细的了解原理,请参阅smb.conf(5) manual page
1、备份配置文件:
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
2、在文件smb.cof末位添加如下代码:
[yding]
comment = yding
path = /home/yding
writable = yes

其中的path = /home/yding是你想要共享的用户目录,Linux中一定要有哦。
3、添加Samba用户,注意添加的Samba用户必须是你Linux系统中已经存在的用户哦。通过如下的命令授权系统访问Samba。
smbpasswd -a yding
它会提示你输入访问密码,按照提示设置访问密码。
至此,Samba服务器的配置工作已经完成了。

第三步:配置iptables:
直接执行命令:service iptables stop
暴力配置体现的淋漓尽致啊

第四步:配置selinux:
直接执行命令setenforce 0,并将文件/etc/selinux/config中的SELINUX=enforcing改为SELINUX=disabled
至此,Samba的配置工作可算是完成啦。

五、在Windows下访问Linux共享目录示例:

在Windows地址栏输入你的Linux IP,例如:
输入\\192.168.1.104回车,就可以看到共享的目录图标了。
这里写图片描述

点击进入yding的文件夹,弹出用户名和密码弹窗,输入你配置的时候设置的用户名和密码,就可以看到共享的文件目录了啦。
这里写图片描述

按照上述步骤执行应该就没有问题了,如果还有问题请及时告知,共同学习共同进步。

六、在Linux下访问Windows的共享目录示例:

1、windows下建立共享目录:
这里写图片描述

注意一定要选定共享的用户对象并设定共享权限,这个在Linux下挂在该共享目录时要用到。

2、在Linux下挂在该共享目录:
mount -t cifs -o username=LSQ,password=liyang520 //192.168.*.*/test /home/yding/test/

usrname和password是windows的用户名和密码,//192.168../test是windows的IP和共享的文件夹名,/home/yding/test/是我们想把windows下的共享目录挂在到linux的路径下。结果如下:

这里写图片描述

实际的windows的共享目录test下的文件为:

这里写图片描述

可见,两者是同步的。在一边对目录做任何的添加、修改和删除工作,在另一边都同步实现了。基于这种方式,可以极大地提高开发的效率。

七、附录:常见问题

1、执行命令service smb status时候,输出smb:unrecognized service

解答:我们用常规方法检查Linux系统是否安装了Samba服务时,执行命令# rpm -qa | grep samba时候,输出为:

samba-common-3.6.9-164.el6.x86_64
samba-winbind-3.6.9-164.el6.x86_64
samba-client-3.6.9-164.el6.x86_64
samba4-libs-4.0.0-58.el6.rc4.x86_64
samba-winbind-clients-3.6.9-164.el6.x86_64

缺少了samba-3.6.9-164.el6.x86_64,这是Samba的主程序,没有安装当然无法识别服务了。那么只要到Linux redhat的安装包里面找到对应的安装包,执行命令:

输出:-r--r--r-- 108 root root 5250316 Oct 23 2013 samba-3.6.9-164.el6.x86_64.rpm
......

最后check一下,执行:# service smb status
输出:smbd is stopped
启动它:# service smb start
再次检查:# service smb status
最终输出:smbd (pid 6415) is running...

OK,解决了。

2、mount失败,出现各种错误的原因判断及解决方法

(1)、挂载时,用户/密码错误

错误提示:mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

查看对应/var/log/message记录结果:
Oct 12 16:20:01 localhost kernel: Status code returned 0xc000006d NT_STATUS_LOGON_FAILURE
Oct 12 16:20:01 localhost kernel: CIFS VFS: Send error in SessSetup = -13
Oct 12 16:20:01 localhost kernel: CIFS VFS: cifs_mount failed w/return code = -13

(2)、没有分享目录

错误提示:Retrying with upper case share name
mount error(6): No such device or address
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

查看对应/var/log/message记录结果:
Oct 12 16:20:06 localhost kernel: CIFS VFS: cifs_mount failed w/return code = -6
Oct 12 16:20:17 localhost kernel: CIFS VFS: cifs_mount failed w/return code = -6
Oct 12 16:20:17 localhost kernel: CIFS VFS: cifs_mount failed w/return code = -6

八、参考资料

http://blog.chinaunix.net/uid-23069658-id-3142052.html
http://blog.csdn.net/sycflash/article/details/6646172
http://www.apoyl.com/?p=1432
  • 3
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 配置Samba服务器需要安装Samba软件包并编辑配置文件。 1. 安装Samba软件包:使用系统包管理器安装Samba,例如在Ubuntu/Debian系统使用apt-get命令安装:sudo apt-get install samba 2. 编辑配置文件:sudo nano /etc/samba/smb.conf,修改共享文件夹的路径、用户名和密码。 3. 添加用户并设置密码:sudo smbpasswd -a 用户名 4. 重启Samba服务:sudo service smbd restart 5. 在客户端挂载共享文件夹:mount -t cifs //服务器IP地址/共享文件夹名称 挂载点 -o username=用户名,password=密码 以上步骤是配置Samba服务器的基本步骤,具体配置还需根据实际情况进行调整。 ### 回答2: Samba是一种为Linux系统配置的服务器软件,它能够在Linux系统分享文件和打印机。下面,将为大家介绍如何在Linux配置Samba服务器。 1.在Linux系统安装Samba服务器 在Linux系统安装Samba服务器非常简单。您可以使用以下命令在Linux系统下载和安装Samba服务器: sudo apt-get update sudo apt-get install samba 2.创建共享目录 安装Samba服务器后,您需要创建共享目录。通过将目录设置为共享目录,可以轻松地在Linux系统访问文件和打印机。 使用以下命令创建共享目录: sudo mkdir /samba/share 3.配置Samba配置Samba服务器,您需要编辑smb.conf文件。您可以使用以下命令编辑smb.conf文件: sudo nano /etc/samba/smb.conf 在smb.conf文件下,您可以设置Samba服务器的参数。其,您需要指定您的共享目录名称、权限等信息。 在文件底部添加以下内容: [share] path = /samba/share available = yes valid users = user1, user2 read only = no browseable = yes 在这个例子,将共享目录的名称设置为“share”,指定共享目录的路径为“/samba/share”,并指定可以访问共享目录的用户。 4.添加Samba用户 在配置Samba服务器时,您还需要添加Samba用户。您可以使用以下命令添加Samba用户: sudo smbpasswd -a user1 在这个例子,添加的Samba用户为“user1”。 完成所有的步骤后,您可以重新启动Samba服务器,以确保您的配置已经生效: sudo service smbd restart 至此,LinuxSamba服务器配置完毕,您可以在其他计算机上通过网络访问共享目录和打印机,分享文件和打印机的过程变得非常简单。 ### 回答3: Samba是一种在Linux操作系统使用的文件共享服务,它允许将Linux服务器上的文件和文件夹共享到Windows客户端上。接下来我们将讨论如何在Linux配置Samba服务器。 步骤一:安装Samba服务器 在Ubuntu、Debian、Fedora等Linux发行版上,安装Samba服务器非常简单,只需在终端输入以下命令即可: Ubuntu/Debian: sudo apt-get install samba Fedora: sudo dnf install samba 步骤二:配置Samba服务器 要配置Samba服务器,你需要编辑smb.conf文件,该文件包含了Samba服务器的所有配置信息。在大多数Linux发行版上,该文件位于/etc/samba目录下。 在编辑该文件之前,你可以先备份一份以防止出现问题。 sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak 接着,需按照以下步骤进行配置: 1. 设置工作组名。 请确保服务器和客户端上共享文件的工作组名相同。找到smb.conf文件的工作组部分,将其修改为: [global] workgroup = YOUR_WORKGROUP_NAME 2. 设置共享目录 在Samba服务器上,需要将想要共享的目录指定为一个共享(或称为共享名称),它相当于Windows上的“共享文件夹”。在[smb.conf]文件,您可以通过添加以下行来配置共享名称: [share_name] comment = Share Description path = /path/to/share read only = no browseable = yes 变量说明: share_name:共享的名称,该名称将显示在Windows资源管理器。 comment:该变量包含关于共享的注释。 path:该变量指定共享的完整路径。 read only:该变量用于设置共享是只读还是可写入,默认为只读。 browseable:该变量用于设置为是否允许在Windows资源管理器浏览共享文件。 3. 创建Samba用户 与在Windows上一样,您需要添加Samba用户以控制用户对共享文件的访问级别。要创建Samba用户,请在终端执行以下命令: sudo smbpasswd -a username 此命令将提示您输入新的Samba用户密码。 4. 重启Samba服务器 在更改完Samba配置文件后,您需要重启Samba服务器。 在终端输入以下命令: sudo systemctl restart smbd 步骤三:测试Samba服务器 您可以使用Windows资源管理器或任何支持Samba协议的文件浏览器(如Nautilus或Thunar)访问共享文件。 打开任意一个文件浏览器,并在URL栏输入以下内容: smb://server-ip/share_name (其server-ip为Samba服务器的IP地址,share_name为共享名)。 输入用户名和密码以访问共享文件。 总结 以上是Samba服务器的基本配置,您可以根据需要调整其他Samba选项。Samba服务是一个非常方便的文件共享工具,它可以为Windows和Linux用户提供方便的文件共享体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值