zoukankan      html  css  js  c++  java
  • Linux Samba目录服务搭建与Java客户端访问

    前言:

          本文比较简略,只求快速入门,若要了解详情,推荐一篇文章: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>
  • 相关阅读:
    hive与hbase整合
    待重写
    hive DML
    【知识强化】第六章 总线 6.1 总线概述
    【知识强化】第五章 中央处理器 5.1 CPU的功能和基本结构
    【知识强化】第四章 指令系统 4.3 CISC和RISC的基本概念
    【知识强化】第四章 指令系统 4.2 指令寻址方式
    【知识强化】第四章 指令系统 4.1 指令格式
    【知识强化】第三章 存储系统 3.6 高速缓冲存储器
    【知识强化】第三章 存储系统 3.5 双口RAM和多模块存储器
  • 原文地址:https://www.cnblogs.com/fangfan/p/4000094.html
Copyright © 2011-2022 走看看