这可能通过我的代码创建sftp用户吗?我使用bitvise SSH服务器作为我的sftp服务器,而filezilla服务器作为我的ftp服务器,现在我想为不同的客户创建不同的用户,以便他们都可以访问我的服务器上的不同文件夹,并且无法访问访问彼此的路径(文件夹)。 我可以使用它们中的任何一个(sftp或ftp),但我的优先级是sftp。任何人都可以通过c#代码在sftp或ftp中创建用户创建的一些想法?通过c#代码创建SFTP或FTP用户帐户
回答
对于FileZilla的服务器,你可以修改C:\Program Files (x86)\FileZilla Server\FileZilla Server.xml
(FileZillaServer/Users
),并在服务器使用重新加载配置:
"FileZilla Server.exe" /reload-config
这就是我为了重新加载配置文件所做的:'''''''''''''''fileZillaPath = @“C:\ Program Files(x86)\ FileZilla Server”;''System.Diagnostics.Process.Start(“CMD.exe”,“ C“+ fileZillaPath +”\\\“FileZilla Server.exe \”/ reload-config“);' – 2014-09-22 08:46:23
这是我们如何重新加载文件,对不对?但是这不起作用,我没有在filezilla服务器上看到任何用户。 – 2014-09-22 08:48:18
我会说你缺少可执行文件路径周围的双引号(按照我的示例)。请注意,路径和可执行文件名称中都有空格。 – 2014-09-22 09:45:03
我得到的解决方案,我在这里张贴。这将是今后别人有所帮助:
try
{
string hely = @"C:\Program Files (x86)\FileZilla Server\FileZilla Server.xml";
StreamWriter wr = new StreamWriter(hely, false);
wr.WriteLine("<FileZillaServer>");
wr.WriteLine(" <Settings>");
wr.WriteLine(" <Item name=\"Admin port\" type=\"numeric\">14147</Item>");
wr.WriteLine(" </Settings>");
wr.WriteLine(" <Groups />");
wr.WriteLine(" <Users>");
wr.WriteLine(" <User Name=\"test\">");
wr.WriteLine(" <Option Name=\"Pass\">test</Option>");
wr.WriteLine(" <Option Name=\"Group\"></Option>");
wr.WriteLine(" <Option Name=\"Bypass server userlimit\">0</Option>");
wr.WriteLine(" <Option Name=\"User Limit\">0</Option>");
wr.WriteLine(" <Option Name=\"IP Limit\">0</Option>");
wr.WriteLine(" <Option Name=\"Enabled\">1</Option>");
wr.WriteLine(" <Option Name=\"Comments\">test</Option>");
wr.WriteLine(" <Option Name=\"ForceSsl\">0</Option>");
wr.WriteLine(" <IpFilter>");
wr.WriteLine(" <Disallowed />");
wr.WriteLine(" <Allowed />");
wr.WriteLine(" </IpFilter>");
wr.WriteLine(" <Permissions>");
wr.WriteLine(" <Permission Dir=\"D:\\FTP_Root\">");
wr.WriteLine(" <Option Name=\"FileRead\">1</Option>");
wr.WriteLine(" <Option Name=\"FileWrite\">1</Option>");
wr.WriteLine(" <Option Name=\"FileDelete\">1</Option>");
wr.WriteLine(" <Option Name=\"FileAppend\">1</Option>");
wr.WriteLine(" <Option Name=\"DirCreate\">1</Option>");
wr.WriteLine(" <Option Name=\"DirDelete\">1</Option>");
wr.WriteLine(" <Option Name=\"DirList\">0</Option>");
wr.WriteLine(" <Option Name=\"DirSubdirs\">1</Option>");
wr.WriteLine(" <Option Name=\"IsHome\">1</Option>");
wr.WriteLine(" <Option Name=\"AutoCreate\">0</Option>");
wr.WriteLine(" </Permission>");
wr.WriteLine(" </Permissions>");
wr.WriteLine("<SpeedLimits DlType=\"0\" DlLimit=\"10\" ServerDlLimitBypass=\"0\" UlType=\"0\" UlLimit=\"10\" ServerUlLimitBypass=\"0\">");
wr.WriteLine(" <Download />");
wr.WriteLine(" <Upload />");
wr.WriteLine(" </SpeedLimits>");
wr.WriteLine(" </User>");
wr.WriteLine(" </Users>");
wr.WriteLine("</FileZillaServer>");
wr.Close();
string pathtofilezilla = @"C:\Program Files (x86)\FileZilla Server";
Process.Start("CMD.exe", "/C \"" + pathtofilezilla + "\\FileZilla Server.exe\" /reload-config");
}
catch (Exception ex)
{
throw ex;
}
这只是覆盖整个配置,删除以前存在的所有其他帐户。 – 2014-09-23 08:02:25
这只是我提到的概念,你必须解析/序列化这个XML文件来创建新的
@ShilpaSoni:那SFTP呢? – 2017-08-09 12:16:30
- 1. 使用Rails创建FTP用户帐户
- 2. 如何为SFTP(Java)创建帐户或用户?
- 3. 使用Rails + S3创建FTP帐户
- 4. Ubuntu 14.10 - 创建一个FTP帐户
- 5. 通过代码添加谷歌帐户
- 6. 使用PHP(和/或Shell脚本)创建一个FTP帐户
- 7. 如何通过c#代码将密码更改为用户帐户?
- 8. c#使用自定义代码在AspDotNetStorefront中创建帐户
- 9. xmpppy创建用户帐户
- 10. 创建Vista用户帐户
- 11. 如何为每个注册用户创建FTP帐户
- 12. 通过代码(或编程)创建DNN门户?
- 13. 创建FTP用户动态
- 14. 通过使用用户帐户
- 15. 如何在Eclipse的Jcraft SFTP插件中编辑FTP帐户?
- 16. 如何通过Xamarin.Forms在android内置帐户管理器中创建帐户?
- 17. 仅通过帐户名称获取Windows用户帐户SID
- 18. 特定ftp帐户的密码验证
- 19. Django:创建新的用户帐户
- 20. 如何创建Firebase用户帐户
- 21. 创建本地用户帐户
- 22. Facebook API - 当用户创建Facebook帐户?
- 23. Quickblox:防止用户创建帐户
- 24. 用户手机号码不通过Facebook帐户验证,只通过短信验证使用帐户Facebook套件
- 25. 用于创建帐户的错误T-SQL代码
- 26. Azure门户帐户创建,请使用@ xyz.onmicrosoft.com或@ xyz.com?
- 27. 如何通过C#配置Outlook帐户?
- 28. Facebook连接应该取代传统的用户帐户创建?
- 29. 检查,如果用户帐户是通过电子邮件的代码Laravel
- 30. 由C#创建蔚蓝存储帐户
看起来像你的服务器是[编写脚本](https://www.bitvise.com/ssh-server-guide-scriptable),你有没有尝试任何事情到目前为止? – nvoigt 2014-09-22 05:43:46
@nvoigt不,我没有找到任何有用的工作解决方案,我的要求。我仍在寻找它。 – 2014-09-22 06:27:15
@rufanov这意味着我将不得不创建不同的Windows帐户,以便为sftp创建不同的用户帐户(在bitvise ssh服务器中的虚拟帐户)? – 2014-09-22 06:29:25