windows与linux通信文件共享

来源:互联网 发布:淘宝账号怎么升级心 编辑:程序博客网 时间:2024/06/09 16:53

为了实现Windows主机与Linux服务器之间的资源共享,Linux操作系统提供了Samba服务,Samba服务为两种不同的操作系统架起了一座桥梁,使Linux系统和Windows系统之间能够实现互相通信,为广泛的Linux爱好者提供了极大方便。
1、服务查询
默认情况下,Linux系统在默认安装中已经安装了Samba服务包的一部分 ,为了对整个过程有一个完整的了解,在此先将这部分卸载掉。使用命令
rpm -qa | grep samba
rpm命令是RPM软件包的管理工具。rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM套件管理方式的出现,让Linux易于安装,升级,间接提升了Linux的适用度。
如果没有请先安装rpm命令
sudo apt-get install rpm

2、卸载Samba
用rpm -e 将两个包卸载掉。对于samba-common-3.0.33-3.7.el5,因为与其它rpm包之间存在依赖关系,所以必须加参数-f和–nodeps,-f是指强制,–nodeps是指不检查依赖关系,具体完整命令为:
rpm -e samba-common-3.0.33-3.7.el5 -f –nodeps

3、安装Samba
用以下命令安装:

rpm -ivh samba-3.0.33-3.29.el5_6.2.i386.rpm -f --nodepsrpm -ivh samba-client-3.0.33-3.29.el5_6.2.i386.rpm  -f --nodepsrpm -ivh samba-common-3.0.33-3.29.el5_6.2.i386.rpm -f --nodeps

安装完成后,使用命令rpm -qa | grep samba进行查询,发现搭建samba服务器所依赖的所有服务器都已经安装好了即可。

ubuntu 安装samba(简化)sudo apt-get install sambasudo apt-get install smbclient启动Samba服务器只需执行如下命令:#sudo /etc/init.d/samba startsudo service samba start 关闭Samba服务器:#sudo /etc/init.d/samba stopsudo service samba stop重新启动Samba服务器:#sudo /etc/init.d/samba restartsudo service samba restart查看状态#sudo /etc/init.d/samba statussudo service samba status

启动Samba服务器后,可以使用ps命令查看进程:
#ps -aux
可以看到Samba服务会同时启动两个服务,其中smbd主要用来管理共享出来的目录,nmbd主要用来解析NetBIOS名。在Windows系统中,主机可以被加入一个组中,这样每个主机都必须有一个名字,这个名字是用于在网上被标志的名,并非机器的主机名,将其称为NetBIOS名。其中nmbd进程是随着smbd进程启动而启动。

4、配置smb.conf文件
Samba的配置文件一般就放在/etc/samba目录中,主配置文件名为smb.conf,文件中记录着大量的规则和共享信息,所以是samba服务非常重要的核心配置文件,完成samba服务器搭建的大部分主要配置都在该文件中进行。
Samba服务器的工作原理是:客户端向Samba服务器发起请求,请求访问共享目录,Samba服务器接收请求,查询smb.conf文件,查看共享目录是否存在,以及来访者的访问权限,如果来访者具有相应的权限,则允许客户端访问,最后将访问过程中系统的信息以及采集的用户访问行为信息存放在日志文件中。

第一步:修改配置文件首先备份一下samba的配置文件    sudo cd /etc/samba    sudo mv smb.conf smb.confbackup然后重新创建一个smb.conf文件    sudo vim smb.conf然后我们把这段写入smb.conf中[global]workgroup = WORKGROUPnetbios name = LinuxShareserver string = projectsecurity = share[project]path = /opt/projectwriteable = yes browseable = yes #guest ok = yesvalid users=root其中:[global]这段是全局配置,是必段写的。其中有如下的几行;workgroup 就是Windows中显示的工作组;在这里我设置的是WORKGROUP(用大写);netbios name 就是在Windows中显示出来的计算机名;server string 就是Samba服务器说明,可以自己来定义;这个不是什么重要的;security 这是验证和登录方式,这里我们用了share ;验证方式有好多种,这是其中一种;另外一种常用的是user的验证方式;如果用share呢,就是不用设置用户和密码了;[project] 这个在Windows中显示出来是共享的目录;path = 可以设置要共享的目录放在哪里;writeable 是否可写,这里我设置为可写;browseable 是否可以浏览,可以;可以浏览意味着,我们在工作组下能看到共享文件夹。如果您不想显示出来,那就设置为 browseable=noguest ok 匿名用户以guest身份是登录;valid users=root 指定root用户可以访问,在第三步中有配置。id nobody uid=99(nobody) gid=99(nobody) groups=99(nobody)

参考备注:
http://blog.csdn.net/liuchen1206/article/details/77865928
http://www.cnblogs.com/whiteyun/archive/2011/05/27/2059670.html
http://www.linuxidc.com/Linux/2011-07/38996.htm

原创粉丝点击