标签: samba

JCIFS中存在某些非ascii字符的问题

我正在使用JCIFS来访问一个包含很多日文名称的文件共享,当我在其中的字符时遇到问题

例如:

路径人事部/要员·コスト管理课程/

第一部分没问题,但第二部分引起了问题.这可能与"·"可以使用斜线输入的事实有关,但我不确定.我试过逃避角色,但似乎没有解决问题.你有什么可能导致它的线索吗?

java samba jcifs

15
推荐指数
2
解决办法
1620
查看次数

Git over samba - 无法写入sha1文件名| 没有权限

当我在Windows上使用git over samba share时,当我想通过git_extentions或tortoiseGIT提交文件时,我会收到错误.错误是: 错误:无法写入sha1文件名.git/objects/b4/e819f886bf31b67c42249a0eff8e8b16cf7622:权限被拒绝.当我通过ubuntu服务器添加文件并提交文件时,它工作正常.我也在班里工作.

我已经尝试过了chmod 777 the whole .git folder.

git ubuntu samba permission-denied

14
推荐指数
2
解决办法
1万
查看次数

获取文件在Linux中为CIFS Mount创建通知

我在ubuntu服务器上通过CIFS安装了Windows共享.我需要知道何时将新文件添加到Windows共享中.我试过这个inotify程序:

http://www.thegeekstuff.com/2010/04/inotify-c-program-example/

哪个适用于标准目录,但无法捕获任何CIFS更改.我不一定需要使用inotify,虽然我想,但任何有关如何完成获取文件创建通知的建议都会很棒.

linux samba cifs inotify

13
推荐指数
2
解决办法
1万
查看次数

JCIFS:文件检索太慢而无法使用

我只是测试JCIFS来访问Windows共享.完全无法使用它是非常缓慢的.

import jcifs.smb.*;

class First {
    public static void main(String[] args) throws Exception {
    try {
        //jcifs.Config.setProperty( "jcifs.netbios.wins", "192.168.1.220" );
        NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication("domain.com", "Administrator", "password");

        SmbFile f = new SmbFile("smb://10.17.15.12/Share/xml/file.xml", auth);
        SmbFileInputStream in = new SmbFileInputStream(f);
        byte[] b = new byte[8192];
        int n;
        while(( n = in.read( b )) > 0 ) {
        System.out.write( b, 0, n );
        }
    } catch (SmbException smbe) {
        System.err.println(smbe.getNtStatus());
        System.err.println(smbe.toString());
        System.err.println(smbe.getCause());
    }
    }
}
Run Code Online (Sandbox Code Playgroud)

初始输出需要很长时间,后续读取也很慢.任何想法如何使用它?我也可以使用任何替代方法编写Java代码以便携式方式访问Windows共享

java samba jcifs windows-share

12
推荐指数
3
解决办法
1万
查看次数

BASH:从字符串中删除换行符(读取行)

我碰到了以下问题:我正在编写一个Linux bash脚本,它执行以下操作:

  • 从文件中读取行
  • \n从刚刚读取的行末尾删除字符
  • 执行那里的命令

示例:commands.txt

ls
ls -l
ls -ltra
ps as
Run Code Online (Sandbox Code Playgroud)

bash文件的执行应该得到第一行,然后执行它,但是\n现在,shell只输出"command not found:ls"脚本的那部分看起来像这样

 read line

        if [ -n "$line" ]; then #if not empty line

                #myline=`echo -n $line | tr -d '\n'`
                #myline=`echo -e $line | sed ':start /^.*$/N;s/\n//g; t start'`

                myline=`echo -n $line | tr -d "\n"`
                $myline  #execute it

                cat $fname | tail -n+2 > $fname.txt
                mv $fname.txt $fname
        fi
Run Code Online (Sandbox Code Playgroud)

评论说你在问SO之前我已经尝试过了.有解决方案吗 在过去的几个小时里,我正在粉碎我的大脑......

linux windows bash samba

11
推荐指数
2
解决办法
5万
查看次数

如何在smb:// URL的密码字段中转义@符号

我正在尝试编写一个bash脚本,我在其中连接到samba服务器,获取用户名和密码,然后说$ username:$ password @ SERVERNAME.

但是,如果密码中包含@,则会失败.有没有办法逃脱bash中的@ out密码?

提前致谢

更新:我正在设置此网络打印机

lpadmin -p PRINTER -v smb://$username:$password@SERVER -E
Run Code Online (Sandbox Code Playgroud)

除了$ password中有@符号的情况外,它有效; $ username和$ passwords变量来自读取标准输入

bash samba escaping

11
推荐指数
1
解决办法
1万
查看次数

Git对Samba共享的提交速度非常慢.我该怎么做才能加快速度?

我在远程服务器上运行git存储库.我在远程服务器上设置了一个samba共享,这样我就可以将代码保存在我的本地Windows 7机器上.我们正在尝试使用git,因为svn非常缓慢且不可靠.我们使用git的问题是,对samba共享执行任何提交/克隆/拉动都会超级慢.如果我在我的Windows 7机器上提交/克隆/拉到本地目录上它工作得很好,但我们需要代码在远程服务器上.有任何想法吗?我真的可以用它.

编辑:

我还应该提一下,我已经运行了git gc --aggressive并且它还没有加速.

git samba windows-7

11
推荐指数
1
解决办法
6566
查看次数

共享Windows映射驱动器

我有一个软件归档解决方案,它需要客户端的Windows共享,但我想在Linux主机上通过samba实际存储文件.

这种依赖性要求我有一个Windows前端到我的Linux文件存档.

当我将客户端上的Linux Samba共享映射为驱动器时,我无法"共享"它以供服务器查看.

我也试过制作快捷方式,但没有共享选项

有没有办法创建一个可以共享的Windows文件夹,并且能够将文件写入Samba网络共享?

windows samba share file filemap

10
推荐指数
2
解决办法
3万
查看次数

process_usershare_file:失败的统计数据.权限被拒绝Samba

我在ubuntu中使用samba创建了一个共享文件夹,以便Windows机器可以使用以下命令访问它:

$ sudo net usershare add documents /home/developer/documents "Developer documents" everyone:F guest_ok=y
Run Code Online (Sandbox Code Playgroud)

我给该文件夹777权限:

$ sudo chmod 0777 /home/developer/documents
Run Code Online (Sandbox Code Playgroud)

然后我检查一下我做了什么

$ sudo net usershare info --long
Run Code Online (Sandbox Code Playgroud)

当我想查看所有Windows机器上是否可以看到该文件夹​​时,您可以看到.但是,您无法访问该文件夹并出现以下错误:"权限被拒绝"

以下消息/var/log/samba/log.ip-domain是:

process_usershare_file: stat of /var/lib/samba/usershares/backuparsac failed. Permission denied
Run Code Online (Sandbox Code Playgroud)

然后,我尝试为我添加一些规则 smb.conf

[documents]
   comment = Documents for Developers
   path = /home/developer/documents
   browseable = yes
   writable = yes
   read only = yes
   guest ok = yes
   directory mask = 0777
Run Code Online (Sandbox Code Playgroud)

但是Permission denied的错误不断出现.还有什么我需要做的吗?我需要这个文件夹可以被所有Windows机器访问.

注意:我使用Ubuntu 14.04

linux samba permission-denied ubuntu-14.04

10
推荐指数
2
解决办法
2万
查看次数

使用Kerberos连接到SMB共享时出现KrbException"Message Stream Modified(41)"

我在使用Kerberos身份验证时遇到一些问题,无法使用JCifs执行文件管理(Kerberos扩展版本1.3.17)

这是我目前的krb5.conf配置:

[libdefaults]
    default_realm = <REALM_NAME_UPPERCASE>
    udp_preference_limit = 1
[realms]
    <REALM_NAME_UPPERCASE> = {
        kdc = <DOMAIN_NAME_UPPERCASE>:88
        admin_server = <DOMAIN_NAME_UPPERCASE>
        default_domain = <DOMAIN_NAME_UPPERCASE>
    }
[domain_realm]
    .<domain_name> = <REALM_NAME_UPPERCASE>
    <domain_name> = <REALM_NAME_UPPERCASE>
[appdefaults]
    kinit = {
        renewable = true
        forwardable = true
    }
Run Code Online (Sandbox Code Playgroud)

这是代码验证用户,然后尝试在网络中的文件服务器上查找文件:

public static void main (String[] args) throws Exception {
    Subject subject = new Subject();
    System.setProperty("java.security.krb5.conf", "C:/krb5.conf");
    System.setProperty("sun.security.krb5.debug", "true");

    Map<String, Object> state = new HashMap<String, Object>();
    state.put("javax.security.auth.login.name", "USERNAME");
    state.put("javax.security.auth.login.password", "PASSWORD".toCharArray());

    Map<String, Object> options = new HashMap<String, Object>();
    options.put("debug", "true"); …
Run Code Online (Sandbox Code Playgroud)

java samba jcifs kerberos cifs

9
推荐指数
2
解决办法
1万
查看次数