Linux与Windows操作系统间的互访文档格式.docx

上传人:b****5 文档编号:20767136 上传时间:2023-01-25 格式:DOCX 页数:9 大小:22.64KB
下载 相关 举报
Linux与Windows操作系统间的互访文档格式.docx_第1页
第1页 / 共9页
Linux与Windows操作系统间的互访文档格式.docx_第2页
第2页 / 共9页
Linux与Windows操作系统间的互访文档格式.docx_第3页
第3页 / 共9页
Linux与Windows操作系统间的互访文档格式.docx_第4页
第4页 / 共9页
Linux与Windows操作系统间的互访文档格式.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

Linux与Windows操作系统间的互访文档格式.docx

《Linux与Windows操作系统间的互访文档格式.docx》由会员分享,可在线阅读,更多相关《Linux与Windows操作系统间的互访文档格式.docx(9页珍藏版)》请在冰豆网上搜索。

Linux与Windows操作系统间的互访文档格式.docx

NFS本身的服务并没有提供资料传递的协议,但是它却能进行文件的共享。

原因就是NFS使用到一些其它相关的传输协议,而这些传输的协议就是远程过程调用(RemoteProcedureCall,RPC)。

NFS也可以视为一个RPCServer。

需要说明的是,要挂载NFSServer的ClientPC主机,也需要同步启动远程过程调用。

这样Server端和Client端才能根据远程过程调用协议进行数据共享。

(3)FTP服务器 与其他Internet应用一样,依照FTP(FileTransferProtocol)协议提供服务,让网友们进行文件的存取,这些网站就是FTP服务器。

网上的用户要连上FTP服务器,就要用到FPT的客户端软件,进行文件的上传(Upload)或下载(Download)等动作。

ftp客户可以是任意平台,FTP服务器上的文件需使用上传和下载的方式。

在linux环境下,有三个主要的FTP服务器:

vsftpd、proftpd和wu-ftpd。

因为安全方面的原因,vsftpd目前已经牢牢的占据了主导地位。

2.2 

互访方式的比较

在Linux主机和Unix主机使用的都是TCP/IP协议,一台Linux主机若要同其它Linux主机或是Unix主机实现信息共享,有很多方便的、成熟的工具如FTP或NFS等等。

同样,WindowsNT也支持TCP/IP协议,所以NTServer与Linux主机或是Unix主机的信息交流,也可以通过FTP或NFS。

但是,FTP和NFS并不够直观操作。

为便于Windows与Linux及Unix更方便地进行信息共享,如同Windows与Windows之间一样,我们可以通过Linux提供的Samba服务程序。

Samba是一组程序,可以使你的Linux具备理解SMB协议(servermessageblock)的能力。

SMB协议是一种在os/2、WindowsNT、Windows95和Windowsforworkgroups等Windows系列中广泛使用的协议,该协议主要用来实现文件和打印机共享。

使你的Linux将会出现在"

NetworkNeighborhood"

(网络邻居)中如同其它windows机器一样。

Windows用户可以登录至你的Linux机器并且以你赋与他们的权限与Unix文件系统进行双向的交流,还可以向Linux打印机提交作业。

Samba应该范围主要是Windows和Linux系统共存的网络中使用;

如果一个网络环境都是Linux或Unix类的系统,应该用NFS更好一点;

3 技术方案结论

根据对本工程局域网内互访需求的分析,通过比较发现,为进行Windows系统与Linux系统在局域网间的互相访问与操作,选用samba服务器的方式是更为理想的方式。

samba服务器软件在linux环境中是标准配置,在标准系统安装盘中是自带的,专门用于自身Linux系统与网络中的其它Linux和Windows系统共享文件之用。

并且与ftp服务器方式不同的是,在Linux中可以通过Samba的向网络中的机器提供共享文件系统,也可以把网络中其它机器的共享直接挂载在本地机上当做本地硬盘来使用;

这在一定意义上说和FTP是不一样的。

4 具体实施

4.1Samba两个服务器相关启动程序、客户端及服务器配置文件等;

主要功能流程图

4.2详细步骤如下:

4.2.1检查是否已安装了samba服务器软件,若是用RPM包安装的,则可使用命令:

[root@localhost~]#rpm–qa|grepsmb

4.2.2若未装则安装软件,要进行软件的安装;

否则,开始启动服务器。

Samba有两个服务器,一个是smb,另一个是nmb;

smb是Samba的主要启动服务器,让其它机器能知道此机器共享了什么;

而nmb是专门用于把这台Linux机器所共享的工作组及在此工作组下的netbiosname解析出来;

一般的情况下,在RPM包的系统,如果是Samba,一般可以通过如下的方式来启动Samba服务器;

(1)启动服务

有两种方式:

一、使用服务管理[root@localhost~]#/etc/init.d/smbstart [或servicesmbstart]

启动SMB服务:

[确定]

启动NMB服务:

二、直接运行可执行程序/usr/sbin/smbd和/usr/sbin/nmbd

(2)系统自启动设置

如果希望下次启动时,服务自动启动则使用如下命令:

#chkconfig–list|grepsmb//查看相应运行级别时,是否启动了此服务

#chkconfigsmbon 

 

//若没启动,则使用此方法启动

(3)查看服务器是否正在运行

[root@localhost~]#pgrepsmbd

[root@localhost~]#pgrepnmbd

(4)关掉Samba服务器,要root权限来执行

[root@localhost~]#/etc/init.d/smbstop [或servicesmbstop]

[root@localhost~]#pkillsmbd

[root@localhost~]#pkillnmbd

4.2.3查看Samba服务器的端口及防火墙;

(1)查看服务端口

有时你的防火墙可能会把smbd服务器的端口封掉,所以我们应该smbd服务器所占用的端口;

下面查看中,我们知道smbd所占用的端口是139和445;

[root@localhost~]#netstat-tlnp|grepsmb

tcp000.0.0.0:

1390.0.0.0:

*LISTEN10639/smbd

4450.0.0.0:

(2)重置防火墙

两种方式:

一、如果您有防火墙,一定要把这两个端口打开。

最简单的方式就是把防火墙规则清掉:

[root@localhost~]#iptables-F或[root@localhost~]#/sbin/iptables–F

二、打开此两个端口

#vi/etc/sysconfig/iptables添加如下语句:

-ARH-Firewall-1-INPUT-mstate--stateNEW-mtcp-ptcp–dport139-jACCEPT

下面是开放整个区间的端口的写法

-ARH-Firewall-1-INPUT-mstate--stateNEW-mtcp-ptcp–dport139:

445-jACCEPT

#serviceiptablesrestart

4.2.4查看和更新Samba服务器的配置文件

如果我们是用Linux发行版自带的Samba软件包,一般情况下Samba服务器的配置文件都位于/etc/samba目录中,服务器的主配置文件是smb.conf;

也有用户配置文件smbpasswd、smbusers和lmhosts等;

主要有两方面内容:

开放相应的用户权限和建立相应的目录并授权;

首先您要备份一下smb.conf文件,然后重写smb.conf文件。

具体如下:

[root@localhost~]#cd/etc/samba

[root@localhostsamba]#mvsmb.confsmb.confBAK

例子一:

一个可用于匿名用户读写的配置文件

第一步:

建立新文件smb.conf

[root@localhostsamba]#cat>

smb.conf<

<

“EOF”

>

[global]

workgroup=TECHNOLOGY

netbiosname=Technology05

serverstring=SambaTestServer

security=share

[technology]

path=/opt/technology

writeable=yes

browseable=yes

guestok=yes

EOF

注解:

[global]这段是全局配置,是必写的段,其中项的含义:

workgroup就是Windows中显示的工作组;

在这里我设置的是TECHNOLOGY(用大写);

netbiosname就是在Windows中显示出来的计算机名;

serverstring就是Samba服务器的注释说明

security这是验证和登录方式;

另外一种常用的是user的验证方式;

如果用share就不用设置用户和密码了;

[technology]这个在Windows中显示出来是共享的目录;

path=可以设置要共享的目录放在哪里;

writeable是否可写,这里我设置为可写;

browseable是否可以浏览,可以;

可以浏览意味着,我们在工作组下能看到共享文件夹。

如果您不想显示出来,那就设置为browseable=no

guestok匿名用户以guest身份是登录;

第二步:

建立相应目录并授权;

[root@localhost~]#mkdir-vp/opt/technology

[root@localhost~]#idnobody

uid=99(nobody)gid=99(nobody)groups=99(nobody)

[root@localhost~]#chown-Rnobody:

nobody/opt/technology

注释:

关于授权nobody,我们先用id命令查看了nobody用户的信息,发现他的用户组也是nobody,我们要以这个为准。

有些系统nobody用户组并非是nobody;

例子二:

复杂一点的用户共享模型(适合10人左右的小型企业);

比如一个公司有四个部门,分别是departadmin,depart01,depart02,depart03,depart04。

我们想为这家公司设计一个比较安全的共享文件模型。

每个用户都有自己的网络磁盘如netdisk01到netdisk04,还有共用的网络硬盘netdiskrdwt;

所有用户(包括匿名用户)有一个共享资料库shareonlyrd,此库为了安全是只读的;

还要有一个空间,用于公司所有用户的临时文档终转.

(1)共享权限设计实现的功能;

1)departadmin部门具有管理所有SMB空间的权限;

2)depart01到depart04拥有自己的空间netdisk01-netdisk04,并且除了自身及departadmin有权限以外,对其它用户具有绝对隐私性;

3)depart01到depart04拥有一个共同的读写权限的空间netdiskrdwt;

4)所有用户(包括匿名用户)有一个有读权限的空间shareonlyrd,用于资料库,所以不要求写入数据。

5)还要有一个空间sharerdwt,让所有用户可以写入,能删除等功能,在权限上无限制,用于公司所有用户的临时文档终转等;

(2)在服务器上创建相应的目录;

[root@localhost~]#mkdir-p/opt/departadmin

[root@localhost~]#cd/opt/departadmin

[root@localhostdepartadmin]#mkdir–vnetdisk01netdisk02netdisk03netdisk04netdiskrdwtshareonlyrdsharerdw

注:

功用如下:

/opt/netdiskadmin这是管理员目录,负责管理其下所有目录;

/opt/netdiskadmin/netdisk01是depart01的家目录,用于私用,除了用户本身和departadmin以外其它用户都是不可读不可写;

/opt/netdiskadmin/netdisk02是depart02的家目录,用于私用,除了用户本身和departadmin以外其它用户都是不可读不可写;

/opt/netdiskadmin/netdisk03是depart03的家目录,用于私用,除了用户本身和departadmin以外其它用户都是不可读不可写;

/opt/netdiskadmin/netdisk04是depart04的家目录,用于私用,除了用户本身和departadmin以外其它用户都是不可读不可写;

/opt/netdiskadmin/netdiskrdwt是用于depart01到depart04用户可读可写共用目录,但匿名用户不能读写;

/opt/netdiskadmin/shareonlyrd所用用户(除了departadmin有权限写入外)只读目录/opt/netdiskadmin/sharerdwt用于所有用户(包括匿名用户)的可读可写;

(3)添加用户用户组,设置相应目录家目录的权限

[root@localhost~]#/usr/sbin/groupadddepartadmin

[root@localhost~]#/usr/sbin/groupadddepart01

[root@localhost~]#/usr/sbin/groupadddepart02

[root@localhost~]#/usr/sbin/groupadddepart03

[root@localhost~]#/usr/sbin/groupadddepart04

[root@localhost~]#/usr/sbin/groupadddepart0104

(4)添加用户

[root@localhost~]#adduser-gdepart01-Gdepart0104-d/opt/netdiskadmin/depart01-s/sbin/nologindepart01

[root@localhost~]#adduser-gdepart02-Gdepart0104-d/opt/netdiskadmin/depart02-s/sbin/nologindepart02

[root@localhost~]#adduser-gdepart03-Gdepart0104-d/opt/netdiskadmin/depart03-s/sbin/nologindepart03

[root@localhost~]#adduser-gdepart04-Gdepart0104-d/opt/netdiskadmin/depart04-s/sbin/nologindepart04

[root@localhost~]#adduser-gdepartadmin-d/opt/departadmin-Gdepartadmin,depart01,depart02,depart03,depart04,depart0104-d/opt/netdiskadmin-s/sbin/nologindepartadmin

用finger和id来查看用户信息,检查用户是否添加正确,如下:

[root@localhost~]#iddepartadmin

[root@localhost~]#fingerdepartadmin

(5)添加samba用户并设置密码;

我们用的方法是先添加用户,但添加的这些用户都是虚拟用户,因为这些用户是不能通过SHELL登录系统的;

另外值得注意的是系统用户密码和Samba用户的密码是不同的。

如果您设置了系统用户能登入SHELL,可以设置用户的Samba密码和系统用户通过SHELL登录的密码不同。

我们通过smbpasswd来添加Samba用户,并设置密码。

原理是通过读取/etc/passwd文件中存在的用户名。

[root@localhostnetdisk01]#smbpasswd-adepartadmin

NewSMBpassword:

注:

在这里添加Samba用户departadmin的密码;

RetypenewSMBpassword:

再输入一次;

用同样的方法来添加depart01、depart02、depart03、depart04的密码;

(6)配置相关目录的权限和归属;

[root@localhost~]#chmod755/opt/netdiskadmin

[root@localhost~]#chown–Rdepartadmin:

departadmin/opt/netdiskadmin

[root@localhost~]#cd/opt/netdiskadmin

[root@localhost~]#chmod2770netdisk0*

[root@localhost~]#chowndepart01.departadminnetdisk01

[root@localhost~]#chowndepart02.departadminnetdisk02

[root@localhost~]#chowndepart03.departadminnetdisk03

[root@localhost~]#chowndepart04.departadminnetdisk04

[root@localhost~]#chowndepartadmin.depart0104shareonlyrd

[root@localhost~]#chowndepartadmin.departadminnetdiskrdwt

[root@localhost~]#chmod755netdiskrdwt

[root@localhost~]#chowndepartadmin:

departadminsharerdwt

[root@localhost~]#chmod3777sharerdwt

(7)修改Samba配置文件smb.conf;

配置文件如下,修改/etc/samba/smb.conf后,不要忘记重启smbd和nmbd服务器;

workgroup=DEPARTADMIN

netbiosname=Departadmin

serverstring=LinuxSambaTestServer

[netdiskadmin]

comment=netdiskadmin

path=/opt/netdiskadmin/

createmask=0664

#createmask是用户创建文件时的权限掩码;

对用户来可读可写,对用户组可读可写,对其它用户可读;

directorymask=0775

#directorymask是用来设置用户创建目录时的权限掩码,意思是对于用户和用户组可读可写,对其它用户可读可执行;

validusers=departadmin

[sharerdwt]

path=/opt/netdiskadmin/sharerdwt

[shareonlyrd]

comment=shareonlyrd

path=/opt/netdiskadmin/shareonlyrd

validusers=departadmin,@depart0104

#@depart0104是用户组;

[netdisk01]

comment=netdisk01

path=/opt/netdiskadmin/netdisk01

validusers=depart01,@departadmin

[netdisk02]

comment=netdisk02

path=/opt/netdiskadmin/netdisk02

validusers=depart02,@departadmin

[netdisk03]

comment=netdisk03

path=/opt/netdiskadmin/ne

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1