linux与windows之间如何互联呢?

来源:互联网 发布:兰州广电网络客服电话 编辑:程序博客网 时间:2024/04/29 17:16

刚在虚拟机装完Linux操作系统,就有产生了这样的想法:“linux与windows之间如何互联呢?以及用户如何更方便地彼此之间共享数据和打印机设备?”今天,我们可以通过Samba服务器就可以地实现这一功能。它能够使Windows用户通过网络邻居等熟悉方式来访问Linux上的共享资源,而linux用户通过SMB客户端程序访问Windows下的资源。

Samba服务前准备
查看RHEL(默认没有安装)是否安装Samba服务以及安装了何种版本,命令如下:

[root@localhost ~]# rpm -qa | grep samba
samba-common-3.0.10-1.4E
samba-3.0.10-1.4E                                        #samba服务端组件
system-config-samba-1.2.21-1                        #samba图形配置工具
samba-client-3.0.10-1.4E                               #samba客户端组件


如果没有,拿出RHEL安装盘,找到相应的组件(上面的rpm组件)进行安装

[root@localhost ~]# rpm -ivh  samba服务RPM组件路径


安装完成后,还无法使Linux服务器与Windows客户端正常互联。要使Samba正常、安全地提供服务,还需要设置/etc/samba/smb.conf这个配置文挡。

在进行配置工作前,需要开启服务的相应端口(netbios,即windows 网上邻居的 通信协议)。

[root@localhost ~]# cat /etc/services | grep netbios
netbios-ns            137/tcp            # NETBIOS Name Service
netbios-ns            137/udp
netbios-dgm         138/tcp             # NETBIOS Datagram Service
netbios-dgm         138/udp
netbios-ssn         139/tcp              # NETBIOS session service


Samba服务相关文件
1)samba服务密码文件(/etc/samba/smb.conf)
samba服务安装完成后,这个文件默认下是不存在的。我们可以通过smbpasswd 来创建相应的用户名和密码 smbpasswd -a linux用户名(访问权限设定)

PS:samba服务与linux使用不同的密码文件。因此,无法用linux服务下的帐号来登录到samba服务。
通过以下命令可以查看到samba密码文件

[root@localhost ~]# cat /etc/samba/smbpasswd
redhat:500:570CE399DA1412ABAAD3B435B51404EE:B9D2D4955B330B
503CC792EB6A55BB1F:[U                    ]:LCT-4911A2AD:
user1:501:570CE399DA1412ABAAD3B435B51404EE:B9D2D4955B330B5
03CC792EB6A55BB1F:[U                      ]:LCT-4911B0D4:


2)/etc/samba/smbusers
该文件是记录用户映射关系的
3)samba服务日志文件
samba服务的日志文件默认安装在/var/log/samba/目录中。因此,可以根据日志文件来查看服务的运行状态以及用户的访问情况

Samba服务主要配置
因为,samba配置选项很多,我选出一些常用配置来说明

[root@localhost ~]# cat /etc/samba/smb.conf

#== Global Settings(全局设置)======
[global]
workgroup = MSHOME                        #群组名称彧者工作组域名
server string = Samba Server              #Samba服务的简要说明
hosts allow = 192.168.0. 192.168.2. 127.    
#访问权限设定(允许192.168.0.0/24,192.168.2.0/24,127.0.0.0/8,中间需要用空格彧者逗号隔开)
printcap name = /etc/printcap                    #打印机的配置文挡
load printers = yes                                   #是否加载打印机设备

;    guest account = pcguest
#在这里可以设置guest帐号名,而设置的帐号名能够在/etc/passwd文件找得到(在此建用户名),如果未指定,使用“nobody”来处理。默认是不使用的
log file = /var/log/samba/%m.log                #日志存挡文件

security = user
#安全级别有5种.1)share 这种安全级别是最低的,不需要用户名和密码来访问samba服务 2)user(默认) 在访问samba服务,需要帐号来验证 3) server 这个也需要帐号来登录,但密码是别外一台服务器 4)domain 5)ads
;     password server = <NT-Server-Name>

interfaces = 192.168.0.253          #有多网卡时,需要设置监听的网卡
;interfaces = eth1(网卡参数彧者IP地址)

WINS Server
;     wins support = yes
;     wins server = w.x.y.z
;     wins proxy = yes

#==== Share Definitions (共享目录)======
     idmap uid = 16777216-33554431
     idmap gid = 16777216-33554431
     template shell = /bin/false
     winbind use default domain = no
[homes]                                                #用户的主目录
     comment = Home Directories                #注释说明
     browseable = no                                #是否允许浏览别人主目录
     writable = yes                                   #是否执行写操作
[share]                                                 #测试目录
     comment = Samba Share
     browseable = yes
     writable = no
     path = /samba/share                         #共享路径
                        
[printers]
     comment = All Printers
     path = /var/spool/samba
     browseable = no
# Set public = yes to allow user 'guest account' to print
     guest ok = no
     writable = no
     printable = yes


当配置完成后,需要重新启用samba服务

[root@localhost ~]# /etc/init.d/smb restart       #重新启动Samba服务
[root@localhost ~]# service smb  start             #启动Samba服务
[root@localhost ~]# /etc/init.d/smb stop          #停止Samba服务


我们在Windows客户端(192.168.0.100)下测试。linux:IP 192.168.0.1



因为,我配置的时候,开启了验证功能



哈哈,可以在windows下查看linux共享资源



如果,要在Linux下查看windows下共享资源。首先,要安装samba-client客户端组件。查看是否被安装

[root@localhost ~]# rpm -q samba-client        
samba-client-3.0.10-1.4E                                #客户端组件


查看查看windows(192.168.0.100)下共享资源列表

[root@localhost ~]# smbclient -L //192.168.0.100 -U anonymous
WARNING: no network interfaces found
Password:
Domain=[ZHOUZHIWEI] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]

                Sharename             Type            Comment
                ---------             ----            -------
                share                     Disk

session request to 192.168.0.100 failed (Called name not present)
session request to 192 failed (Called name not present)
Domain=[ZHOUZHIWEI] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]

                Server                             Comment
                ---------                        -------

                Workgroup                        Master
                ---------                        -------


个人遇到的几个问题

 

系统安装时选了图形桌面,rpm -qa |grep samba,显示
samba-winbind-clients-3.5.4-62.fc13.i686
samba-client-3.5.4-62.fc13.i686
samba-common-3.5.4-62.fc13.i686
可是输入chkconfig --add smb显示
在 smb 服务中读取信息时出错:没有那个文件或目录
也没有/etc/rc.d/init.d/smb这个文件,如何解决?

 

 

 

 

回答 :

 

 

你根本没有按照samba服务 启动嘛呢!
samba-3.5.4.x.x.x
才是服务器端!
用下面的命令安装
yum -y install samba 

 

(联网查询)

然后
chkconfig --add smb
chkconfig smb on
/etc/rc.d/init.d/smb start

 

 

 

 

 

 

 

 

原创粉丝点击