簡體   English   中英

通過C#代碼創建SFTP或FTP用戶帳戶

[英]Creating SFTP or FTP user account through c# code

是否可以通過我的代碼創建sftp用戶? 我將bitvise SSH服務器用作sftp服務器,將filezilla服務器用作ftp服務器,現在我想為不同的客戶創建不同的用戶,以便他們都可以訪問我服務器上的不同文件夾,並且無法訪問彼此的路徑(文件夾)。 我可以使用其中任何一個(sftp或ftp),但我的優先級是sftp。 任何人都可以通過c#代碼在sftp或ftp中創建用戶的想法嗎?

對於FileZilla服務器,您可以修改C:\\Program Files (x86)\\FileZilla Server\\FileZilla Server.xmlFileZillaServer/Users ),並使用以下命令讓服務器重新加載配置:

"FileZilla Server.exe" /reload-config

我有解決方案,在這里發布。 將來對其他人會有所幫助:

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;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM