使用Pure-ftpd守护程序来提供ftp服务。 我已经修改了init脚本来运行不同IP的多个域,分开的DB和独立的WELCOME MSG。 daemon "$pure_launch_script /etc/pure-ftpd/dom1.conf –daemonize > /dev/null -F /etc/pure-ftpd/dom1.msg" daemon "$pure_launch_script /etc/pure-ftpd/dom2.conf –daemonize > /dev/null -F /etc/pure-ftpd/dom2.msg" daemon "$pure_launch_script /etc/pure-ftpd/dom3.conf –daemonize > /dev/null -F /etc/pure-ftpd/dom2.msg" 一切工作完美无瑕,没有错误。 但痛苦的屁股是我所服务的所有域都logging(详细)只有一个xfer.log文件。 调查和监测活动并不舒服。 我的系统使用rsyslog这是非常先进的…所以,我唯一的解决scheme,我看到的是过滤消息,但必须过滤专用于多个服务器中的每一个的接口的IP,不能在rsyslog中find这个filter。 唯一的select是从主机IP …极好的不工作在我的情况下,无法通过$ MSG过滤包含因为用户logging像user @ remoteip … 我现在是黑洞…如果有人有一个好主意,这将是伟大的。
我发现了一些最近版本的ProFTPd的变化 – 我使用Umask 0007删除“其他”的权限,但它保留我的SetGID目录标志 – 这正是我想要的。 在最近的版本(1.3.4)我的许可系统停止工作。 我无法说服ProFTPd在新创build的目录上设置SetGID标志。 在文档中,他们说创build目录的“基本模式”是0777, UMask只允许删除权限。 如何使SetGID位在新目录上,即权限2770? 谢谢。
我试图编写bash脚本文件从本地机器复制到FTP使用lftp 。 问题是,当有人input无法访问的mkdirpath或put ,则lftp返回: Access failed: 550 /: Device or resource busy 而我的Bash脚本卡住了,并没有终止。 如何在执行下一个命令之前检查是否可以访问资源? 这是我的代码的相关部分: OUTPUT=`lftp -u $USER,$PASS -p $PORT $HOST <<HEREDOCUMENT set ftp:ssl-allow no mkdir $FTP_DIR put $LOCAL_DIR/$LOCAL_FILE -o $FTP_DIR/$FTP_FILE bye HEREDOCUMENT`
我正在尝试设置vsftpd和我的用户。 我可以连接到我的用户的FTP,但我不能创build任何目录或文件。 我的网站文件夹将在那里:/ srv / www /域 的vsftpd.conf anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 chroot_local_user=YES 目录权限 drwxrwxr-x 4 root www-data 4096 Oct 5 20:58 www drwxrwxr-x 2 user_ftp www-data 4096 Oct 5 22:19 domain 用户组 user_ftp => www-data 这很奇怪,因为当域文件夹有: 755权限:我无法连接到我的FTP帐户(500 OOPS:vsftpd:拒绝使用chroot()内的可写根目录运行),但我可以添加文件和文件夹(如果我更改了权限,当我login) 575权限:我可以连接,但不能编辑/删除/添加文件和文件夹 我做错了什么:)?
在Centos6.5上有一个FTP服务器(proftpd),Auth机器是AUTH_FILE,默认ROOT是/ var / ftp所有用户应该把文件放入这个目录,但是只有2个用户应该得到或列出这个文件。 是否有可能拒绝一些用户的一些FTP命令? 我的proftpdconfiguration如下所示: DefaultRoot /var/ftp/ AuthPAMConfig proftpd AuthOrder mod_auth_file.c mod_auth_unix.c RequireValidShell off AuthUserFile /etc/proftpd/ftpd.passwd AuthGroupFile /etc/proftpd/ftpd.group AuthPAM off RequireValidShell off /etc/proftpd/ftpd.group的内容是: ftp_group:x:50:user1 用户文件/etc/proftpd/ftpd.passwd看起来像: user1:$1$somesaltblablablablablablablabd:9999:9999::/var/ftp:/bin/false user2:$1$somesaltblablablablablablablabd:9999:9999::/var/ftp:/bin/false user3:$1$somesaltblablablablablablablabd:9999:9999::/var/ftp:/bin/false User1应该是FTP服务器上无法获取或列出文件的用户。 可能吗?
在Windows Server 2012中,使用PoweShell ,我通过ftp连接到远程设备,并运行get来检索文件。 该过程没有问题,但文件不会保存到我的本地计算机上。 该命令返回Operation Complete ,几秒钟后连接closures。 Operation CompleteConnection closed by remote host. ftp> 在目标位置,在进程开始时会创build大小为0的临时文件,并且该文件保持不变。 Tmp6A94.tmp 我试图打开防火墙按照如何为被动模式FTP服务器configurationWindows防火墙 netsh advfirewall firewall add rule name=”FTP Service” dir=in protocol=TCP enable=yes action=allow profile=any service=ftpsvc localport=any netsh advfirewall set global StatefulFTP disable 我错过了什么? 编辑1 我已经testing了另外一个WS2012和WS2012R2上的ftp行为,两者并没有相同的问题。 他们都没有防火墙的FTP被动模式。 我想知道是否可能有一些其他的防火墙规则,使ftp传输。 编辑2 这是我用来通过ftp从远程设备检索文件的PowerShell脚本: function getFTPFile([String]$fileName) { $ftpUser = "user" $ftpPassword = "password" $ftpServer […]
我有一个脚本,它不断监视一个FTP Dropbox目录,并在进入时处理新文件。脚本在每个文件上运行lsof ,然后再尝试处理它以确定文件是否仍在传输(某些文件很大,需要一段时间来转移),以避免处理不完整的文件。 除了这个特定的FTP客户端之外,一切工作都正常。 出于某种原因,当这个客户端上传一个文件到FTP服务器时,在文件上运行lsof什么也不返回。 我通过运行watch -n0.1 'lsof /path/to/file.txt' ,然后使用两个不同的FTP客户端上传'file.txt'到服务器来testing这个。 当用Cyberduck上传时,lsof返回有关打开文件的数据,当使用其他FTP客户端时,lsof不返回任何内容。 我不明白怎么可能(和FWIW,我用fuser命令得到相同的结果)。 我也正在运行watch -n0.1 'ls -l /path/to/file' ,可以看到客户watch -n0.1 'ls -l /path/to/file'在传输的文件大小,所以我知道客户watch -n0.1 'ls -l /path/to/file' 在写入文件。 我知道有解决方法可以解决我的问题,但是我更关心的是,如果这个FTP客户端可以写入一个文件,而不关心系统,那么这个文件就不会被打开。 和想法? 我在Ubuntu Server 12.04 LTS上运行vsftp 更新: 事实certificate,当我早些时候使用Cyberduck进行testing时,我使用SFTP连接到FTP服务器,而不是FTP。 当我使用FTP上传一个带有Cyberduck的文件时,我遇到了同样的问题 – file upload,但在lsof没有任何显示。 我还使用Debian中的标准FTP客户端使用PUT和APPEND上传文件 – 同样的事情。 它看起来像所有的FTP上传(不pipe客户端)写入其各自的文件,而不用打开文件就系统而言。 我在另一个FTP服务器上testing了这个场景,并且所有的东西都按预期工作 – 当文件被上传的时候,它们显示为在lsof中打开。 所以,我的FTP服务器的具体configuration有问题。 我怀疑它与lsof和/或vsftpd的版本有关。 它们是旧版本,分别是4.81和2.3.2。
我无法计算出源端口和目的端口来放置端口转发规则,以允许外部FTP客户端连接到绿色networking上的vsftpd文件服务器。 我正在虚拟机上工作,客户端到服务器的连接和文件传输是好的,如果放在同一个内部networking,但如果服务器是在防火墙后,连接,但目录列表不成功。 如果我使用命令行程序ftp,则会出现消息425 Failed to establish connection。 尽pipe我已经在vsfpd中分别指定了pasv_min_port和pasv_max_port分别为40000和40100,wireshark分析表明客户端没有这个范围的任何端口! 在服务器防火墙上,我创build了一个端口转发规则,允许从40000:40100端口范围的通信,即源端口,目标端口是21。
在Ubuntu服务器上用proftpd安装了Webmin,现在我可以连接到服务器,并用我的ftp用户名和密码login,但是当我尝试传输一个文件时,小文件很容易上传,但是较大的文件卡住并超时。 即使是200 KB的图片也不会上传。 这里是我的proftpdconfiguration文件: # # /etc/proftpd/proftpd.conf — This is a basic ProFTPD configuration file. # To really apply changes, reload proftpd after modifications, if # it runs in daemon mode. It is not required in inetd/xinetd mode. # # Includes DSO modules Include /etc/proftpd/modules.conf # Set off to disable IPv6 support which is annoying […]
我有一个Ubuntu 14.04服务器,使用apt-get安装vsftpd和pam_script。 我已经configurationvsftpd使用pam_script进行虚拟用户身份validation,我的/etc/pam.d/vsftpd文件如下所示: auth sufficient pam_script.so account required pam_permit.so pam_script_auth脚本非常简单: #!/bin/bash echo "$PAM_USER" >> /home/me/pam_script.log if [ "$PAM_USER" == "asdf" ]; then exit 0 fi exit 1 我已经确认这个脚本是正确使用的(每次我尝试login到vsftpd时都会logging用户名)。 理论上这应该允许访问asdf用户而不pipe密码如何,并且不允许其他人使用。 但是,每次尝试使用不同的用户名时,vsftpd都会冻结。 我这样testing: $ ftp localhost Connected to **** 220 (vsFTPd 3.0.2) Name (****:edziubudzik): [I type "asdf2"] 331 Please specify the password. Password: 提供密码后没有任何反应,vsftpd冻结 – 它不接受任何其他连接,直到我重新启动它。 /var/log/vsftpd.log只注册来自IP地址的连接( […]