通过c#代码创建SFTP或FTP用户帐户
本文关键字:FTP 用户 SFTP 代码 创建 通过 | 更新日期: 2023-09-27 18:24:01
这可以通过我的代码创建sftp用户吗?我使用bitvise SSH服务器作为sftp服务器,使用filezilla服务器作为ftp服务器,现在我想为我的不同客户创建不同的用户,这样他们都可以访问我服务器上的不同文件夹,而不能访问其他路径(文件夹)。我可以使用它们中的任何一个(sftp或ftp),但我的优先级是sftp。有人能通过c#代码在sftp或ftp中创建用户吗?
对于FileZilla服务器,您可以修改C:'Program Files (x86)'FileZilla Server'FileZilla Server.xml
(FileZillaServer/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;
}