linux和windows怎么进行文件共享
前提说明:
windows主机信息:1921681100 帐号:abc 密码:123 共享文件夹:share
linux主机信息:1921681200 帐号:def 密码:456 共享文件夹:/home/def/share
由于暂时还不会防火墙和SELINUX配置,而下面有些方法中的操作会受到他们的限制,因此先关闭这俩。
关闭防火墙的命令:service iptables stop
关闭SELINUX命令:setenforce 0
一、实现linux和windows之间的文件夹共享
方向:windows访问linux
方法1:使用第三方软件
1、修改配置文件:vi /etc/ssh/sshd_config,主要是把Port这个参数解除注释,其他参数可以根据情况自己修改。
2、重启ssh服务:service sshd restart
3、在windows下安装SSH Secure SHELL,安装成功后有个子程序SSH Secure File Transfer Client,打开后输入:
hostname:1921681200(如果有DNS服务,可以写成linux主机名)
port:22(默认值,可以修改成其他值)
username:abc(也可以是linux下其他帐号)
password:123
连接成功后就可以在windows下向linux上传和下载文件了
方法2:SAMBA共享
1、安装samba:可以先检查下是否已经安装:rpm -qa | grep samba,没有的话自己安装下,这里介绍下基于RPM包的一种在线安装模式yum
yum是一种快速安装模式,它会自动解决软件安装时的依赖问题并自动去特定的服务器下载相应的软件进行安装,命令十分简单:yum install samba,快捷方便的背后离不开程序员的辛苦啊!
2、创建共享文件夹,这里就是mkdir -m 777 /home/def/share
3、修改/etc/samba/smbconf,这里面的参数就比较多,主要是
workgroup = WORKGROUP(这个就是windows工作组模式,还有一种是域模式)
hosts allow = 1921681100(可以放问的IP地址,这里写的时windows地址)
然后在文件的结尾加上
[public](共享名,就是windows访问时会显示的名称)
comment = Public Stuff(注释)
path = /home/def/share(共享名)
public = yes(公开)
writable = yes(可写)
当然这里只是些基础的参数,还有其他的参数根据情况设置,比如会出现乱码,还要指定编码格式。
4、重启smb服务:service smb restart
5、创建samba客户:smbpasswd -a def,回车后会提示输入密码。这个就是将来远程主机登录时需要的密码,这里的def帐号必须时系统已经有的
帐号,没有的话会报错,然后新输的密码就是远程登录密码,这样做的好处就是自己的密码和远程登录的密码分开。
6、windows下连接,启动运行,输入\\1921681200,输入smb帐号密码就可以了
方向:linux访问windows
方法一:挂载共享文件夹
在linux下执行 mount -o username=abc //1921681100/share /mnt/share,回车后要求输入密码,就是windows密码123
老实说这种方法是很好理解的,挂载命令嘛,最简单的语法。但却是让我困惑最深的,因为linux下的分区格式是ext2\3\4,而windows一般使用NTFS格式,这是linux不能识别的,而这里竟然可以挂载,而且还能读出其中的文件。真是太匪夷所思了。
三、实现linux之间的文件夹共享
方法一:挂载
1、在A机上创建共享文件夹:mkdir -m 777 /home/share
2、修改/etc/exports文件,添加一条 /home/share (rw),这条中/home/share指定了共享位置,代表所有主机,也可以单独写IP地址,rw是可读写
3、重启nfs服务:service nfs restart
4、在B机上挂载:mount -t nfs 1921681100:/home/share /mnt/share,回车输入帐号密码就可以了
5、最后就是在B机上验证下是否挂载成功,命令:df
方法二:使用SCP命令传输
这条命令是我昨天刚学到的,很简单的操作 scp /home/share(源) 1921681200:/home/share(目的),回车后要输入密码,具体详见man scp
在Linux系统中访问Samba服务器中的共享目录需要使用smbclient命令,当然首先得在对应Linux系统主机中安装Samba服务的客户端软件--smbclient。使用smbclient -L命令(有关smbclient命令的详细选项可通过smbclient -help命令查看)可以查看指定Samba服务器上的所有共享目录。如要浏览本示例中Sambaserver上的共享目录,可以在终端提示符下输入以下命令:
smbclient -L Sambaserver
在出现提示输入密码时,直接按Enter键(因为此处是匿名访问),结果会显示指定Samba服务器上当前全部的共享目录,
使用共享目录的命令格式为:smbclient //IP地址或主机名/共享目录名 -U用户名。
因为此处是匿名访问,所以无须加上"-U"选项来指定访问的用户名。如在此要匿名访问Sambaserver上的doc目录,则可以在终端提示符下输入以下命令:
smbclient //Sambaserver/doc
在出现输入密码的password提示符时,直接按Enter键,即进入到远程使用服务器上指定资源的提示符smb:\>,与FTP客户端相似,这时可以使用如cd、cat、get等命令对共享目录和文件进行操作了。注意,这个命令不仅可以访问Samba服务器上的共享资源,还可以访问网络中Windows主机上的共享资源。
可以,Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。
Linux可作为samaba服务器由windows客户端访问共享文件,这与Windows访问其它Windows计算机的方式是相同的协议。
如果访问samba服务器或Windows服务器共享文件的客户机是个Linux系统,可使用客户端软件smbclient,语法如下:
smbclient [网络资源][密码][-EhLN][-B<IP地址>][-d<排错层级>][-i<范围>][-I<IP地址>][-l<记录文件>][-M<NetBIOS名称>][-n<NetBIOS名称>][-O<连接槽选项>][-p<TCP连接端口>][-R<名称解析顺序>][-s<目录>][-t<服务器字码>][-T<tar选项>][-U<用户名称>][-W<工作群组>]
参数:
[网络资源] [网络资源]的格式为//服务器名称/资源分享名称。
[密码] 输入存取网络资源所需的密码。
-B<IP地址> 传送广播数据包时所用的IP地址。
-d<排错层级> 指定记录文件所记载事件的详细程度。
-E 将信息送到标准错误输出设备。
-h 显示帮助。
-i<范围> 设置NetBIOS名称范围。
-I<IP地址> 指定服务器的IP地址。
-l<记录文件> 指定记录文件的名称。
-L 显示服务器端所分享出来的所有资源。
-M<NetBIOS名称> 可利用WinPopup协议,将信息送给选项中所指定的主机。
-n<NetBIOS名称> 指定用户端所要使用的NetBIOS名称。
-N 不用询问密码。
-O<连接槽选项> 设置用户端TCP连接槽的选项。
-p<TCP连接端口> 指定服务器端TCP连接端口编号。
-R<名称解析顺序> 设置NetBIOS名称解析的顺序。
-s<目录> 指定smbconf所在的目录。
-t<服务器字码> 设置用何种字符码来解析服务器端的文件名称。
-T<tar选项> 备份服务器端分享的全部文件,并打包成tar格式的文件。
-U<用户名称> 指定用户名称。
-W<工作群组> 指定工作群组名称。
0条评论