我还没有开始这项工作-只是想了解一些想法,但我可以使用C#Windows服务访问网络中Linux机器上的目录和文件吗?我读过thisthis,但到目前为止,他们只是试图获取目录中的文件。我的目标是:
读取文件是否存在
我们希望文件是zip文件,所以解压应该在Linux机器的目录下进行
Windows服务部署在Windows机器上,其FileSystemWatcher将监视Linux目录上的文件是否已创建
我读过一些关于C#的SSH和FTP库的文章,但这不只是为了获取文件吗?我想与目录中的文件本身交互。
任何有用的链接或答案将不胜感激。
更新:
我认为其中一个需求是不使用Active Directory,这将取消Samba的使用。

最佳答案

Samba安装指南
首先更新服务器并安装Samba:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install samba

然后wget这个文件:Samba config
用你最喜欢的文本编辑器(即vi上的nano)打开它。别忘了给编辑发号施令!!!
找到以下行(并根据需要更改参数):
[share]
   comment = A share
   path = /path/to/folder
   browsable = yes
   guest ok = no
   read only = no
   create mask = 0755

注释是对共享的描述。
path是要共享的文件夹的路径
browsable=yes使共享和内容对经过身份验证的用户可浏览
guest ok=no禁用匿名登录
只读=否启用编辑和重命名文件
create mask=0755设置新文件的默认权限
然后创建访问共享的用户(并设置密码):
sudo useradd share
sudo passwd share
sudo smbpasswd -a share
sudo smbpasswd -e share

将smb.conf移到/etc/samba/smb.conf
sudo mv smb.conf /etc/samba/smb.conf

重新加载Samba配置:
sudo /etc/init.d/samba reload

或者如果不起作用:
sudo smbd reload

完成!
现在您可以使用\\serverAddress\share访问windows上的共享
用户名是WORKGROUP\sharelinuxServerHostname\share,密码是您在上面设置的密码。
现在,您可以通过转到资源管理器并使用“映射网络驱动器”向导,将共享作为网络驱动器映射到Windows中。勾选“使用不同凭据连接”复选框。您也可以用C#映射网络驱动器。
共享中的所有文件和文件夹现在(映射时)都充当本地文件。

09-10 01:13
查看更多