日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

利用apache ftpserver搭建ftp服務器的方法步驟

瀏覽:71日期:2023-03-07 14:40:31
目錄
  • 操作環境:
  • 一、usermanager采用文件形式管理xml示例如下
  • 二、usermanager采用mysql數據庫管理用戶時,ftpd-mysql.xml示例如下
  • 三、usermanager采用Sqlite數據庫管理用戶時,ftpd-sqlite.xml示例如下
  • 四、解決ftpd.exe在64位windows系統啟動失敗的問題
  • 五、python操作sqlite的ftp.db管理(增加刪除)用戶

操作環境:

  • win2012r2 x64 datacenter
  • Apache FtpServer 1.2.0
  • Java SE Development Kit 8u333
  • commons-dbcp2-2.9.0.jar
  • commons-pool2-2.11.1.jar
  • mysql server 8.0.29
  • mysql-connector-java-8.0.29.jar
  • sqlite
  • sqlite-jdbc-3.36.0.3.jar

如下圖:

一、usermanager采用文件形式管理xml示例如下

<?xml version="1.0" encoding="UTF-8"?>  <!--    Licensed to the Apache Software Foundation (ASF) under one or more    contributor license agreements. See the NOTICE file distributed with    this work for additional information regarding copyright ownership.    The ASF licenses this file to you under the Apache License, Version    2.0 (the "License"); you may not use this file except in compliance    with the License. You may obtain a copy of the License at    http://www.apache.org/licenses/LICENSE-2.0 Unless required by    applicable law or agreed to in writing, software distributed under the    License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR    CONDITIONS OF ANY KIND, either express or implied. See the License for    the specific language governing permissions and limitations under the    License.  --><server xmlns="http://mina.apache.org/ftpserver/spring/v1"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="     http://mina.apache.org/ftpserver/spring/v1 https://mina.apache.org/ftpserver-project/ftpserver-1.0.xsd       "  id="myServer">  <listeners>    <nio-listener name="default" port="21"><ssl><keystore file="./res/ftpserver.jks" password="password" />    </ssl>    </nio-listener>  </listeners>  <file-user-manager file="./res/conf/users.properties" /></server>

二、usermanager采用mysql數據庫管理用戶時,ftpd-mysql.xml示例如下

目前數據庫管理用戶時采用的明文存儲,salted和md5的方式沒有測試成功,如有測試成功的朋友請指導一下。

<?xml version="1.0" encoding="UTF-8"?><!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor     license agreements. See the NOTICE file distributed with this work for additional     information regarding copyright ownership. The ASF licenses this file to     you under the Apache License, Version 2.0 (the "License"); you may not use     this file except in compliance with the License. You may obtain a copy of     the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required     by applicable law or agreed to in writing, software distributed under the     License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS     OF ANY KIND, either express or implied. See the License for the specific     language governing permissions and limitations under the License. --><server xmlns="http://mina.apache.org/ftpserver/spring/v1"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans"    xsi:schemaLocation="   http://www.springframework.org/schema/beans   http://www.springframework.org/schema/beans/spring-beans-2.5.xsd   http://mina.apache.org/ftpserver/spring/v1   http://mina.apache.org/ftpserver/ftpserver-1.0.xsd   "    id="myServer">    <listeners><nio-listener name="default" port="21">    <ssl><keystore file="./res/ftpserver.jks" password="password" />    </ssl></nio-listener>    </listeners>    <db-user-manager encrypt-passwords="clear"><data-source>    <beans:bean><beans:property name="driverClassName" value="com.mysql.jdbc.Driver" /><beans:property name="url" value="jdbc:mysql://localhost/ftpserver" /><beans:property name="username" value="root" /><beans:property name="password" value="123456" />    </beans:bean></data-source><insert-user>INSERT INTO FTP_USER (userid, userpassword,    homedirectory, enableflag, writepermission, idletime, uploadrate,    downloadrate) VALUES ("{userid}", "{userpassword}",    "{homedirectory}",    {enableflag}, {writepermission}, {idletime},    {uploadrate},    {downloadrate})</insert-user><update-user>UPDATE FTP_USER SET    userpassword="{userpassword}",homedirectory="{homedirectory}",enableflag={enableflag},writepermission={writepermission},idletime={idletime},uploadrate={uploadrate},downloadrate={downloadrate}    WHERE userid="{userid}"</update-user><delete-user>DELETE FROM FTP_USER WHERE userid = "{userid}"</delete-user><select-user>SELECT userid, userpassword, homedirectory,    enableflag, writepermission, idletime, uploadrate, downloadrate,    maxloginnumber, maxloginperip FROM    FTP_USER WHERE userid = "{userid}"</select-user><select-all-users>    SELECT userid FROM FTP_USER ORDER BY userid</select-all-users><is-admin>SELECT userid FROM FTP_USER WHERE userid="{userid}"    AND    userid="admin"</is-admin><authenticate>SELECT userpassword from FTP_USER WHERE    userid="{userid}"</authenticate>    </db-user-manager></server>

注意:org.apache.commons.dbcp2.BasicDataSource,看最新的commons.dbcp命名空間和1.x版本有區別

三、usermanager采用Sqlite數據庫管理用戶時,ftpd-sqlite.xml示例如下

<?xml version="1.0" encoding="UTF-8"?><!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor     license agreements. See the NOTICE file distributed with this work for additional     information regarding copyright ownership. The ASF licenses this file to     you under the Apache License, Version 2.0 (the "License"); you may not use     this file except in compliance with the License. You may obtain a copy of     the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required     by applicable law or agreed to in writing, software distributed under the     License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS     OF ANY KIND, either express or implied. See the License for the specific     language governing permissions and limitations under the License. --><server xmlns="http://mina.apache.org/ftpserver/spring/v1"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans"    xsi:schemaLocation="   http://www.springframework.org/schema/beans   http://www.springframework.org/schema/beans/spring-beans-2.5.xsd   http://mina.apache.org/ftpserver/spring/v1   http://mina.apache.org/ftpserver/ftpserver-1.0.xsd   "    id="myServer">    <listeners><nio-listener name="default" port="21">    <ssl><keystore file="./res/ftpserver.jks" password="password" />    </ssl></nio-listener>    </listeners>    <db-user-manager encrypt-passwords="clear"><data-source>    <beans:bean><beans:property name="driverClassName" value="org.sqlite.JDBC" /><beans:property name="url" value="jdbc:sqlite:ftp.db" />    </beans:bean></data-source><insert-user>INSERT INTO FTP_USER (userid, userpassword,    homedirectory, enableflag, writepermission, idletime, uploadrate,    downloadrate) VALUES ("{userid}", "{userpassword}",    "{homedirectory}",    {enableflag}, {writepermission}, {idletime},    {uploadrate},    {downloadrate})</insert-user><update-user>UPDATE FTP_USER SET    userpassword="{userpassword}",homedirectory="{homedirectory}",enableflag={enableflag},writepermission={writepermission},idletime={idletime},uploadrate={uploadrate},downloadrate={downloadrate}    WHERE userid="{userid}"</update-user><delete-user>DELETE FROM FTP_USER WHERE userid = "{userid}"</delete-user><select-user>SELECT userid, userpassword, homedirectory,    enableflag, writepermission, idletime, uploadrate, downloadrate,    maxloginnumber, maxloginperip FROM    FTP_USER WHERE userid = "{userid}"</select-user><select-all-users>    SELECT userid FROM FTP_USER ORDER BY userid</select-all-users><is-admin>SELECT userid FROM FTP_USER WHERE userid="{userid}"    AND    userid="admin"</is-admin><authenticate>SELECT userpassword from FTP_USER WHERE    userid="{userid}"</authenticate>    </db-user-manager></server>

注意:commons的jar包還保留著,多了個操作sqlitejdbc的jar包,下載地址:GitHub - xerial/sqlite-jdbc: SQLite JDBC Driver

四、解決ftpd.exe在64位windows系統啟動失敗的問題

需下載tomcat包,目前測試的這個版本可行tomcat-7 v7.0.109 (apache.org)

放入apache ftpserver bin目錄里替換原有的ftpd.exe

這樣安裝為服務的時候就可以正常啟動了

五、python操作sqlite的ftp.db管理(增加刪除)用戶

自己搞了個python腳本,采用了sqlalchemy來操作數據庫

from sqlalchemy import create_enginefrom sqlalchemy import MetaData,Table,Column,Boolean,Integer,Stringimport osengine=create_engine("sqlite:///ftp.db")conn=engine.connect()metadata=MetaData()ftpusers=Table("FTP_USER",metadata,    Column("userid",String(64),primary_key=True),    Column("userpassword",String(64),nullable=False),    Column("homedirectory",String(128),nullable=False),    Column("enableflag",Boolean(),default=True),    Column("writepermission",Boolean(),default=True),    Column("idletime",Integer(),default=0),    Column("uploadrate",Integer(),default=0),    Column("downloadrate",Integer(),default=0),    Column("maxloginnumber",Integer(),default=0),    Column("maxloginperip",Integer(),default=0))metadata.create_all(engine)def addgeneraluser():	deluser = ftpusers.delete().where(ftpusers.c.userid=="nic")	rs = conn.execute(deluser)	dirname="./files/alluser"	if not os.path.exists(dirname):		os.mkdir(dirname)	ins=ftpusers.insert().values(		userid="nic",		userpassword="123321",		homedirectory=dirname,		writepermission=0,		maxloginnumber=1	)	result=conn.execute(ins)def addadmin():	deladmin = ftpusers.delete().where(ftpusers.c.userid=="admin")	rs = conn.execute(deladmin)	ins=ftpusers.insert().values(		userid="admin",		userpassword="123456",		homedirectory="./files",		writepermission=1	)	result=conn.execute(ins)def getusers():	sel=ftpusers.select()	rs=conn.execute(sel)	print(rs.fetchall())	addgeneraluser()getusers()

可以方便的增加用戶了,generaluser只讀權限只能同時登錄一個,admin權限可讀寫,不限制。

到此這篇關于利用apache ftpserver搭建ftp服務器的方法步驟的文章就介紹到這了,更多相關apache ftpserver搭建ftp內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: Linux Apache
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
香蕉人人精品| 欧美日韩一区二区三区在线电影| 日韩精品三区四区| 欧美日韩调教| 亚洲日本国产| 日韩精品视频在线看| **爰片久久毛片| 国产精品久久免费视频| 欧美aaaaaa午夜精品| 欧美好骚综合网| 欧美a级一区| 国产精品日本欧美一区二区三区| 国产免费成人| 亚洲精品乱码| 欧美激情视频一区二区三区免费 | 97成人超碰| 国产乱码精品一区二区亚洲| 国产精品亚洲欧美日韩一区在线| 久久精品国产久精国产| av在线日韩| 亚洲自啪免费| 国产精品成人一区二区网站软件| 麻豆一区二区三| 久久中文视频| 日韩一区精品字幕| 国产精品久久久亚洲一区| 不卡专区在线| 亚洲欧美久久| 精品色999| 免费久久精品视频| 麻豆成全视频免费观看在线看| 黄色亚洲在线| 福利精品在线| 日韩国产欧美在线播放| 色在线视频观看| 日韩精品导航| 蜜桃tv一区二区三区| 国产精品久久久久av蜜臀| 亚洲精品888| 久久精品72免费观看| 日韩一区自拍| 国产极品模特精品一二| 日韩精品一二区| 国产91久久精品一区二区| 免费在线成人| 91伊人久久| 亚洲综合激情在线| 天堂av在线| 精品中文在线| 国产剧情一区| 日本高清久久| 蜜桃久久精品一区二区| 久久影视一区| 99久久久久| 成人台湾亚洲精品一区二区| 欧美一级一区| 亚洲一区二区动漫| 999精品色在线播放| 成人在线免费观看网站| 美女尤物国产一区| 国产精品免费精品自在线观看| 国产亚洲精品自拍| 秋霞影院一区二区三区| 欧美aa在线视频| 免费看久久久| 久久精品99国产国产精| 亚洲精品系列| 婷婷综合福利| 91麻豆精品| 五月国产精品| 欧美久久精品| 精品视频高潮| 国产va在线视频| 欧美va天堂在线| 欧美日韩视频| 日韩中文字幕91| 天堂av一区| 国产精品一区二区精品| 精品成人18| 色婷婷狠狠五月综合天色拍| av高清一区| 久久av一区| 国产视频一区三区| 亚洲v天堂v手机在线| 夜夜精品视频| 日韩中文字幕| 国产v日韩v欧美v| 国产高清久久| 日本一区中文字幕| 久久99久久久精品欧美| 肉色欧美久久久久久久免费看| 激情久久久久久| 日韩国产欧美视频| 欧美黑人巨大videos精品| 日本蜜桃在线观看视频| 久久中文字幕av| 日韩精品福利一区二区三区| 久草精品视频| 在线亚洲欧美| 国产精品三p一区二区| 成人国产精选| 国产精品免费看| 国内一区二区三区| 亚洲综合五月| 亚洲国产福利| 蜜臀国产一区二区三区在线播放| 欧美aa在线视频| 在线亚洲自拍| 国产不卡人人| 欧美私人啪啪vps| 亚洲一区日韩| 偷拍精品精品一区二区三区| 日本精品久久| 黄色日韩精品| 精品久久在线| 一区二区三区四区精品视频| 欧美精品一二| 天堂中文在线播放| 美女尤物国产一区| 国产欧美自拍一区| 亚洲精品免费观看| 欧美理论视频| 美女少妇全过程你懂的久久| 桃色av一区二区| 精品国产99| 91亚洲成人| 中文字幕在线免费观看视频| 国产在线视频欧美一区| 欧美1区二区| 国产精品日本一区二区三区在线| 午夜在线播放视频欧美| 亚洲免费影院| 丝袜美腿亚洲一区二区图片| 国产亚洲精品久久久久婷婷瑜伽| 狠狠爱成人网| 亚洲免费中文| 久久aⅴ国产紧身牛仔裤| 亚洲激情五月| 激情综合亚洲| 综合一区在线| 欧美日韩精品一区二区三区在线观看| 日本伊人午夜精品| 国产精品成人3p一区二区三区| 久久97视频| 国产精品13p| 亚洲第一区色| 亚洲一区欧美| 欧美激情91| 亚洲国产一区二区在线观看 | 亚州av日韩av| 精品视频高潮| 国户精品久久久久久久久久久不卡| 亚洲在线网站| 久久精品99久久久| 91看片一区| 日韩午夜av| 麻豆精品久久| 91亚洲国产| 亚洲视频二区| 高潮久久久久久久久久久久久久| 欧美精品一区二区久久| 日本不卡的三区四区五区| 国产精品福利在线观看播放| 麻豆久久精品| 国产精品国产三级国产在线观看| 久久精品99久久无色码中文字幕| 欧美日韩国产探花| 精品亚洲成人| 免播放器亚洲| 国内一区二区三区| 亚洲制服欧美另类| 精品欧美一区二区三区在线观看| 久久国产66| 美女av在线免费看| 婷婷成人av| 视频一区二区中文字幕| 视频小说一区二区| 久久不见久久见中文字幕免费 | 欧美在线观看天堂一区二区三区| 国产精品毛片久久| 日韩成人精品一区二区三区 | 日韩精品a在线观看91| 午夜av成人| 奇米色欧美一区二区三区| 免费不卡中文字幕在线| 麻豆精品蜜桃视频网站| 日韩激情视频网站| 男人操女人的视频在线观看欧美| av一区在线| 麻豆mv在线观看| 精品久久网站| 久久精品理论片| 国产精品亲子伦av一区二区三区 | 999国产精品视频| 日韩国产专区| 韩国久久久久久| 精品一区二区三区的国产在线观看 | 日本美女一区| 日韩欧美精品综合| 麻豆理论在线观看|