标签: smb

如何强制CIFS连接卸载

我在Linux机器上安装了CIFS共享.CIFS服务器已关闭,或者互联网连接已关闭,现在接触CIFS装载的任何内容都需要几分钟才能超时,并且在您等待时无法终止.我甚至无法在我的主目录中运行ls,因为有一个指向CIFS挂载内部的符号链接,并且ls尝试跟随它以决定它应该是什么颜色.如果我尝试卸载它(即使使用-fl),umount进程就会像ls一样挂起.即使是sudo kill -9也无法杀死它.如何强制内核卸载?

linux smb samba cifs

145
推荐指数
5
解决办法
18万
查看次数

什么是区域标识符?

我经常看到一些名为'blabla.exe:Zone.Identifier'的文件使用Process Monitor监视I/O.
这些文件可以看到网络驱动器.

替代文字

  • 什么是Zone.Identifier?
  • 冒号在文件名中的含义是什么.

冒号是否与文件的扩展属性相关?

windows filesystems smb file-io network-drive

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

Windows文件共享:为什么有时新创建的文件在一段时间内不可见?

我们面临着让我们发疯的非常奇怪的问题.有时我们的文件共享PC上新创建的文件在一段时间内"缺席".要重现问题,你应该至少有两台电脑,叫他们alphabeta.在betaPC(\\beta\share\bug)上创建文件共享并从alphaPC 运行此PowerShell脚本:

param(
  $sharePath="\\beta\share\bug"
)
$sharePC = ($sharePath -split '\\')[2]
$session = New-PSSession -ComputerName $sharePC
$counter = 0
while ($true) {
  $fileName = $sharePath + "\$counter.txt"
  Invoke-Command -Session $session -ScriptBlock {
    param(
      $fileName
    )
    "" > $fileName
  } -ArgumentList $fileName
  if (Test-Path $fileName) {
    Write-Host "File $fileName exists" -fore Green
  } else {
    Write-Host "!!! File $fileName does NOT exist!" -fore Red
  }

  $counter = $counter + 1
  Start-Sleep 2 …
Run Code Online (Sandbox Code Playgroud)

windows smb share

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

使用Java和Samba JCIFS访问文件

我有一个关于使用Samba JCIFS访问文件的问题.所以有一个我想要访问的服务器,我们称之为server.unv.edu,工作组是WKGRP.此服务器中有一个共享:\\ server.unv.edu\pcb $

我试图访问服务器的方式是:

public class SMBAuthenticator extends NtlmAuthenticator{

private String username = "username";
private String password = "password";
private String domain = "smb://server.unv.edu/WKGRP/";

public SMBAuthenticator(){
    NtlmAuthenticator.setDefault(this);
}
Run Code Online (Sandbox Code Playgroud)

public class SMBConnection{

public String urlString = "smb://server.unv.edu/pcb$/path/file.txt";
NtlmPasswordAuthentication auth;
SmbFile smbFile;

public SMBConnection() throws MalformedURLException{;
    //url = new URL(urlString);
    SMBAuthenticator authenticator = new SMBAuthenticator();
    auth = authenticator.getNtlmPasswordAuthentication();   
    smbFile = new SmbFile(urlString, auth);
}

public InputStream getSMBInputStream() throws IOException{
    return this.smbFile.getInputStream();
}

public InputStream getInputStream() throws IOException{
    InputStream is = …
Run Code Online (Sandbox Code Playgroud)

java smb jcifs protocols

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

使用R以"smb://"开头读取远程文件

要读入文件R,我通常会执行以下操作:

read.csv('/Users/myusername/myfilename.csv')
Run Code Online (Sandbox Code Playgroud)

但是,我正在尝试读取位于远程服务器上的文件(Windows SMB/CIFS共享),我通过FinderGoConnect to Server菜单项在我的Mac上访问该文件.

当我查看文件的属性时,文件路径与我习惯的不同.不是以:开头/Users/myusername/...,而是smb://server.msu.edu/.../myfilename.csv.

尝试阅读该文件,我尝试了以下内容:

read.csv('smb://server.msu.edu/.../myfilename.csv')
Run Code Online (Sandbox Code Playgroud)

但是,这没有用.

而不是通常的"没有这样的文件或目录"错误,这返回:

smb://server.msu.edu /.../ myfilename.csv在当前工作目录中不存在

我想文件路径需要不同的格式,但我无法弄清楚是什么.

你怎么能读到这种类型的文件R

smb r remote-access

20
推荐指数
3
解决办法
8574
查看次数

链接到html中的samba共享

首先,如果你不知道,samba或smb == Windows文件共享,\\计算机\共享等.

我在一堆不同的计算机上有一堆不同的文件.它主要是媒体,而且还有很多.我正在研究各种方法将其整合成更易于管理的东西.

目前我正在寻找一些选项,其中疯狂的是某种samba共享索引器,它会生成我告诉它的各种samba服务器上共享的事物列表,并将它们上传到一个网站然后可以被搜索和浏览.

这是一个廉价的解决方案,好吗?

忽略这个想法显然是一个缺少类的几个方法的事实,你是否知道以任何方式以跨浏览器的方式链接到html中的samba文件共享?在Windows中,一个是\\计算机\共享,在linux中一个是smb:// computer/share,它们都不能从不用作文件管理器的浏览器(例如任何不是Internet Explorer的浏览器)工作.

一些澄清

  • 用于访问该网站的计算机是WIndows(XP)和Linux(Ubuntu)以及混合浏览器(Opera和Firefox)的混合体.
  • 在linux中输入smb:// computer/share似乎只适用于Nautilus(可能是Konqueror/Dolphin为你KDE3.5/4人).它在Firefox或Opera中不起作用(Firefox无效,Opera抱怨URL无效).
  • 我没有Windows盒子方便的atm所以我不确定\\ computer\share是否适用于IE以外的任何东西(例如Firefox/Opera).
  • 如果你有更好的想法来整合一堆随机的samba股票(它肯定不会比我的更糟糕;-))值得知道,我不能保证任何服务器我想要索引/合并会在任何特定的时刻出现.而且,我不希望知道他们共享的内容丢失或隐藏只是因为它们不可用.我想知道他们分享'foo',但他们现在已经失败了.

html smb samba

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

使用jCIFS流文件进行Android ServerSocket编程

我有一个问题,我已经问过很多次了,但我想我现在离我们更近了一步,所以希望有人可以帮助我完成剩下的工作.

我以前的问题:

简单地说 - 我想创建一个应用程序:

  1. 可以使用jCIFS连接到NAS设备
  2. 能够在默认查看器中启动文件 - 即视频播放器中的视频

第一部分相对容易,我已经做到了,但第二部分是令我不安的问题,以及我之前几次问过的问题.我想我已经取得了一些进展.

我想我需要ServerSocket在我的应用程序中使用a 以某种方式在NAS和播放内容的应用程序之间建立桥梁.我想这可以用a来完成Service.来自NAS设备的文件可以作为a访问FileInputStream.

市场上有很多应用程序(即ES文件资源管理器)能够在没有root访问权限的情况下执行此操作,所以我知道这是可能的 - 目前我还不知道如何.

我的想法的例证

我一直在使用一些上述应用程序时查看Logcat,它们似乎都在创建本地服务器,然后Intent从该服务器启动视频.怎么能实现这一目标?

smb android jcifs serversocket

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

smb身份验证(74字节对24?)

我需要实现一个虚拟文件系统,它将作为Windows共享进行访问.

似乎Alfresco JLan正在做这项工作.到目前为止,我从这个答案开始有一些有希望的结果:如何将alfresco jlan文件服务器设置为独立的java包?

现在,我似乎无法进行身份验证.我的虚拟实现总是成功,但是一旦我尝试验证密码,它就会失败.

一些信息:

  • 它运行在Windows机器上,Windows 445本身没有使用端口445(禁用服务器服务等)
  • 从同一个Windows 10客户端,似乎JLan将其视为ntlmv1身份验证,这看起来很奇怪(我至少期待ntlmv2).JLan的alg == NTLM1 CifsAuthenticator::validatePassword.
  • 似乎加密使用的密码是74字节,相比它预期的24,并且它失败了.
  • 不得不删除CryptixCrypto这似乎不存在了,换成getInstance("MD4")MD4.getInstance()在JLan,因为它似乎是要走现代的Java平台的方式(MD4默认情况下不注册,如MD4类本身记录).

如何再次检查我的密码?

java smb

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

如何在JFileChooser中导航到网络主机?

问题

我有一个JFileChooser,我需要以编程方式将其currentDirectory设置为包含多个SMB共享的网络主机(例如\\blah).从技术上讲,这不是一个"目录",而是一个表示可用共享列表的shell文件夹.

  • JFileChooser在导航到特定共享(例如\\blah\someShare)时没有问题,但是无法处理主机"目录"本身(例如\\blah).

  • 用户可以通过"网络"shell文件夹,或通过查找特定共享并导航到其父目录,导航到JFileChooser内的此类"目录".调试显示引擎盖下此目录表示为a Win32ShellFolder2.到目前为止,我以编程方式设置currentDirectory的所有尝试都失败了.

  • new File("\\\\blah") 可以创建,但从Java的角度来看实际上并不存在.

解决方案尝试失败

  • chooser.setCurrentDirectory(new File("\\\\blah"));

    失败,因为JFileChooser检查给定目录是否存在,并new File("\\\\blah").exists()返回false.

  • File dir = new File("\\\\blah").getCanonicalFile();

    失败,但有异常:

      java.io.IOException: Invalid argument
      at java.io.WinNTFileSystem.canonicalize0(Native Method)
      at java.io.WinNTFileSystem.canonicalize(WinNTFileSystem.java:428)
      at java.io.File.getCanonicalPath(File.java:618)
      at java.io.File.getCanonicalFile(File.java:643)
    
    Run Code Online (Sandbox Code Playgroud)
  • File dir = ShellFolder.getShellFolder(new File("\\\\blah"));

    失败,但有异常:

      java.io.FileNotFoundException
      at sun.awt.shell.ShellFolder.getShellFolder(ShellFolder.java:247)
    
    Run Code Online (Sandbox Code Playgroud)
  • File dir = new Win32ShellFolderManager2().createShellFolder(new File("\\\\blah"));

    失败,但有异常:

      java.io.FileNotFoundException: File \\blah not found
      at sun.awt.shell.Win32ShellFolderManager2.createShellFolder(Win32ShellFolderManager2.java:80)
      at sun.awt.shell.Win32ShellFolderManager2.createShellFolder(Win32ShellFolderManager2.java:64)
    
    Run Code Online (Sandbox Code Playgroud)
  • Path dir = Paths.get("\\\\blah");

    失败,但有异常:

    java.nio.file.InvalidPathException: UNC path is missing sharename: \\blah
    at …
    Run Code Online (Sandbox Code Playgroud)

java windows filesystems smb jfilechooser

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

ANDROID:使用Java访问CIFS共享

我正在编写我的第一个Android应用程序,它或多或少将成为一个挂载点管理器.本地安装和NFS安装很容易,但我不知道如何去CIFS共享.

理想情况下,在选择主机后,将显示CIFS共享列表.至少,我应该能够输入CIFS URI /共享字符串并挂载它(例如://192.168.1.100/mount_point).我正在考虑EStrongs,您可以在其中选择主机,它将显示共享,然后您可以进一步探索.

我见过jCIFS(我认为这是Astro使用的),我在xda-developers上看到了cifs.ko模块的提及.还有其他标准方法吗?关于如何使用jCIFS或cifs.ko并一般地执行此操作的任何提示/建议?我宁愿不必获得root访问权限.

java smb android cifs

10
推荐指数
1
解决办法
4714
查看次数