前言:
本文比较简略,只求快速入门,若要了解详情,推荐一篇文章:http://www.cnblogs.com/mchina/archive/2012/12/18/2816717.html
1,安装samba(大部分linux上默认安装的可能不完整,建议重新安装)
#检测是否安装,请注意不同安装包协议命令不尽相同#rpm -qa|grep samba #安装#yum install samba samba-client samba-swat
2,启动samba SMB服务
/etc/init.d/smb start
启动samba NMB服务
/etc/init.d/nmb start
3, 增加用户和组
groupadd dmp useradd -g dmp ff
/** 改密-- 密码最好使用大小写+特殊字符+数字,否则会需要多次反复重新输入 **/
passwd ff
4, 重启samba服务
/etc/init.d/smb restart /etc/init.d/nmb restart
5, 配置 /etc/samba/smb.conf 增加公共目录.
[starfish] #相对目录,供外部访问# comment = starfish path=/home/ff/starfish_cookie_file #绝对路径# valid users = @dmp #组名# write list = @dmp #组名# read only = No create mask = 0777 force create model = 0777 directory mask = 0777 force directory mode = 0777 guest ok = yes writable = yes
注:如果条件允许尽量给与目录尽可能大的权限,相关具体参数请参考官方文档。
6, 重启samba服务
/etc/init.d/smb restart /etc/init.d/nmb restart
7,在root权限下执行目录权限设置
chmod 777 /home/ff/starfish_cookie_file
8, 更快捷的命令
#查看samba服务状态# #service smb status #service nmb status #开启samba服务# service smb start #关闭samba服务# service smb stop #重启samba服务# service smb restart
9,Java代码访问.
package org.wit.ff.io; import java.net.MalformedURLException; import jcifs.smb.NtlmPasswordAuthentication; import jcifs.smb.SmbException; import jcifs.smb.SmbFile; import org.junit.Test; /** * * <pre> * Java访问Samba 示例 * </pre> * * @author F.Fang * @version $Id: SambaDemo.java, v 0.1 2014年9月29日 上午2:45:29 F.Fang Exp $ */ public class SambaDemo { /** * * <pre> * 不推荐. * 原因:若用户名或密码中存在‘@‘符号,则会抛出连接异常,samba访问路径错误. * </pre> * * @throws MalformedURLException * @throws SmbException */ @Test public void demo1() throws MalformedURLException, SmbException { String conStr = "smb://tomcat:[email protected]/starfish"; SmbFile smbFile = new SmbFile(conStr); if (smbFile.exists()) { // System.out.println("hello world!"); } } /** * * <pre> * 推荐. * 用户名和密码独立传入. * </pre> * * @throws SmbException * @throws MalformedURLException */ @Test public void demo2() throws SmbException, MalformedURLException { String url = "smb://@192.168.21.126/starfish"; NtlmPasswordAuthentication authentication = new NtlmPasswordAuthentication(".", "tomcat", "1234567"); SmbFile smbFile = new SmbFile(url, authentication); if (smbFile.exists()) { // System.out.println("hello world!"); } } }
10, Java客户端访问Maven依赖
<dependency> <groupId>jcifs</groupId> <artifactId>jcifs</artifactId> <version>1.3.17</version> </dependency>
时间: 2024-10-01 22:59:50