我有一台运行 Ubuntu Server 的服务器,在单个 NIC 上有四个 IP 地址。
eth0 192.168.1.100
eth0:0 192.168.1.101
eth0:1 192.168.1.102
eth0:2 192.168.1.103
Run Code Online (Sandbox Code Playgroud)
(以 192.168.xx 为例,假设这些是 NAT-ed 到一系列公共 IP 地址)
我们的一个客户通过 FTP 发布他们的库存,因此我们每晚登录以从他们的服务器下载一个大文件。他们的防火墙希望我们的(被动)FTP 连接从 192.168.1.100 建立。
鉴于我的服务器在一个适配器上逻辑上有四个 IP 地址,操作系统如何确定哪个 IP 地址用作出站 TCP/IP 连接的源?
假设我在 192.168.1.101 上通过 ssh 进入我的服务器并以交互方式运行 FTP。出站 TCP/IP 连接是否会使用 192.168.1.101,因为操作系统知道这是连接我的 shell 的接口?
如果 FTP 任务通过没有 shell 的 cron 作业以非交互方式运行怎么办?
你可能会说,这让我很困惑,所以我希望我的问题至少是有道理的。
编辑
为了澄清我问的原因——我没有对路由表进行任何更改,它实际上将“eth0”列为 0.0.0.0 路由的 IFace。但是,所有迹象表明它实际上使用 eth0:0 作为源。
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 192.168.1.1 …Run Code Online (Sandbox Code Playgroud) Windows Server 2008 上的文件夹中可以存储的项目数量是否有最大限制?
我们有一个需求,将数十万个项目的 ftp 处理到一个文件夹,并处理文件夹中的项目。我听说有传言说它是 5000 件物品。有人想用证据支持这一点吗?我的 google fu 让我失望了。
我正在服务器之间传输文件,刚刚开始注意到其中一些文件被修改为一条长的连续行,而不是原来的返回和换行符。我假设这与我最初设置为“自动”的 FTP 客户端的传输类型有关,但将“二进制”和“ASCII”作为附加选项。
简而言之,我将文件从一台服务器传输到另一台服务器的方式之间有什么区别,这些差异是否能够以我上面提到的方式修改文件?
从Windows转移到Linux。
我有一台运行Ubuntu 12.10 x64的服务器,以及最新版本的 vsFTPd。
我的用户example.com有其主文件夹设置上/var/www/example.com,
我在里面创建了一个 public_html 文件夹并赋予777它权限,并删除了家庭用户文件夹的写入权限。一切正常,但是:
我通过 FTP(使用 SmartFTP)上传的每个文件的 chmod 都为 0。
我vsftpd.conf只有一行相关:
local_umask=022.
Run Code Online (Sandbox Code Playgroud)
我尝试更改为:
file_open_mode=777
local_umask=002
Run Code Online (Sandbox Code Playgroud)
所以我的文件会775在上传后立即得到。
但只有我上传的文件夹才能获得775权限。
我上传的文件得到 1411 permissions
有人可以帮我解决这个问题吗?
如何将创建的目录和文件的默认值设置为 775 ?我的理解是我需要修改VSFTPD上的umask,但是我怎么知道要改成什么?
我对 debian 很陌生,我正在尝试设置服务器。
我创建了一个只能访问他的文件夹/home/username(及其子目录)的用户。
现在我想将该用户用于我设置的网络服务器,并且我已经授予他访问权限,/var/www但我无法/var/www通过 sftp看到,我做了一个像这样的符号链接:
root@server:/home/username# ln -s /var/www www
root@server:/home/username# cd www
root@server:/home/username/www# chown username:username *
Run Code Online (Sandbox Code Playgroud)
现在,使用filezilla,我可以看到这样的www文件夹:

但是当我尝试打开它时,我得到了这个:

我做错了什么?
我想从 lftp 访问进度信息。目前,我正在使用 curl ,如下所示:
curl http://example.com/file -o file -L 2> download.log
Run Code Online (Sandbox Code Playgroud)
这会将 curl 的进度信息写入 download.log 文件,我可以通过拖尾获取实时进度。
但是同样的方法不适用于 lftp,无论是 stdout 还是 stderr。我最终得到一个空的 download.log 文件,直到传输完成。
lftp -e 'get http://example.com/file;quit' 2> download.log
lftp -e 'get http://example.com/file;quit' 1> download.log
Run Code Online (Sandbox Code Playgroud)
当我不重定向输出时,我会在屏幕上看到进度。当我重定向输出时,我不再在屏幕上看到进度,但在 download.log 中没有显示任何内容。文件传输完成后,我看到了最终结果,就像这样 - 但之前什么都没有:
97618627 bytes transferred in 104 seconds (913.1K/s)
Run Code Online (Sandbox Code Playgroud)
lftp 是否对其输出做了一些不寻常的事情 - 打印到屏幕而不打印到 stdout/stderr?除了重定向 stdout/stderr 之外,还有其他捕获屏幕输出的方法吗?
我正在使用 linux 的“ftp”命令向第 3 方提供商发送数据。这家公司声明我们需要“在您的 FTP 客户端中禁用被动模式”,我确认它在被动模式下不起作用。
但是,当我搜索 linux 命令时,我看到“-p”标志是“由于使用 PORT 传输模式的安全问题,现在所有客户端(ftp 和 pftp)的默认值。保留该标志仅是为了兼容性,并且具有没有效果了。”
那么如何禁用被动模式呢?而且,有那么糟糕吗?
我正在尝试在 CentOS 5.3 x64 上设置 vsftpd 服务器。我无法让任何本地用户登录工作。这是我的 vsftpd.conf:
local_enable=YES
write_enable=YES
pam_service_name=vsftpd
connect_from_port_20=YES
listen=YES
pam_service_name=vsftpd
xferlog_std_format=NO
log_ftp_protocol=YES
chroot_local_user=YES
Run Code Online (Sandbox Code Playgroud)
这是 vsftp.log 的输出:
Mon Sep 13 23:34:44 2010 [pid 19243] CONNECT: Client "10.0.1.138"
Mon Sep 13 23:34:44 2010 [pid 19243] FTP response: Client "10.0.1.138", "220 (vsFTPd 2.0.5)"
Mon Sep 13 23:34:44 2010 [pid 19243] FTP command: Client "10.0.1.138", "USER dwelch"
Mon Sep 13 23:34:44 2010 [pid 19243] [dwelch] FTP response: Client "10.0.1.138", "331 Please specify the password."
Mon Sep 13 23:34:44 2010 [pid …Run Code Online (Sandbox Code Playgroud) 最近我在 SFTP 服务器上遇到磁盘空间不足的问题,我意识到我不知道如何检查剩余多少甚至总数。
有谁知道如何通过像 FileZilla 这样的应用程序来做到这一点,或者可能有一个可以用于此目的的命令?
请注意,服务器托管在第三方,我希望有一种方法可以在不经过它们的情况下回答这个问题。
更新:
我尝试使用 putty 和 cygwin ssh 通过 shell 进行连接。当 cygwin 给我以下错误消息时,Putty 默默地失败了:
$ ssh [user]@[host] -i "[priv.key]"
Last login: Wed Aug 17 12:54:46 2011 from 195.204.103.176
Could not chdir to home directory /local00/ftproot/[user]: No such file or directory
/usr/local/sbin/scponlyc: No such file or directory
Connection to [host] closed.
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?