當前位置:首頁 » 文件傳輸 » nodeftp
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

nodeftp

發布時間: 2022-03-05 04:01:22

㈠ linux ftp埠怎麼設置

# 匿名用戶配置
anonymous_enable=YES # 是否允許匿名ftp,如否則選擇NO
anon_upload_enable=YES # 匿名用戶是否能上傳
anon_mkdir_write_enable=YES # 匿名用戶是否能創建目錄
anon_other_write_enable=YES # 修改文件名和刪除文件

# 本地用戶配置
local_enable=YES # 是否允許本地用戶登錄
local_umask=022 # umask 默認755
write_enable=YES
chroot_local_user=YES # 本地用戶禁錮在宿主目錄中

chroot_list_enable=YES # 是否將系統用戶限止在自己的home目錄下
chroot_list_file=/etc/vsftpd.chroot_list # 列出的是不chroot的用戶的列表

chown_upload=YES # 是否改變上傳文件的屬主
chown_username=username # 如果是需要輸入一個系統用戶名

userlist_enable=YES
userlist_deny=NO

deny_email_enable=YES # 是否允許禁止匿名用戶使用某些郵件地址
banned_email_file=/etc/vsftpd.banned_emails # 禁止郵件地址的文件路徑

ftpd_banner=Welcome to chenlf FTP service. # 定製歡迎信息
dirmessage_enable=YES # 是否顯示目錄說明文件, 需要收工創建.message文件
message_file= # 設置訪問一個目錄時獲得的目錄信息文件的文件名,默認是.message

xferlog_enable=YES # 是否記錄ftp傳輸過程
xferlog_file=/var/log/vsftpd.log # ftp傳輸日誌的路徑和名字
xferlog_std_format=YES # 是否使用標準的ftp xferlog模式

ascii_upload_enable=YES # 是否使用ascii碼方式上傳文件
ascii_download_enable=YES # 是否使用ascii碼方式下載文件

connect_from_port_20=YES # 是否確信埠傳輸來自20(ftp-data)

nopriv_user=ftpsecure # 運行vsftpd需要的非特權系統用戶默認是nobody

async_abor_enable=YES # 是否允許運行特殊的ftp命令async ABOR.

# FTP伺服器的資源限制

idle_session_timeout=600 # 設置session超時時間
data_connection_timeout=120 # 設置數據傳輸超時時間

max_clients=50 # 用戶最大連接數 默認是0不限止
max_per_ip=5 # 每個IP地址最大連接數

anon_max_rate=102400 # 匿名的下載速度 KB
local_max_rate=102400 # 普通用戶的下載速度 KB

㈡ 有沒有nodejs寫的ftp server

如果電腦沒有安裝nodejs的同學可以先到node官方下載並安裝好node程序。
安裝好nodejs後驗證一下是否安裝成功!如果出現則表明node已經承裝安裝上去了!

2
安裝好node之後打開cmd 輸入 npm install anywhere -g 安裝anywhere ,然後等待直到出現以下界面。

3
以上兩個步驟都就緒以後,萬事俱備,只欠東風啦!在cmd頁面 找到你想搭建伺服器的路徑
然後瀏覽器就自動打開本地訪問網址,一個簡單的node伺服器就這樣被我們搭建好啦

㈢ 如何得到某個文件的最後修改人

xml:

<?xml version="1.0" encoding="UTF-8"?>

<users>

<Messages>
<sendName>sendUsers</sendName>
<receiveName>snake</receiveName>
<date>2007-12-04 12:20:00</date>
<status>0</status>
<message>this is Content</message>
</Messages>

</users>

java:

package com.lianxi.DAO;
import java.io.File;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class UpdateXml {
public static boolean doc2XmlFile(Document document,String filename)
{
boolean flag = true;
try
{
/** 將document中的內容寫入文件中 */
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();
/** 編碼 */
//transformer.setOutputProperty(OutputKeys.ENCODING, "GB2312");
DOMSource source = new DOMSource(document);
StreamResult result = new StreamResult(new File(filename));
transformer.transform(source, result);
}catch(Exception ex)
{
flag = false;
ex.printStackTrace();
}
return flag;
}

public static Document load(String filename)
{
Document document = null;
try
{
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder=factory.newDocumentBuilder();
document=builder.parse(new File(filename));
document.normalize();
}
catch (Exception ex){
ex.printStackTrace();
}
return document;
}
/**
* 演示修改文件的具體某個節點的值
*/
public static void xmlUpdateDemo()
{
Document document = load("c://Message.xml");
Node root=document.getDocumentElement();
/** 如果root有子元素 */
if(root.hasChildNodes())
{
/** ftpnodes */
NodeList ftpnodes = root.getChildNodes();
/** 循環取得ftp所有節點 */
for (int i=0;i<ftpnodes.getLength();i++)
{
NodeList ftplist = ftpnodes.item(i).getChildNodes();
for (int k=0;k<ftplist.getLength();k++)
{
Node subnode = ftplist.item(k);
/** 刪除ftp-chn節點 */
// if (subnode.getNodeType()==Node.ELEMENT_NODE&&subnode.getNodeName()=="ftp-chn")
// {
// ftpnodes.item(i).removeChild(subnode);
// }
/** 修改ftp-host的值為 192.168.0.1 */
if (subnode.getNodeType()==Node.ELEMENT_NODE&&subnode.getNodeName()=="status")
{
subnode.getFirstChild().setNodeValue("1");
}
}

}
}

doc2XmlFile(document,"c://Message.xml");
}
public static void main(String args[])throws Exception
{
UpdateXml.xmlUpdateDemo();
}
}

㈣ ftp無法連接伺服器是什麼原因,提示EAI_NONAME - Neither nodename nor servname provided, or not known

我也出現過這種情況 無法排除 最後是重啟伺服器 本地重新撥號(更換IP)就可以了……

㈤ nodejs怎麼實現ftp遠程目錄的遍歷

不知道支不支持ftp協議啊。要是支持的話直接連接就好了。應該支持。冰晶V8。

㈥ ftp伺服器怎麼搭建可以用雲幫手嗎好不好

1.你可以手動安裝。
先是在雲伺服器上安裝ftp環境,完成後。在個人pc上,安裝一個ftp軟體方便遠程上傳下載文件。
2.藉助安裝工具軟體。
你也可以用雲幫手安裝部署環境,和實現文件上傳和下載,還可以集中管理一台或多台雲主機。

㈦ 如何控制AIX中目錄的ftp訪問許可權

當我們想要將一個目錄設置為ftp只讀或ftp只寫時,我們可以藉助/etc/ftpaccess.ctl文件來實現這種許可權控制。
一、設置一個目錄為ftp只讀
1. 編輯/etc/ftpaccess.ctl,加入如下一行:
readonly: /test
2. ftp連接伺服器進行讀取傳輸,成功
HA_node2@/> ftp 172.16.18.13
Connected to 172.16.18.13.
220 DumpServer FTP server (Version 4.2 Fri Feb 3 22:13:23 CST 2006) ready.
Name (172.16.18.13:root): root
331 Password required for root.
Password:
230-Last unsuccessful login: Tue May 13 08:44:37 2008 on /dev/pts/1 from 9.181.50.139
230-Last login: Tue May 13 10:45:06 2008 on ftp from ::ffff:9.181.50.246
230 User root logged in.
ftp> cd /test
250 CWD command successful.
ftp> lcd /test
Local directory now /test
ftp> dir
200 PORT command successful.
150 Opening data connection for /bin/ls.
total 29472
-rw-r--r-- 1 root system 7539356 Apr 24 19:42 trace.r
-rw-rw-rw- 1 root system 880640 Apr 24 19:41 trace.raw
-rw-rw-rw- 1 root system 1158232 Apr 24 19:41 trace.raw-0
-rw-rw-rw- 1 root system 1059928 Apr 24 19:41 trace.raw-2
-rw-rw-rw- 1 root system 1050952 Apr 24 19:41 trace.raw-3
-rw-rw-rw- 1 root system 1195440 Apr 24 19:41 trace.raw-4
-rw-rw-rw- 1 root system 2196288 Apr 24 19:41 trace.raw-5
226 Transfer complete.
ftp> bin
200 Type set to I.
ftp> get trace.raw
200 PORT command successful.
150 Opening data connection for trace.raw (880640 bytes).
226 Transfer complete.
880852 bytes received in 0.08342 seconds (1.031e+04 Kbytes/s)
local: trace.raw remote: trace.raw
3.進行寫入傳輸,則遭遇報錯
ftp> bin
200 Type set to I.
ftp> put trace.raw-1
200 PORT command successful.
550 Write access denied
二、設置一個目錄為ftp只寫
1. 編輯/etc/ftpaccess.ctl,加入如下一行:
writeonly: /test
2. ftp連接伺服器進行讀取傳輸,則遭遇報錯
HA_node2@/> ftp 172.16.18.13
Connected to 172.16.18.13.
220 DumpServer FTP server (Version 4.2 Fri Feb 3 22:13:23 CST 2006) ready.
Name (172.16.18.13:root): root
331 Password required for root.
Password:
230-Last unsuccessful login: Tue May 13 08:44:37 2008 on /dev/pts/1 from 9.181.50.139
230-Last login: Tue May 13 15:45:37 2008 on ftp from ::ffff:172.16.18.11
230 User root logged in.
ftp> cd /test
250 CWD command successful.
ftp> lcd /test
Local directory now /test
ftp> dir
200 PORT command successful.
150 Opening data connection for /bin/ls.
total 29472
-rw-r--r-- 1 root system 7539356 Apr 24 19:42 trace.r
-rw-rw-rw- 1 root system 880640 Apr 24 19:41 trace.raw
-rw-rw-rw- 1 root system 1158232 Apr 24 19:41 trace.raw-0
-rw-rw-rw- 1 root system 1059928 Apr 24 19:41 trace.raw-2
-rw-rw-rw- 1 root system 1050952 Apr 24 19:41 trace.raw-3
-rw-rw-rw- 1 root system 1195440 Apr 24 19:41 trace.raw-4
-rw-rw-rw- 1 root system 2196288 Apr 24 19:41 trace.raw-5
226 Transfer complete.
ftp> bin
200 Type set to I.
ftp> get trace.raw-2
200 PORT command successful.
550 Read access denied
3.進行寫入傳輸,成功
ftp> bin
200 Type set to I.
ftp> put trace.raw-1
200 PORT command successful.
150 Opening data connection for trace.raw-1.
226 Transfer complete.
880640 bytes sent in 0.07938 seconds (1.083e+04 Kbytes/s)
local: trace.raw-1 remote: trace.raw-1
ftp> dir
200 PORT command successful.
150 Opening data connection for /bin/ls.
total 31192
-rw-r--r-- 1 root system 7539356 Apr 24 19:42 trace.r
-rw-rw-rw- 1 root system 880640 Apr 24 19:41 trace.raw
-rw-rw-rw- 1 root system 1158232 Apr 24 19:41 trace.raw-0
-rw-r----- 1 root system 880640 May 13 15:53 trace.raw-1
-rw-rw-rw- 1 root system 1059928 Apr 24 19:41 trace.raw-2
-rw-rw-rw- 1 root system 1050952 Apr 24 19:41 trace.raw-3
-rw-rw-rw- 1 root system 1195440 Apr 24 19:41 trace.raw-4
-rw-rw-rw- 1 root system 2196288 Apr 24 19:41 trace.raw-5
226 Transfer complete.

㈧ 如何使用WebSphere Message Broker定製FTP

Java 解決方案
Java™ 解決方案基於 Apache Commons Net 包。如 FTPClient 中的 javadoc 所述,首先連接到 FTP 伺服器,使用您的用戶名和密碼登錄,然後使用 get 或 put 命令。以下是一個樣例實現。
示例 2. 使用 Apache Commons Net 的FTP 的樣例實現
package fileTransferProtocol;

import org.apache.commons.net.ftp.*;
import java.io.*;

public class FileTransferProtocol {
public static void main (String [ ] args) {
String serverName ="my.zos.mainframe" ;
String userName ="userid" ;
String password ="********" ;
FTPClient ftp = new FTPClient() ;
//Connect to the server
try { ftp.connect (serverName) ;
String replyText =ftp.getReplyString() ;
System.out.println (replyText) ;
}
catch (Exception e) {
e.printStackTrace () ;
}
//Login to the server
try { ftp.login (userName, password) ;
String replyText = ftp.getReplyString() ;
System.out.println (replyText);
} catch (Exception e) {
e.printStackTrace();
}
//Tell server that the file will have JCL records
try { ftp.site ("RECFM=FB LRECL=140") ;
String replyText = ftp.getReplyString() ;
System.out.println (replyText) ;
}
catch (Exception e) {
e.printStackTrace() ;
}
//Submit the job from the text file.
try { FileInputStream inputStream = new FileInputStream ("/my/source/file") ;
ftp.storeFile (serverName,inputStream) ;
String replyText = ftp.getReplyString() ;
System.out.println (replyText) ;
}
catch (Exception e) {
e.printStackTrace() ;
}
//Quit the server
try { ftp.quit() ;
}
catch (Exception e) {
e.printStackTrace() ;
}
}
}

使用 JavaCompute 節點
前面的小節展示了將文件從本地發送至遠程文件系統的實現樣例。這一節會介紹如何在 Message Broker JavaCompute 節點中包裝此實現。
Message Broker 信息中心有大量的 JavaCompute 節點資料。但有一點需要強調:前面介紹的樣例實現要求 Commons Net JAR 文件在CLASSPATH 上是可用的。同樣的,使用 JavaCompute 節點時,您需要在外部 JAR 文件中添加依賴關系。有關更多信息,請參閱 Message Broker 信息中心的 添加 Java 代碼依賴項 。
JavaCompute 節點的 Java 類的類型
Message Broker Toolkit 提供了基於 JavaCompute 節點預期功能的類模板。有關以下所列模板的更多信息,請參閱 Message Broker 信息中心的Creating Java code for a JavaCompute node。
過濾器 - 過濾傳入的信息
修改 - 修改傳入的信息
創建 - 創建新的信息
模板的選擇取決於特定的信息流,例如,傳入的信息在文件轉換後是否會傳播到後續節點,或者完成文件轉換後是否不會再有進一步的動作,以至於沒有信息需要傳播。
Java 類的描述
這一節將描述用來定製 FTP 的 Java 類。
FTP 會話的基本輸入
通過 FTP 轉換文件所需的重要項目為:
伺服器主機名或 IP 地址
用戶 ID 和密碼
源文件和目標文件
對於利用 FTPClient 將數據從 Apache Commons Net 傳送到實際傳輸文件的類,此信息應該是可用的。本文中顯示的類接受上述值作為java.util.Properties 對象,或者將它作為 「名稱-值」 對的文件名。在使用 Properties 對象時,您有動態設置這些值的優勢。有了這個文件,就不再需要硬編碼值。同時,通過設置適當的訪問控制,只能通過 broker 運行所用的 ID 來讀取該文件。
Properties 對象
由於不同的 FTP 會話可能需要不同的自定義命令,Properties 對象不必一直是同一個對象。本文描述了一個實現,其中需要通過指定數據集控制塊(DCB)和一些空間值,使用 FTP 會話將某個文件提供給 z/OS 伺服器。Properties 對象的名稱-值對如下所示:
示例 3. Properties 對象的名稱 - 值對樣例
INTF1.server=big.blue.server
INTF1.userid=USERID01
INTF1.password=HeyThere
INTF1.targetDSN='A.DUMMY.GDG(+1)'
INTF1.targetDSN.RECFM=FB
INTF1.targetDSN.LRECL=100
INTF1.targetDSN.BLKSIZE=27900
INTF1.targetDSN.pri=10
INTF1.targetDSN.sec=5
INTF1.targetDSN.unit=CYL

調用
以下是調用自定義 FTP 類的 JavaCompute 節點的樣例:
示例 4. 調用自定義節點類的 JavaCompute 節點的代碼樣例
package customFTP;

import com.ibm.broker.javacompute.MbJavaComputeNode;
import com.ibm.broker.plugin.*;

public class FTPMessageFlow_JC01 extends MbJavaComputeNode {
public void evaluate(MbMessageAssembly inAssembly) throws MbException {
MbOutputTerminal out = getOutputTerminal("out");
MbMessage inMessage = inAssembly.getMessage();

MbMessage outMessage = new MbMessage(inMessage);
MbMessageAssembly outAssembly = new MbMessageAssembly(inAssembly,outMessage);

try {
/**
* All logic for this JavaCompute node.
*
* Build Properties object here OR
* Provide file name here
*
* Invoke custom FTP here
*
*/
} catch (Exception e) {
/**
* Handle exceptions
*/
} finally {
outMessage.clearMessage();
}
}

如以上代碼所示,我們要先執行所需的業務邏輯,然後准備 Properties 對象,或者傳遞文件名,以便調用自定義 FTP 類。

㈨ 如何用nodejs 調用ftp上傳多個文件

單個的實現
fs.readFile(req.files['file'].path, function(err, data){
fs.writeFile(newPath, data, function(err){
//上傳成功
})
});

㈩ nodejs 如何部署到伺服器上

跟你在本地開發是相同的。

1、安裝指定版本的node.js(伺服器基本軟體的安裝)

2、上傳代碼到伺服器(可以通過ftp、ssh、git等方式)

3、安裝項目依賴的模塊

>npminstall

4、啟動應用(也可以通過forever、pm2等工具進行管理)

>node./www/bin

當然,如果你深諳運維之道,可以直接通過docker等方案將運行環境容容器化。

基本的Linux運維知識的話可以參考linuxprobe.com。

還有幾個需要注意的點:

1、運行許可權:注意做好應用之間的隔離(使用低許可權用戶、文件系統隔離等),避免應用崩潰導致系統宕機等風險

2、80埠:通過nginx等進行反向代理,應用本身佔用1024後的埠(無需root許可權)