让Linux与Windows互发短信

发表于:2007-05-26来源:作者:点击数: 标签:
Samba是用来实现SMB(Server Messages Block)协议的一种软件,是一套让 Unix / Linux系统 能够应用Microsoft 网络 通信协议的软件,它可以和运行Windows 98、Windows 2000等操作系统的计算机实现文件共享和打印机共享服务。 通过配置Samba 服务器 ,可以提供W
Samba是用来实现SMB(Server Messages Block)协议的一种软件,是一套让Unix/Linux系统能够应用Microsoft网络通信协议的软件,它可以和运行Windows 98、Windows 2000等操作系统的计算机实现文件共享和打印机共享服务。

    通过配置Samba服务器,可以提供Windows客户机来访问Linux系统上共享的资源,也能够在Linux上通过SMB协议访问Windows系统上的共享资源。

    一般来说,用户习惯使用Linux计算机作为服务器,使用Windows计算机作为客户机。但是,现在有越来越多的计算机使用者不但使用Linux做服务器,也使用Linux来处理很多其它任务,那么就可能会需要访问其它Windows计算机上的资源。下面就详细介绍在红旗Linux下,与Windows机器互相发送短信的一种方法,并且阐述配置步骤和测试方法。

    配置Samba

    配置Samba的工作其实就是对配置文件smb.conf进行相应的设置。smb.conf关系着Samba服务器的权限设置,以及共享的目录、打印机和机器所属的工作组等各种细致的选项。

    smb.conf文件最基本的三个特殊段是global(全局参数)、directory shares(目录共享)、printer shares(打印共享)。除了[global]段外,所有的段都可以看作是一个共享资源,段名是该共享资源的名字,而段里的参数就是共享资源的属性。[global]、[homes]和[printers]三个段是比较特殊的。smb.conf文件配置起来很复杂,而且内容很多,在这里只列出核心的配置:

[global]
            netbios name = Redflag
            workgroup = WORKGROUP
            hosts allow = 192.168.100. 192.168.200. 127.
            log file = /var/log/samba/log.%m
            security = user
            encrypt passwords = yes
            smb passwd file = /etc/samba/smbpasswd
            [homes]
              comment = Home Directories
              browseable = yes
            writable = yes

    至于其它的选项,可以根据用户的实际需要进行取舍。当配置好Samba并启动后,就可以在Windows下访问Linux机器上的资源。操作过程如下:

    1.在Windows 2000计算机的桌面上单击“网上邻居”,进入Workgroup组,其成员如图1所示,找到Linux的主机Redfag。
    2.单击“Redflag”,出现要求输入用户名和密码的画面。
    3.如果输入用户名和密码正确,则可以看到Redflag机上共享的资源,如图2所示。
    接下来,用户可以按照自己的需要进行相应的操作。

 


图1 Windows 2000的计算机Workgroup组成员


图2 Redflag机上共享的资源

    实现Linux与Windows互发短信

    为了处理winpopup的信息,Samba提供了“message command”全局参数,它定义了信息到来时Samba采取的措施,例如在smb.conf的[global]段加入下面两行:

message command = bash "kedit %s; rm %s" &
            message command = /bin/mail -s 'message
            from %f on %m ' root < %s;rm %s&

    上面命令表明必须立即返回,所以其后加上了“&”符号;%s表示存放信息的文件名;%f表示发送信息的用户;%m表示客户机的NetBIOS名字。

    配置完成后,重新启动Samba,接下来就可以进行测试。

    1.从Linux机向Windows及发送短消息
    测试使用的命令是smbclient,操作如下:
    [root@redflag /root]# echo "This is a test!" | smbclient -M lgm

    上面代码中,lgm表示的是Windows的NetBIOS名字。
    (1)在Windows 98下,首先要运行winpopup.exe程序,接下来才能接收到短消息,如图3所示。
    (2)在Windows 2000下可以直接接收短消息,如图4所示。

 


图3 Windows 98接收到Linux发送的信息


图4 Windows 2000接收到Linux发送的信息

    2.从Windows向Linux发送短信息
    在Windows 98下,向Linux发送短信息时仍然要用winpopup.exe程序,但是对象应该是Linux下的NetBIOS名称才可以,如图5所示。

 


图5 在Windows 98下回复Linux短信


图6 Windows 2000下用net send命令向Linux发送短信息

    在Windows 2000下,用net send命令向Linux发送短信息,如图6所示。

    3.在Linux下通过mail命令查看收到的信息

[root@redflag /root]#mail
            Mail version 8.1 6/6/93.  Type ? for help.
            "/var/spool/mail/root": 1 message 1 new
            >N  1 nobody@localhost.loc  Sat Apr  5 15:56
            13/442   "message from LGM on l"
            & 1
            Message 1:
            From nobody  Sat Apr  5 15:56:14 2003
            Date: Sat, 5 Apr 2003 15:56:14 -0500
            From: Nobody <nobody@localhost.localdomain>
            To: root@localhost.localdomain
            Subject: message from LGM on lgm
            This is a test!
            Windows

    Samba的功能非常强大,是目前应用最为广泛的网络服务之一,本文只介绍了在红旗Linux下与Windows互相发送短信的一种方法。

原文转自:http://www.ltesting.net