linux访问windows的samba配置,如何配置?详细教程

 我来答
frankkz
推荐于2016-11-13 · 超过25用户采纳过TA的回答
知道答主
回答量:126
采纳率:0%
帮助的人:0
展开全部
这里只讲到一些很简单的配置,为了方便初学者进行win和linux的通信,也可以了解一些linux服务的配置环境。
概要:
Windows中有一个网络邻居,它提供在局域网内的小型网络资源共享方案,计算机之间使用Samba套件SMB(Session Message Block)协议服务通信。LINUX也可以通过此协议与Windows实现类似网络邻居的通信。下面将介绍SMB协议在Linux下的安装、配置和使用。
注:对于Linux的一些基本使用这里不作详细介绍。SMB基于NetBIOS协议工作。
安装:
Samba的安装包可从网络下载,现在的版本是2.2。我从LINUX的安装盘中找到的安装包(2.2.3),共三个,都以Samba开头,RPM包格式,用rpm –ivh xxx.rpm 解包,将把服务和工具存放到/sbin和/usr/bin下,配置文件在/etc/samba中。查找一下smb、nmb、smbclient工具是否存在。
配置:
对Samba的配置主要是对smb.conf文件的设置。配置项目和方法有机百种之多,在配置文件目录中提供一个预制的配置文件,你只要对其进行改动就行,;和#表示注释。下面将对配置中的主要项目加以说明。
注:这里只是配置将本机对外公布的数据,如何使用其它主机的服务几乎与此无关,但最好配置一下。
1、 简化配置,清晰概念
smb.conf的基本数据只有三段[global]、[homes]、[printers],分别对服务通信数据、个人目录和打印机进行配置。其中[global]段是必需的,[homes]的默认设置使将登陆用户的的主目录进行共享,[printers]是共享系统中配置的所有打印机。
2、 [global]段
这一段只介绍一下基本的配置。其他可根据需要设置。
a) 以下配置在网络邻居里的显示信息
Workgroup = 工作组名 与windows工作组是一个意思
Server string = xxxxx 对计算机的简要说明
b) 如果要共享打印机,使用以下几项
Printcap name = /etc/printcap 打印机配置文件列表
Load printers = yes
printing = lprng 说明打印机类型
c) 指明日志文件
log file = /var/log/samba/%m.log %m表示登陆用户账号
d) 设置公开资源使用级别,与windows的访问控制相像
security = user
e) 设置登陆密码,可用smbpasswd –a 用户名设置密码
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd 密码保存文件
f) 下面一部分很有意思,它可以将不同的登陆账号映射为现有的用户而不用要求系统必须有此账户,即当使用windows时不必注销和更换账号,并且linux也不必添加大量账号。
username map = /etc/samba/smbusers 映射文件
如果其他设置没有改动的话,现在启动samba就可以正常通信了。但使用是否如您所愿,还需要对共享数据进行配置。
3、[homes]段
comment = Home Directories 提示信息,不重要
browseable = no 是否显示次段表示的共享,但在[homes]段不起无用,仍然显示$HOME文件夹。
writable = yes
valid users = %S
create mode = 0664 在此文件夹中创建文件的默认权限
directory mode = 0775
4、[printers]段
comment = All Printers
path = /var/spool/lpd/testsmb 假脱机目录
browseable = no 与[homes]相同
# Set public = yes to allow user ’guest account’ to print
guest ok = no
writable = no
printable = yes
5、其他的共享资源设置与[printers]和[homes]中的设置差不多。可以参考一下配置文件中的一些注释掉的设置。
其他的配置是集成3、4段的设置参数,可参考其他资料。
启动:
Samba启动主要由smbd和nmbd完成,很简单
1、 smbd –D -d1
2、 nmbd -D -d1 -n 计算机名
smbd SMB的客户进程,使用smb.conf文件
nmbd 提供NetBIOS有名服务和浏览支持。
-D 表示以守护进程方式运行 –d1 表示服务启动级别,d1就行
稍等让windows找到服务,打开网络邻居找找,应该能找到了,否则检查一下网络连通情况。或用testparm工具检查一下配置文件的语法。
使用:
这里只讲一下linux下的使用,windows下不会用的话,哪还是用linux吧,哈哈。
smbclient –L 远程计算机名 –U 用户名
将列出远程计算机上的共享资源情况
smbclient ‘\远程计算机名共享名称’ –u xx
将进入到一个类似ftp的文本界面,就像使用ftp一样,稍有不同,看一下,很简单。
快又稳
2024-10-28 广告
在Linux环境下配置基于域名的虚拟主机,需安装Apache或Nginx等Web服务器,并编辑配置文件。以Apache为例,需创建虚拟主机配置文件,指定域名、文档根目录等,然后启用该配置文件并重启Apache服务。同样,Nginx也需在相应... 点击进入详情页
本回答由快又稳提供
lmodt28
2010-11-24 · TA获得超过461个赞
知道答主
回答量:284
采纳率:0%
帮助的人:146万
展开全部
1,首先我们要知道samba的作用是做什么的?
其实在我看来samba有三点好处
a:是一个文件共享服务器,是linux与windows的沟通管道
b:可以作为打印print server提供windows远程联机打印,(有人会说windows也可以啊,但个人认为还是linux稳定些)
c:samba也可以作为wins server服务器,配合dhcp服务器可以管理NT网域。
2,samba每次启动至少有两个服务进程smbd,nmbd,它们分别的作用是?
smbd 用来管理samba主机分享什么什么目录,打印服务等
nmbd 用来管理群组,netbios name的解析
3,当samba启动的时候会用到那些端口呢?
samba启动的时候会用到137,138,139,三个端口所以我们在配置防火墙的时候会用到这三个端口的
4,samba的安装?
首先我们需要检测自己到底安装了samba服务没有,因为我们装系统的时候默认是装了samba服务的(我这里装的是fedora4)
[root@www ~]# rpm -qa |grep samba
samba-3.0.14a-2
system-config-samba-1.2.31-1
samba-common-3.0.14a-2
samba-client-3.0.14a-2
本机已经安装了 ,其实我真的挺建议大家装的时候用rpm包装,而不用tar.gz,我给大家推荐个网站可以下载所有的rpm包,只需要安装4个rpm包就可以了,以后缺少什么rpm包就直接来这里下载了,这里提醒下samba的最新版本为3.0.28版本,下载地址为
5,确认samba服务是否启动
[root@www ~]# ps aux |grep samba
root 32713 0.0 0.0 280 16 pts/0 R+ 15:46 0:00 grep samba
6.启动samba服务
[root@www samba]# service smb start
启动 SMB 服务: [ 确定 ]
启动 NMB 服务: [ 确定 ]
想要开机就启动samba服务,有两种方法a. [root@www samba]# ntsysv b.[root@www samba]# chkconfig --level 345 smb on
7,samba是装在默认是装在etc目录下的,而samba文件夹下有那些文件以及文件的含义?
[root@www ~]# cd /etc/samba/
[root@www samba]# ls
lmhosts 局域网内相关的netbios name对应的ip信息
secrets.tdb 这是加密库
smb.conf samba的主配置文件
smbpasswd samba服务器的使用者密码对应表
smbusers user模式下的Samba 服务,在登录的时候所使用的用户名必需是在/etc/samba/smbusers中定意过。只有提供smbusers中定义过的用户SAMBA才能允许登录。
8.smb.conf配置
a,首先挑几个比较重要的解释下
workgroup = MYGROUP 工作组群:同一个局域网内,要有相同的workgroup
server string = Samba Server 主机的说明,可以随便起名字
log file = /var/log/samba/%m.log 日志登录文件存放的位置
max log size = 50 最大日志大小这里的50指的是50kB
security = user 需要用户名和密码才能登录,与smbpasswd有关
= share 不需要用户名和密码进行登录
= domin 就是让你的samba作为主域控制器
[myshare] 共享目录
comment = 对这个共享目录的说明
path = /var/www/html 共享的路径
public = no 是否让所有登录者都看到这个目录
read only = no 不光可读还可执行存取
writable = yes 是否可以写入
printable = no 是否可以打印
valid users = zy 允许的登陆者
create mask = 0765 权限是目录所有者是可读可写可执行 同一个组的用户可读可写 其他用户只有读和执行的权利
9,以security = share 写一个实例
[root@www samba]# vi smb.conf

workgroup = MYGROUP
server string = 赵勇 Server
client code page = 950 想让你的samba可以在windows上显示中文就需要加入这句,没设定默认的值是850
security = share 安全级别是share
log file = /var/log/samba/%m.log 日志登录文件存放的位置
max log size = 0 表示登录档案大小不限制
下面的是自己添加的
[zy]
comment = zy samba server
path = /tmp
read only = no
public = yes
然后测试samba服务器
[root@www samba]# testparm
然后再按enter键 就会出现你的所有配置
从新启动samba
[root@www samba]# service smb restart
客户端的测试
打开网上邻居 然后查看所有网络 然后找到mygroup 找到你的samba主机
10.接下来我们要设定需要密码认证才能登陆的samba服务器

workgroup = MYGROUP
server string = zy Server
hosts allow = 192.168.1.102 127. 需要说明我windows主机地址为192.168.1.102 这里是为了安全期间 只允许192.168.1.102这个地址才能访问我的samba服务器
client code page = 950 想让你的samba可以在windows上显示中文就需要加入这句,没设定默认的值是850
security = user 安全级别是user
encrypt passwords = yes 使用加密密码对samba访问
smb passwd file = /etc/samba/smbpasswd 密码保存文件路径
log file = /var/log/samba/%m.log 日志登录文件存放的位置
max log size = 0 表示登录档案大小不限制
底下设定每个使用者的家目录,这里我有两个用户zy,yy
[homes]
comment = zy yy homes
browseable = no browseable是yes/否no在浏览资源中显示共享目录,若为否则必须指定共享路径才能存取
valid users = %s %s指的是任何可以登录者都可以登录的意思,比如是zy登录则[homes]变为[zy],而yy登录[homes]变为[yy]
writable = yes 可写
create mask = 0755 创建档案的权利是755
directory mask = 0755 创建目录的权力是755

[public]
comment = zy yy
path = /home/public 指定路径
public = yes 允许公开共享
writable = yes 可以写入

11,创建public目录,创建用户,并测试从新启动samba服务器
[root@www home]# mkdir public
[root@www ~]# chmod 777 public 给这个目录的权限
[root@www ~]# useradd yy 创建系统用户yy
[root@www ~]# smbpasswd -a yy 把yy用户加入smbpasswd中
New SMB password:
Retype new SMB password:
Added user yy.
[root@www ~]# useradd zy
[root@www samba]# smbpasswd -a zy
New SMB password:
Retype new SMB password:
Added user zy.
[root@www samba]# service smb restart
我可以帮助你,你先设置我最佳答案后,我百度Hii教你。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
644566135
2010-11-16
知道答主
回答量:13
采纳率:0%
帮助的人:2.1万
展开全部
windows里应该叫做文件共享吧,linux里才叫做samba,linux可以直接访问windows的共享文件,windows需要访问linux的samba的话,最好是把linux的防火墙先关一下比较好,然后直接安装samba组件,启动服务,设置访问帐号即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dojongyu
2010-11-15 · TA获得超过260个赞
知道小有建树答主
回答量:464
采纳率:0%
帮助的人:353万
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式