Archive for March, 2016

Linux挂载ftp服务器

Linux挂载ftp服务器需要用到一个名为fuse-curlftpfs的包正常情况下无法通过yum的方式获取此包因此需要先安装DAG repository

Centos5 64位 wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el5.rf.x86_64.rpm
Centos5 32位 wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el5.rf.i386.rpm
Centos6 64位 wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
Centos6 32位 wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.i686.rpm
然后是安装下载的rpm包

rpm -ivh rpmforge-release-0.5.3-1.el5.rf.x86_64.rpm
然后就可以通过yum的方式安装fuse-curlftpfs了

yum install fuse-curlftpfs -y
在Centos6上执行此命令可能会遇到 Requires: libcurl.so.3 的错误解决方法编辑 /etc/yum.repos.d/rpmforge.repo 文件 [rpmforge-extras] 项打开再执行 yum clean all 即可

接下来就可以挂载ftp了

写法1curlftpfs ftp://用户名:密码@ftp地址 挂载点 -o codepage=utf8
写法2curlftpfs ftp://ftp地址 挂载点 -o user=用户名:密码
Bodite pozorni:如果提示“fuse: failed to open /dev/fuse: Operation not permitted”说明你是在使用OpenVZ技术的Linux VPS的因为OpenVZ技术的缺陷性(所有小鸡共用母鸡的内核)导致无法使用curlftpfs命令请在Xen或者vmware技术中使用

开机自动挂载

echo “curlftpfs#用户名:密码@ftp地址 挂载点 fuse rw,allow_other,uid=0,gid=0 0 0” >> /etc/fstab

Komentarji

linux中下载ftp文件的几个方法

ena、最简单的方法: wget
下面的命令用来下载ftp服务器上指定目录的所有文件
[html] view plain copy print?
wget ftp://IP:PORT/*ftp-user=xxxftp-password=xxx -r
-r 参数表示递归下载
可以使用directory-prefix=/mypath/ 指定下载后存储路径;-nH选项可以不在本地创建服务器上的目录结构
另一个令人迷惑的选项是delete-after它并不是用来删除服务器上的已下载文件而是用来删除本机的
wget之所以是wget而不是wput它只能进行下载操作不支持对ftp服务器上的任何写操作比如删除
可以删除文件的方法:lftp
项目需求是下载ftp服务器上的指定文件夹取内的所有文件并于下载后删除wget不能满足要求于是改写出下面的脚本
mget命令可以下载多个文件,-E参数表示下载后删除服务器上的文件
[python] view plain copy print?
#!/bin/bash
#指定ftp服务器的ip
serverip=1.2.3.4
#指定ftp服务器的ftp用户
serveruser=root
#指定ftp服务器的ftp用户密码
serverpass=123456
#指定client主机本地下载文件存放的目录
localdir=./data
logfile=../log/ftp_download.log
#指定server主机的ftp目录
remotedir=./
#指定server主机的主机名
host=test_host
#切换到本地下载文件存放的目录
cd $localdir
#输入开始备份的信息
echo “Starting FTP Download on ” $host
#连接ftp服务器
/usr/bin/lftp << EOF open $serverip user $serveruser $serverpass #切换到server主机的ftp目录 echo "cd " $remotedir cd $remotedir #列出ftp服务器ftp目录中文件列表并存放到client中的$localdir中 ls . >> $logfile
#下载ftp服务器ftp目录中的所有文件
mget -E *.txt
#退出ftp服务器
bye
其他方法
系统中的ftp命令和强大的curl
curl支持FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET 和TFTP方便在自己的程序中调用同时支持cookie代理密码和证书验证非常强大

Komentarji

Disable SSLv2 on cPanel and Apache Ports

On this post we are going to show how to quickly patch a common PCI Vulnerability Alert that says something like this:
“The remote service appears to encrypt traffic using SSL protocol version 2?.

In Apache common ports 80 and 443, you need to modify the SSLCipherSuite directive in the httpd.conf or ssl.conf file.
An example would be editing the following lines to something like:

在whm路径

WHM > Apache Configuration > Global Configuration area

1.
SSLProtocol -ALL +SSLv3 +TLSv1
2.
SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:-LOW:-SSLv2:-EXP

After you have done this, if you see you are still getting PCI Compliance vulnerability emails regarding to this issue its probably that cPanel is still allowing SSLv2 on their ports.

To quickly disable SSL version 2 on cPanel ports: 2082, 2083, 2086, 2087, 2095, 2096. You will need to do the following:

edit /var/cpanel/cpanel.config and change nativessl=1 to nativessl=0

This will make cPanel to use sTunnel.

edit /usr/local/cpanel/etc/stunnel/default/stunnel.conf

and add:

1.
options = NO_SSLv2

just below the “Authentication stuff” tab.

After you have done all this you will need to restart cPanel:

1.
/etc/init.d/cpanel restart

Done!

How to quickly check this?

SSH to your server and type the following commands

1.
root@cPanel [~]# openssl s_client -ssl2 -connect localhost:2096
2.
root@cPanel [~]# openssl s_client -ssl2 -connect localhost:2083
3.
root@cPanel [~]# openssl s_client -ssl2 -connect localhost:2087
4.
root@cPanel [~]# openssl s_client -ssl2 -connect localhost:2086

If everything is fine you should receive something like this,

1.
root@cPanel [~]# openssl s_client -ssl2 -connect localhost:2096
2.
CONNECTED(00000003)
3.
write:errno=104

Komentarji