您的位置:首页 > 运维架构 > Linux

linux与Windows文件共享

2013-11-10 18:44 411 查看
文件共享是重要的网络需求,特别在企业环境中这种需求显得非常迫切。我们知道Windows主机间的文件共享非常简单,可以通过网上邻居实现。但是企业环境中主机的操作系统比较复杂,其中不乏Linux、Unix这样的系统。那如何实现Windows与Linux之间的文件共享呢?一个有效的解放方案是,在Linux平台上部署SAMBA即可实现此类共享需求。下面笔者搭建环境,实例演示在Linux中部署SAMBA的详细技术细节。

  环境描述
Linux系统:Red Hat 9.0
Windows系统:Windows XP sp2
  一、SAMBA服务部署
1、samba安装
(1).验证
samba是Linux系统集成的一个工具,在安装Linux的过程中用户可以选择安装。验证系统是否安装了samba可以通过如下命令进行查看:
[root@localhost root]# rpm -qa |grep samba
  如果如下面所示,就说明已经安装了samba:
samba-swat-2.2.7a-7.9.0
samba-2.2.7a-7.9.0
redhat-config-samba-1.0.4-1
samba-common-2.2.7a-7.9.0
samba-client-2.2.7a-7.9.0
  从图1可以看到笔者的Linux已经安装了samba。(图1)
  


(2).安装
  如果上述命令没有任何显示,就说明没有安装。要安装samba非常简单。将RedHat
9.0的第一张安装盘放入光驱,系统会自动挂接。如果没有挂接可输入mount /mnt/cdrom进行挂载,然后按照下面的操作进行安装:
# cd /mnt/cdrom/RedHat/RPMS
# rpm -ivh samba-common-2.2.7a-7.9.0.i386.rpm
# rpm -ivh samba-2.2.7a-7.9.0.i386.rpm
# rpm -ivh samba-client-2.2.7a-7.9.0.i386.rpm
  这样我们就安装好了samba,然后输入命令进行查看:
# ls /etc/samba
  可以看到有三个文件分别为lmhosts、smb.conf、smbusers。
(图2)
  


2、samba配置
samba安装完成后还需要配置,需要对smb.conf配置文件进行修改。我们可以用vi打开进行修改。其实对于一般的应用采用缺省设置就可以了,不过我们基于安全性和特殊性的要求需要对其中的一些项目进行修改。笔者建议修改的项目有如下几项:
(1).激活interfaces = 192.168.12.2/24 192.168.13.2/24项,这是设置可访问samba的网段,我们可以将其设置为interfaces
= eth0,设置可访问的网卡。
(2).激活username map = /etc/samba/smbusers,这是用户映射,是为了服务器安全而设置的。
(3).在smb.conf设置,申明共享文件夹。比如我们创建的共享文件夹为/home/gslw,然后分配用户访问权限。我们可以这样分配:admin、root用户可以读、写,而其他用户只能读不能写。在企业环境中我们可以通过创建组来统一设置用户的访问权限。不过需要说明的是,这些用户必须是Linux的系统用户,然后将其加入samba。
  比如我们可以添加类似这样的语句:
[gslw]
comment = gslw
path = /home/gslw
write list = root
read list = gslw
smb.conf文件配置完成后保存退出即可。
(图3)
  


(4).下面需要配置smbusers文件,设置用户访问权限。用vi打开smbusers文件,然后将
root = administrator admin
nobody = guest pcguest smbguest
  修改为
root = admin
gslw = 11
nobody = guest pcguest smbguest
  保存并退出。
(图4)
  


   

    配置完成后,我们输入命令testparm进行对samba配置文件的测试,如图5所示,测试正常。(图5)
 

 

   

    3、创建共享文件夹
  作为测试,我们运行命令mkdir /home/gslw创建共享文件夹,然后输入命令ls
/home可以看到文件夹创建完成。
4、添加用户
  要访问该共享文件夹,还需要添加用户。输入命令smbpasswd -a root,将root用户添加进来,并为其设置访问密码。同样的我们输入命令smbpasswd
-a gslw,将gslw用户添加进来并为其设置密码。诸如此类,大家可以根据需要添加相应的用户。(图6)
  


5、设置权限
  设置共享目录的访问权限,比如我们设置为完全控制可输入命令即可chmod 777 /home/gslw。权限设置完毕后需要重新启动服务,输入命令service
smb restart即可。(图7)
  


   

    6、访问测试
(1).linux访问
  我们先在linux下访问SAMBA共享文件夹进行测试。输入命令smbclient
//192.168.216.133/gslw -U root
  ,然后输入密码可以看到访问成功。进入smb命令行,我们输入ls命令查看共享目录中的文件,当然也可以通过mkdir命令创建目录。然后用gslw登录samba服务器,可以利用ls查看共享目录中的文件,然后用mkdir创建文件夹,可以看到没有成功,这是因为我们在samba的配置文件设置了gslw用只有读权限,没有赋予其写权限。通过上面的测试,说明我们的samba服务器创建成功,在linux下访问成功。(图8)
  


   

    (2).Windows XP访问
  下面我们测试在XP中是否可以访问samba服务器中的共享文件夹。打开“我的电脑”,在地址栏中输入samba服务器的IP地址。我们输入\\192.168.216.133回车后弹出登陆框,输入登录用户名admin密码test168,可以看到成功登录samba服务器,可以看到我们在samba的命令行下刚才创建的目录。(图9)
  


   

    总结:Samba是一个网络服务器,用于Linux和Windows共享文件之用。上面演示的利用samba服务实现Linux与Windows直接的文件共享,涉及了samba的设置几个重要方面。其实,在实际应用中我们可以根据自己的需要进一步深入设置,只有把配置文件和共享目录的权限结合起来,才能使Samba服务发挥更大的作用。

做完上述的工作后,还需要做一下工作:

通过图形界面做的设置。
在“服务器设置”-“安全性”中:
“验证模式”选择为“共享”
“加密口令”选择为“是”
“来宾帐号”选择为“无来宾帐号”
在共享目录的访问属性里,设置成了“允许所有用户访问”

不要忘了将读写属性改为可写
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  redhat samba