前言:

本文比较简略,只求快速入门,若要了解详情,推荐一篇文章: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:1234567@192.168.21.126/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>

Linux Samba目录服务搭建与Java客户端访问的更多相关文章

  1. 使用poco 的NetSSL_OpenSSL 搭建https 服务端,使用C++客户端,java 客户端访问,python访问(python还没找到带证书访问的代码.)

    V20161028 由于项目原因,需要用到https去做一些事情. 这儿做了一些相应的研究. 这个https 用起来也是折腾人,还是研究了一周多+之前的一些积累. 目录 1,java client 通 ...

  2. 从JAVA客户端访问Redis示例(入门)

    转自:http://blog.csdn.net/kkdelta/article/details/7217761 本文记录了安装Redis和从JAVA端访问Redis的步骤 从http://downlo ...

  3. 【分布式技术专题】「OSS中间件系列」Minio的文件服务的存储模型及整合Java客户端访问的实战指南

    Minio的元数据 数据存储 MinIO对象存储系统没有元数据数据库,所有的操作都是对象级别的粒度的,这种做法的优势是: 个别对象的失效,不会溢出为更大级别的系统失效. 便于实现"强一致性& ...

  4. FastDFS单机搭建以及java客户端Demo

    http://blog.csdn.net/u012453843/article/details/69951920 http://blog.csdn.net/xyang81/article/detail ...

  5. Linux samba服务搭建

    实验准备: 准备两台机器,server0(172.25.0.11)和deskop0(172.25.0.12),要求在server0上实现samba共享,在desktop0上访问共享. 1.允许mark ...

  6. XFire搭建WebService和客户端访问程序

    开发环境:myeclipse8.6+jdk1.6.0_29+tomcat6.0.37 JAX-WS搭建webservice:http://www.cnblogs.com/gavinYang/p/352 ...

  7. JAX-WS搭建WebService和客户端访问程序

    开发环境:myeclipse8.6+jdk1.6.0_29+tomcat6.0.37 XFire搭建webservice: http://www.cnblogs.com/gavinYang/p/352 ...

  8. Java客户端访问HBase集群解决方案(优化)

    测试环境:Idea+Windows10 准备工作: <1>.打开本地 C:\Windows\System32\drivers\etc(系统默认)下名为hosts的系统文件,如果提示当前用户 ...

  9. 在linux环境下搭建JDK+JAVA+Mysql,并完成jforum的安装

    参考链接: YUM安装MySQL和JDK和Tomcat:http://cmdschool.blog.51cto.com/2420395/1696206/ http://www.cnblogs.com/ ...

随机推荐

  1. hadoop入门小知识点

    注意各个主机之间的通信 文件的复制 scp指令 scp /etc/profile acm03:/etc 所有历史版本: archive.apache.org hdfs://acm01:9000     ...

  2. Luogu-1975 [国家集训队]排队

    Luogu-1975 [国家集训队]排队 题面 Luogu-1975 题解 题意:给出一个长度为n的数列以及m个交换两个数的操作,问每次操作后逆序对数量 时间,下标和数的大小三维偏序,,,把交换操作看 ...

  3. coredump调试小结

    在已经启动的进程中使用gdb,用gdb attach 查看so文件中的函数列表 nm -D *.so 关于c.c++类的gdb调试,强烈推荐一本书:debug hack

  4. MySql 存储过程实例 - 转载

    MySql 存储过程实例 将下面的语句复制粘贴可以一次性执行完,我已经测试过,没有问题! MySql存储过程简单实例:                                          ...

  5. Flume-NG源码阅读之AvroSink

    org.apache.flume.sink.AvroSink是用来通过网络来传输数据的,可以将event发送到RPC服务器(比如AvroSource),使用AvroSink和AvroSource可以组 ...

  6. python学习笔记(pip下载安装)

    python有很多扩展模块需要安装 这个时候万能的pip就可以提供帮助 首页进入官网下载压缩包: https://pypi.python.org/pypi/pip#downloads 解压文件 cmd ...

  7. yii2:oracle date类型字段的写入或查询

    insert: insert into tabname(datecol) value(sysdate) ; -- 用date值 insert into tabname(datecol) value(s ...

  8. appium自动化测试(五)

    1. 页面封装——理性判断 2. basepage——定位表达式的判断——要加上移动端的,加上上下左右滑动封装.toast可以封装.webview切换操作 3. 页面当中,所有元素定位——更换——移动 ...

  9. Java基础16:Java多线程基础最全总结

    Java基础16:Java多线程基础最全总结 Java中的线程 Java之父对线程的定义是: 线程是一个独立执行的调用序列,同一个进程的线程在同一时刻共享一些系统资源(比如文件句柄等)也能访问同一个进 ...

  10. puppet笔记

    简介: puppet是一种Linux.Unix平台的集中配置管理系统,使用ruby语言,可管理配置文件.用户.cron任务.软件包.系统服务等.puppet把这些系统实体称之为资源,puppet的设计 ...