- 浏览: 89608 次
- 性别:
- 来自: 上海
文章分类
最新评论
samba安装:
检查安装了samba:rpm -qa | grep samba
在光盘(redhat系统安装盘)中查找samba的rpm文件路径:[root@yangfan /]# find -name samba*
按顺序安装samba的rpm文件:
[root@yangfan Packages]# rpm -ivh samba-3.5.10-125.el6.x86_64.rpm
warning: samba-3.5.10-125.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
error: Failed dependencies:
samba-common = 0:3.5.10-125.el6 is needed by samba-0:3.5.10-125.el6.x86_64
[root@yangfan Packages]# find -name samba*
find: paths must precede expression: samba4-libs-4.0.0-23.alpha11.el6.i686.rpm
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
[root@yangfan Packages]# rpm -ivh samba-common-3.5.10-125.el6.x86_64.rpm
warning: samba-common-3.5.10-125.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing... ########################################### [100%]
1:samba-common ########################################### [100%]
[root@yangfan Packages]# rpm -ivh samba-3.5.10-125.el6.x86_64.rpm
warning: samba-3.5.10-125.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing... ########################################### [100%]
1:samba ########################################### [100%]
[root@yangfan Packages]# rpm -ivh samba-client-3.5.10-125.el6.x86_64.rpm
warning: samba-client-3.5.10-125.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing... ########################################### [100%]
1:samba-client ########################################### [100%]
[root@yangfan Packages]#
启动samba:service smb start
重行运行Linux Samba:终端运行命令 service smb restart
关闭samba:
[root@yangfan /]# service smb stop
Shutting down SMB services: [ OK ]
关闭防火墙:iptables -F
添加一个samba账号://注意bill必须是已经存在的linux账号
[root@yangfan /]# smbpasswd -a bill
New SMB password:billsmb
Retype new SMB password:billsmb
Added user bill.
不能在共享目录创建文件解决方法:
/etc/selinux/config中修改
#SELINUX=enforcing
SELINUX=disabled
Windows访问Linux共享文件(夹):
检查安装了samba:rpm -qa | grep samba
在光盘(redhat系统安装盘)中查找samba的rpm文件路径:[root@yangfan /]# find -name samba*
按顺序安装samba的rpm文件:
[root@yangfan Packages]# rpm -ivh samba-3.5.10-125.el6.x86_64.rpm
warning: samba-3.5.10-125.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
error: Failed dependencies:
samba-common = 0:3.5.10-125.el6 is needed by samba-0:3.5.10-125.el6.x86_64
[root@yangfan Packages]# find -name samba*
find: paths must precede expression: samba4-libs-4.0.0-23.alpha11.el6.i686.rpm
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
[root@yangfan Packages]# rpm -ivh samba-common-3.5.10-125.el6.x86_64.rpm
warning: samba-common-3.5.10-125.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing... ########################################### [100%]
1:samba-common ########################################### [100%]
[root@yangfan Packages]# rpm -ivh samba-3.5.10-125.el6.x86_64.rpm
warning: samba-3.5.10-125.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing... ########################################### [100%]
1:samba ########################################### [100%]
[root@yangfan Packages]# rpm -ivh samba-client-3.5.10-125.el6.x86_64.rpm
warning: samba-client-3.5.10-125.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing... ########################################### [100%]
1:samba-client ########################################### [100%]
[root@yangfan Packages]#
启动samba:service smb start
重行运行Linux Samba:终端运行命令 service smb restart
关闭samba:
[root@yangfan /]# service smb stop
Shutting down SMB services: [ OK ]
关闭防火墙:iptables -F
添加一个samba账号://注意bill必须是已经存在的linux账号
[root@yangfan /]# smbpasswd -a bill
New SMB password:billsmb
Retype new SMB password:billsmb
Added user bill.
不能在共享目录创建文件解决方法:
/etc/selinux/config中修改
#SELINUX=enforcing
SELINUX=disabled
Windows访问Linux共享文件(夹):
package d20130401; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.MalformedURLException; import java.net.UnknownHostException; import java.util.Date; import org.omg.PortableInterceptor.SUCCESSFUL; import jcifs.smb.SmbException; import jcifs.smb.SmbFile; import jcifs.smb.SmbFileInputStream; import jcifs.smb.SmbFileOutputStream; //jar package can get from attachment file public class RemoteShareFile { public static void main(String[] args) { String smbUrls = "smb://username:password@computername/opt/webhost/pn/etc/pn.conf"; smbUrls = "smb://ASIAPACIFIC;username:password@computerIp/share/";//GetComputerAddress/PnSnapshotPerformanceTest smbUrls = "smb://bill:billsmb@computerIp/bill_share/GetComputerAddress.java"; String localPath = "C:/bill/testShare"; localPath = "C:/bill/testShare"; //File file = readFromSmb(smbMachine, localPath); //readFileFromSever(smbUrls, localPath); Date startDate = new Date(); smbUrls = "smb://bill:billsmb@16.187.25.106/bill_share"; localPath = "C:/bill/share/RemoteShareFile.java"; boolean writeFileSuccess = writeFileToServer(smbUrls, localPath); System.out.println("Write file to server is success? " + writeFileSuccess); Date endDate = new Date(); long useMillisecond = endDate.getTime() - startDate.getTime(); System.out.println("Use millisecond: " + useMillisecond); System.out.println("Use second: " + useMillisecond/1000); System.out.println(); startDate = new Date(); //smbUrls = "smb://bill:billsmb@16.187.25.106/bill_share"; localPath = "C:/bill/share/XXXXXX_XXXXXXXXXX_2013_03_26_23_04_08_951.xml"; writeFileSuccess = writeFileToServer(smbUrls, localPath); System.out.println("Write file to server is success? " + writeFileSuccess); endDate = new Date(); useMillisecond = endDate.getTime() - startDate.getTime(); System.out.println("Use millisecond: " + useMillisecond); System.out.println("Use second: " + useMillisecond/1000); System.out.println("\n-------- Create folder -----------"); startDate = new Date(); //smbUrls = "smb://bill:billsmb@16.187.25.106/bill_share"; localPath = "C:/bill/share/test"; writeFileSuccess = writeFileToServer(smbUrls, localPath); System.out.println("Write file to server is success? " + writeFileSuccess); endDate = new Date(); useMillisecond = endDate.getTime() - startDate.getTime(); System.out.println("Use millisecond: " + useMillisecond); System.out.println("Use second: " + useMillisecond/1000); } private static boolean writeFileToServer(String smbUrls, String localPath) { Boolean writeFileSuccess = null; InputStream is = null; OutputStream os = null; try { File localFile = new File(localPath); String fileName = localFile.getName(); System.out.println(fileName + " is a directory? " + localFile.isDirectory()); System.out.println(fileName + "'s length is: " + localFile.length()); /*SmbFile smbFile = null; if (localFile.isDirectory()) { smbFile = new SmbFile(smbUrls + "/" + fileName + "/"); } else { smbFile = new SmbFile(smbUrls + "/" + fileName); }*/ SmbFile smbFile = new SmbFile(smbUrls + "/" + fileName); if (localFile.isDirectory()) { if (!smbFile.exists()) { smbFile.mkdir(); System.out.println("Create romote folder successfully: " + smbFile.getURL()); } else { System.out.println("Create romote folder successfully: " + smbFile.getURL()); } return true; } is = new BufferedInputStream(new FileInputStream(localFile)); os = new BufferedOutputStream(new SmbFileOutputStream(smbFile)); byte[] buffer = new byte[1024]; int n; while((n = is.read(buffer)) != -1) { os.write(buffer, 0, n); } writeFileSuccess = true; } catch (MalformedURLException e) { System.err.println("------------- Create samba file fail ------------------"); e.printStackTrace(); } catch (FileNotFoundException e) { System.err.println("------------- File not found ------------------"); e.printStackTrace(); } catch (SmbException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (UnknownHostException e) { System.err.println("------------- Samba file not found ------------------"); e.printStackTrace(); } catch (IOException e) { System.err.println("------------- Read file fail ------------------"); e.printStackTrace(); } finally { if (writeFileSuccess == null) { writeFileSuccess = false; } if (is != null) { try { is.close(); } catch (IOException e) { System.err.println("------------- Close input stream fail ------------------"); } } if (os != null) { try { os.close(); } catch (IOException e) { System.err.println("------------- Close output stream fail ------------------"); } } } return writeFileSuccess; } private static File readFileFromSever(String smbUrls, String localPath) { File localFile = null; InputStream is = null; OutputStream os = null; try { SmbFile smbFile = new SmbFile(smbUrls); System.out.println("smbFile is directory: " + smbFile.isDirectory()); /*if (smbFile.isDirectory()) { String[] smbFileNameArr = smbFile.list(); System.out.println("----------- smbFile.list() -----------"); for (String per : smbFileNameArr) { System.out.println(per); } SmbFile[] smbFileArr = smbFile.listFiles(); System.out.println("----------- smbFile.list() -----------"); for (SmbFile per : smbFileArr) { System.out.println(per.getName()); } } if (true) { return null; }*/ String fileName = smbFile.getName(); is = new BufferedInputStream(new SmbFileInputStream(smbFile)); localFile = new File(localPath + File.separator + fileName); os = new BufferedOutputStream(new FileOutputStream(localFile)); byte[] buffer = new byte[1024]; int n; while((n = is.read(buffer)) != -1) { os.write(buffer, 0, n); } /*byte[] buffer = new byte[smbFile.getContentLength()]; is.read(buffer); os.write(buffer);*/ System.out.println("-------------- end -------------"); } catch (MalformedURLException e) { System.err.println("------------- Create sever message block file fail ------------------"); e.printStackTrace(); } catch (SmbException e) { System.err.println("------------- Create sever message block file input stream fail ------------------"); e.printStackTrace(); } catch (UnknownHostException e) { System.err.println("------------- Create sever message block file input stream fail ------------------"); e.printStackTrace(); } catch (FileNotFoundException e) { System.err.println("------------- Create local file output stream fail ------------------"); e.printStackTrace(); } catch (IOException e) { System.err.println("------------- Read remote file fail ------------------"); e.printStackTrace(); } finally { if (is != null) { try { is.close(); } catch (IOException e) { System.err.println("------------- Close input stream fail ------------------"); } } if (os != null) { try { os.close(); } catch (IOException e) { System.err.println("------------- Close output stream fail ------------------"); } } } return null; } public static File readFromSmb(String smbMachine, String localpath) { File localfile = null; InputStream bis = null; OutputStream bos = null; try { SmbFile rmifile = new SmbFile(smbMachine); String filename = rmifile.getName(); bis = new BufferedInputStream(new SmbFileInputStream(rmifile)); localfile = new File(localpath + File.separator + filename); bos = new BufferedOutputStream(new FileOutputStream(localfile)); int length = rmifile.getContentLength(); byte[] buffer = new byte[length]; Date date = new Date(); bis.read(buffer); bos.write(buffer); Date end = new Date(); int time = (int) ((end.getTime() - date.getTime()) / 1000); if (time > 0) System.out.println(time + ", " + length / time / 1024); } catch (Exception e) { System.out.println(e.getMessage()); } finally { try { bos.close(); bis.close(); } catch (IOException e) { e.printStackTrace(); } } return localfile; } }
发表评论
-
Linux统计某文件夹下文件、文件夹的个数
2013-07-19 11:27 585转自: http://blog.sina.com.cn/s/b ... -
Linux查看文件创建时间
2013-07-05 14:03 1604查看文件修改时间等:stat fileName 修改文件名:m ... -
Linux查看apache和tomcat是否启动
2013-07-03 17:32 1943查看apache是否启动:ps - ... -
一周学会Linux实践
2013-03-29 17:08 01. Linux 进入图形用户界面:startx或ctrl + ... -
Perl 常用命令汇集
2013-03-25 17:09 0转自: http://www.docin.com/p-5143 ... -
[unix shell笔记] - touch命令
2013-04-25 11:59 644转: http://happyland.blog.51cto. ... -
linux shell wc命令
2013-04-26 09:10 793转自: http://www.cnblogs.com/blog ... -
Linux教程网
2013-03-20 09:56 0http://linux.sheup.com/zhiling. ... -
Linux命令之echo - 显示文本、打印信息
2013-04-26 09:13 695转自: http://codingstandards.itey ... -
linux命令PDF模版课件
2013-03-18 16:05 0转自 http://www.doc88.com/p-38577 ... -
linux rm 命令详解
2013-04-26 09:14 584转自: http://linux.chinaunix.net/ ... -
Shell 条件测试
2013-06-06 10:26 543转自: http://jianlee.ylinux.org/C ... -
linux中 rm -rf和mv有什么区别
2013-06-06 10:26 1129转自: http://zhidao.baidu.com/que ... -
Linux find命令详解
2013-06-06 10:27 701转自: http://linux.chinauni ... -
Linux常用命令积累
2013-04-15 13:17 6371. 切换当前目录到某个文件夹: cd /opt/webhos ... -
Linux添加共享文件夹,windows和Linux间复制粘贴
2013-02-25 13:56 8041. Windows下安装虚拟机VM后,window下的文件不 ... -
Linux下安装jdk和tomcat
2013-02-21 16:39 785参考:http://zhidao.baidu.com/ques ...
相关推荐
**Linux与Windows共享文件Samba详解** 在信息技术领域,跨平台文件共享是一个常见的需求,特别是在混合操作系统环境中,如Linux和Windows。Samba是解决这个问题的关键工具,它允许Linux系统与Windows系统之间无缝地...
### Linux与Windows共享文件:Samba的深度解析 在跨平台网络环境中,实现不同操作系统间的文件共享是一项常见的需求。Samba作为一款开源软件,扮演着Linux与Windows系统间桥梁的角色,使得两者之间的文件共享变得...
在Windows和Linux操作系统中可以使用Samba来访问共享资源。 1. Linux系统下访问远程共享资源 使用smbclient命令来访问远程共享资源,例如: smbclient //192.168.16.249/test001 -U user001 2. Windows系统下...
* 文件共享:Samba 服务允许 Linux 和 Windows 计算机之间共享文件。 * 打印机共享:Samba 服务允许 Linux 和 Windows 计算机之间共享打印机。 * 身份验证:Samba 服务提供了一个安全的身份验证机制,保护 Linux 和 ...
在使用 samba 服务时,需要注意防火墙的问题,防火墙可能会阻止共享文件的访问。如果不能访问共享文件,需要停止防火墙服务或配置防火墙规则来允许共享文件的访问。 samba 服务是 Linux 系统中实现文件共享的重要...
对于Windows用户来说,访问Linux共享就像访问其他Windows机器一样简单,通过网上邻居即可。而对于Linux用户,他们需要使用`mount`命令将Windows的共享文件挂载到本地目录。 在Linux系统(如Fedora8)上安装Samba...
Samba是一个开放源代码的软件,它实现了Microsoft的SMB(Server Message Block)协议,使得Linux系统能够与Windows系统无缝共享文件和打印服务。Samba不仅支持Windows与Linux之间的文件共享,同时也支持Linux系统间...
linux下samba安装rpm包,其中包含: samba-2.2.7a-7.9.0.i386.rpm, samba-client-2.2.7a-7.9.0.i386.rpm, samba-common-2.2.7a-7.9.0.i386.rpm 全套三个安装包... 已经做好了镜像文件,直接加载即可。
Samba服务器可以充当共享服务器,同时也可以作为客户机来访问其他网络中的Windows共享文件系统或其他Linux的Samba服务器。 二、安装Samba 在Red Hat Linux 9.0中,可以使用rpm命令来安装Samba。首先,需要验证机器...
本文档介绍如何让 Windows 用户通过以太网访问 Linux 下的共享文件,需要开启 Samba 服务器,并详细介绍了 Samba 服务器的配置步骤。 一、Samba 服务器的配置 Samba 服务器是 Linux 下的一个开源软件,可以让 ...
Samba不仅为Linux和Unix系统提供了与Windows网络无缝集成的能力,还允许不同操作系统的用户共享文件、打印机和其他资源。本文将深入探讨Samba的工作原理、配置步骤以及在Windows、Linux和Ubuntu环境中实现共享的具体...
在 LINUX 机子上共享文件给 WINDOWS 机子可以使用三种方法: 1. 使用 smbmount 命令 可以使用 smbmount 命令将 WINDOWS 机子的共享目录挂载到 LINUX 机子上。例如: #smbmount //10.0.0.10/music /home/user/...
2.高效:Samba可以提供高效的文件共享服务,使得用户可以快速地访问和共享文件。 3.安全:Samba具有身份认证功能,可以区分不同的用户权限,确保文件的安全。 4.灵活:Samba可以根据不同的需求进行配置,提供灵活的...
虚拟机中的Linux与Windows文件共享互通--samba软件的配置借鉴 本文主要介绍了使用Samba软件来实现虚拟机中的Linux和Windows文件共享互通的配置过程。Samba是一种网络服务器,用于Linux和Windows之间的文件共享。它...
这样,Windows用户无需用户名和密码就能直接访问Linux共享文件。 通过这些步骤,Windows用户能像访问本地文件一样方便地访问Linux服务器上的文件,有效地促进了Windows和Linux环境之间的数据交换和协作,这对于混合...
Samba服务器是一种基于SMB/CIFS协议的文件和打印机共享服务器,主要用于Linux和Windows之间的资源共享。下面是Samba服务器配置及访问Samba共享的知识点总结: 一、Samba服务器安装 * 使用rpm命令安装Samba服务器...
在Linux环境中,Samba是一个非常重要的工具,它允许Linux系统与Windows系统之间进行文件和打印服务的共享。本文将详细讲解如何在CentOS系统上安装Samba 4.14.5并进行配置。 首先,我们需要了解Samba的核心概念。...
Linux 与 Windows 之间的文件共享通常通过 Samba 服务实现,Samba 是一个开源软件,它使得 Linux 系统能够无缝地与 Windows 网络环境集成,允许 Windows 用户访问 Linux 服务器上的文件和打印机。Samba 实现了微软的...