在Linux操作系统中要实现和windows操作系统的文件共享,可以在Linux上使用nfs,但是必须在windows上安装相关的软件,且该软件一般需要付费!故此种办法实用性不高,那有没有一种更好的解决办法呢?答案是肯定的,下面将具体介绍这种比较实用的办法。
在windows主机之间进行网络文件共享是通过使用微软公司自己的CIFS服务实现的,CIFS是Common Internet File System的缩写,可以从一台windows主机直接访问网络中的其他主机的共享文件夹,CIFS最典型的应用是能够在“网上邻居”中找带其他主机并访问其中的共享文件。
一直以来windows主机之间都使用SMB/CIFS网络协议实现文件和打印资源的共享。由于SMB/CIFS是微软的私有协议,所以无法直接与UNIX系统进行通信,直到Samba项目的出现。
通过Samba服务器和Samba客户机软件,完全可以实现Linux主机和widows主机之间的双向文件共享。

[root@Linserv ~]# rpm -qa |grep samba
[root@Linserv ~]# mount /dev/cdrom /mnt
mount: block device /dev/cdrom is write-protected, mounting read-only
[root@Linserv ~]# rpm -ivh /mnt/Server/samba-3.0.23c-2.i386.rpm
warning: /mnt/Server/samba-3.0.23c-2.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
error: Failed dependencies:
        samba-common = 0:3.0.23c-2 is needed by samba-3.0.23c-2.i386

[root@Linserv ~]# eject
[root@Linserv ~]# !mou
mount /dev/cdrom /mnt
mount: block device /dev/cdrom is write-protected, mounting read-only
[root@Linserv ~]# rpm -ivh /mnt/Server/samba-common-3.0.23c-2.i386.rpm
warning: /mnt/Server/samba-common-3.0.23c-2.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing...                ########################################### [100%]
   1:samba-common           ########################################### [100%]

[root@Linserv ~]# mount /dev/cdrom /mnt
mount: block device /dev/cdrom is write-protected, mounting read-only
[root@Linserv ~]# rpm -ivh /mnt/Server/samba-3.0.23c-2.i386.rpm
warning: /mnt/Server/samba-3.0.23c-2.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing...                ########################################### [100%]
   1:samba                  ########################################### [100%]

[root@Linserv ~]# vi /etc/samba/smb.conf

#======================= Global Settings =====================================
[global]
   workgroup = MYGROUP
   server string = Samba Server
   security = user
   load printers = yes
   cups options = raw
   log file = /var/log/samba/%m.log
   max log size = 50
   dns proxy = no
[homes]
   comment = Home Directories
   browseable = no
   writable = yes
[printers]
   comment = All Printers
   path = /usr/spool/samba
   browseable = no
   guest ok = no
   writable = no
   printable = yes
[public]
        path = /home/public
        public = yes
        only guest =yes
        writeable=no


[root@Linserv ~]# service smb start
Starting SMB services:                                     [ OK ]
Starting NMB services:                                     [ OK ]

[root@Linserv ~]# mkdir /home/public

[root@Linserv ~]# chown nobody:nobody /home/public/

[root@Linserv ~]# vi /home/public/test.doc


[root@Linserv ~]# useradd samba1
[root@Linserv ~]# useradd samba2
[root@Linserv ~]# tail /etc/passwd
rpc:x:32:32:Portmapper RPC user:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
pcap:x:77:77::/var/arpwatch:/sbin/nologin
a:x:500:500::/home/a:/bin/bash
b:x:501:501::/home/b:/bin/bash
virtual:x:502:502::/home/ftpsite:/bin/bash
samba1:x:503:503::/home/samba1:/bin/bash
samba2:x:504:504::/home/samba2:/bin/bash

[root@Linserv ~]# cat /etc/samba/smbpasswd
[root@Linserv ~]# smbpasswd -a samba1
New SMB password:
Retype new SMB password:
Added user samba1.
[root@Linserv ~]# smbpasswd -a samba2
New SMB password:
Retype new SMB password:
Added user samba2.
[root@Linserv ~]# cat /etc/samba/smbpasswd
samba1:503:CCF9155E3E7DB453AAD3B435B51404EE:3DBDE697D71690A769204BEB12283678:[U          ]:LCT-4921594C:
samba2:504:CCF9155E3E7DB453AAD3B435B51404EE:3DBDE697D71690A769204BEB12283678:[U          ]:LCT-4921595B:

 

 

 

 

 

 

 

[root@Linserv ~]# mount /dev/cdrom /mnt
mount: block device /dev/cdrom is write-protected, mounting read-only
[root@Linserv ~]# rpm -ivh /mnt/Server/samba-client-3.0.23c-2.i386.rpm
warning: /mnt/Server/samba-client-3.0.23c-2.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing...                ########################################### [100%]
   1:samba-client           ########################################### [100%]

[root@Linserv ~]# umount /mnt
[root@Linserv ~]# mount -o username=administrator //192.168.0.21/Inetpub /mnt
Password:
[root@Linserv ~]# ls /mnt
AdminScripts wwwroot
[root@Linserv ~]#