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>
  • 相关阅读:
    商务邮件
    比较好用的办公软件
    django之创建第6-2个项目-过滤器列表
    Linux管道思想
    django之创建站点之基本流程
    django资料
    Django之 创建第一个站点
    python之获取微信服务器的ip地址
    python之获取微信access_token
    python之模块py_compile用法(将py文件转换为pyc文件)
  • 原文地址:https://www.cnblogs.com/fangfan/p/4000094.html
Copyright © 2011-2022 走看看