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

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

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

瀏覽:77日期: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久久,三上悠亚国产精品一区二区三区
97精品国产| 夜夜嗨一区二区三区| 国产精品久久久久久久久妇女| 久久国产人妖系列| 四虎国产精品免费久久| 天堂va欧美ⅴa亚洲va一国产| 亚洲综合日韩| 日韩影院精彩在线| 99热精品在线观看| 亚洲一级大片| 国产精品videossex| 色偷偷偷在线视频播放| 日韩精品水蜜桃| 免费日韩一区二区| 亚洲欧美日韩视频二区| 免费不卡在线观看| 日韩超碰人人爽人人做人人添| 91伊人久久| 久久久男人天堂| 欧美亚洲国产一区| 日韩精品1区2区3区| 麻豆精品视频在线| 亚洲成人日韩| 国产精品毛片aⅴ一区二区三区| 国产高潮在线| 亚洲日本免费电影| 日韩国产欧美一区二区| 性欧美精品高清| 精品亚洲a∨一区二区三区18| 麻豆视频久久| 久久精品1区| 欧美一区不卡| 日韩电影二区| 日韩中出av| 久久夜夜操妹子| 亚洲欧美久久精品| 精品丝袜久久| 婷婷综合福利| 亚洲性图久久| 久久精品一区二区三区中文字幕| 日韩一区二区三区在线免费观看| 巨乳诱惑日韩免费av| 麻豆极品一区二区三区| 激情欧美一区二区三区| 日韩精品亚洲aⅴ在线影院| 中文字幕高清在线播放| 婷婷五月色综合香五月| 色爱综合av| 久久精品亚洲| 亚洲精品四区| 欧美日韩精品免费观看视频完整| 国产欧美一区二区色老头| 精品欧美激情在线观看| 91中文字幕精品永久在线| 日本在线成人| 久久午夜影视| 国产高清一区二区| 92国产精品| 欧美激情福利| 亚洲五月综合| 狠狠色狠狠色综合日日tαg| 国产成人久久精品一区二区三区| 中文字幕日韩欧美精品高清在线| 日韩电影免费网站| 麻豆精品少妇| 国产精品网在线观看| 欧美亚洲二区| 欧美视频精品全部免费观看| 亚洲一级淫片| 婷婷成人av| 亚洲精品一级二级三级| 亚洲在线电影| 亚洲综合二区| 亚洲另类黄色| 蜜桃视频一区二区| 免费人成在线不卡| 亚洲影院天堂中文av色| 亚洲久久视频| 91精品国产自产在线丝袜啪| 日韩欧美激情| 国产人成精品一区二区三| 久久精品99久久久| 日韩成人在线看| 欧美极品中文字幕| 国产精品国产三级国产在线观看| 精品视频自拍| 日韩免费福利视频| 免费国产自久久久久三四区久久 | 欧美激情另类| 国产精品色在线网站| 久久久久国产精品一区二区| 日韩av在线播放网址| 婷婷精品在线| 亚洲无线观看| 亚洲精品少妇| av资源新版天堂在线| 欧美日韩一区二区综合| 蜜桃视频第一区免费观看| 日韩区一区二| 深夜视频一区二区| 91亚洲精品视频在线观看| 日韩中文欧美| 国产欧美午夜| 婷婷精品视频| 国产亚洲欧美日韩精品一区二区三区 | 黄色成人91| 国产视频网站一区二区三区| 欧美成人基地 | 在线亚洲成人| 精品91福利视频| 亚洲精品韩国| 国产麻豆久久| 久久午夜影院| 欧美日韩亚洲一区| 91久久视频| 国产午夜久久av| 久久亚洲美女| 亚洲一级特黄| 岛国av免费在线观看| 国产精品中文字幕亚洲欧美| 欧美精品一二| 日韩三区免费| 久久亚洲道色| 日韩**一区毛片| 亚洲精华国产欧美| 久久中文字幕二区| 日韩深夜视频| 国产精品国产一区| 久久中文字幕导航| 国产伦理一区| 91成人在线网站| 四虎精品永久免费| 美女视频免费精品| 国产一区国产二区国产三区| 久久国产三级精品| 国产日产精品一区二区三区四区的观看方式 | 91精品国产经典在线观看| 亚洲欧美日本国产| 日韩不卡在线观看日韩不卡视频| 在线视频亚洲欧美中文| 亚洲精品影视| 国产调教精品| 精品三区视频| 91精品一区国产高清在线gif| 美女亚洲一区| 日韩精品中文字幕吗一区二区| 日本成人精品| 国产资源在线观看入口av| 五月婷婷六月综合| 日韩影院在线观看| 精品久久久亚洲| 国产精品日本欧美一区二区三区| 久久高清免费观看| 免费视频久久| 麻豆精品国产91久久久久久| 久久精品国产99国产| 国产一区不卡| 久久精品国产99久久| 亚洲一区成人| 亚洲aa在线| 美女久久久精品| 久久美女性网| 亚洲成人va| 免费欧美在线视频| 亚洲精品一级| 日韩精品三区四区| 国产探花一区在线观看| 麻豆久久一区| 性欧美xxxx免费岛国不卡电影| 在线一区免费观看| 日本欧美一区| 亚洲欧洲美洲av| 亚洲综合中文| 欧美国产美女| 中文亚洲欧美| 欧美精品国产| 国产精品99免费看| 啪啪亚洲精品| 亚洲网站视频| 欧美日本精品| 久久在线免费| 亚洲精品自拍| 99综合视频| 中文字幕成在线观看| 日韩精品a在线观看91| 久久精品国产亚洲夜色av网站| 国产乱码精品一区二区三区亚洲人| 在线成人动漫av| 成人在线免费观看网站| 石原莉奈一区二区三区在线观看| 精品国产aⅴ| 精品一区二区三区亚洲| 日产欧产美韩系列久久99| 激情婷婷欧美| 国产成年精品| 国产乱码精品| 日本成人一区二区| 亚洲我射av| 亚洲欧美久久精品| 国产亚洲精品美女久久 |