Linux上VSFTP的安装和配置
Linux下VSFTP的安装和配置
1.下载vsftp源代码
地址是:
ftp://vsftpd.beasts.org/users/cevans/
然后解压缩
tar -xvzf vsftpd-2.3.2.tar.gz
cd vsftpd-2.3.2
make
出现错误:
执行make编译是遇到问题
/lib/libpam.so.0: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
make: *** [vsftpd] Error 1
参考http://www.chinaunix.net/jh/15/760675.html 描述
also hit this - the problem is that the lib finding script vsf_findlibs.sh returns
e.g. /lib/libpam.so.0; however if you're on a x86_64 machine, for example, you need /lib64/libpam.so.0. Fixing this up sorted things out for me.
修改vi vsf_findlibs.sh内容为 locate_library /lib64/libpam.so.0 && echo "/lib/libpam.so.0";
/lib/libcap.so.1: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
make: *** [vsftpd] Error 1
同样修改vi vsf_findlibs.sh内容为
# Look for libcap (capabilities)
if locate_library /lib64/libcap.so.1; then
echo "/lib64/libcap.so.1";
else
locate_library /usr/lib64/libcap.so && echo "-lcap";
locate_library /lib64/libcap.so && echo "-lcap";
fi
再次执行make
3.编译结束执行程序的初步配置,便于后续的执行
[root@gateway vsftpd-2.1.0]# ls -l vsftp
vsftpd vsftpd.8 vsftpd.conf
vsftpd needs the (empty) directory /usr/share/empty in the default
configuration. Add this directory in case it does not already exist. e.g.:
[root@localhost root]# mkdir /usr/share/empty/
mkdir: cannot create directory `/usr/share/empty': File exists
# make install
if [ -x /usr/local/sbin ]; then \
install -m 755 vsftpd /usr/local/sbin/vsftpd; \
else \
install -m 755 vsftpd /usr/sbin/vsftpd; fi
if [ -x /usr/local/man ]; then \
install -m 644 vsftpd.8 /usr/local/man/man8/vsftpd.8; \
install -m 644 vsftpd.conf.5 /usr/local/man/man5/vsftpd.conf.5; \
elif [ -x /usr/share/man ]; then \
install -m 644 vsftpd.8 /usr/share/man/man8/vsftpd.8; \
install -m 644 vsftpd.conf.5 /usr/share/man/man5/vsftpd.conf.5; \
else \
install -m 644 vsftpd.8 /usr/man/man8/vsftpd.8; \
install -m 644 vsftpd.conf.5 /usr/man/man5/vsftpd.conf.5; fi
if [ -x /etc/xinetd.d ]; then \
install -m 644 xinetd.d/vsftpd /etc/xinetd.d/vsftpd; fi
cp vsftpd /usr/local/sbin/
cp vsftpd.conf.5 /usr/local/share/man/man5
cp vsftpd.8 /usr/local/share/man/man8
cp vsftpd.conf /etc/vsftpd.conf
修改vsftpd.conf,进行FTP相关的设置
1.下载vsftp源代码
地址是:
ftp://vsftpd.beasts.org/users/cevans/
然后解压缩
tar -xvzf vsftpd-2.3.2.tar.gz
cd vsftpd-2.3.2
make
出现错误:
执行make编译是遇到问题
/lib/libpam.so.0: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
make: *** [vsftpd] Error 1
参考http://www.chinaunix.net/jh/15/760675.html 描述
also hit this - the problem is that the lib finding script vsf_findlibs.sh returns
e.g. /lib/libpam.so.0; however if you're on a x86_64 machine, for example, you need /lib64/libpam.so.0. Fixing this up sorted things out for me.
修改vi vsf_findlibs.sh内容为 locate_library /lib64/libpam.so.0 && echo "/lib/libpam.so.0";
/lib/libcap.so.1: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
make: *** [vsftpd] Error 1
同样修改vi vsf_findlibs.sh内容为
# Look for libcap (capabilities)
if locate_library /lib64/libcap.so.1; then
echo "/lib64/libcap.so.1";
else
locate_library /usr/lib64/libcap.so && echo "-lcap";
locate_library /lib64/libcap.so && echo "-lcap";
fi
再次执行make
3.编译结束执行程序的初步配置,便于后续的执行
[root@gateway vsftpd-2.1.0]# ls -l vsftp
vsftpd vsftpd.8 vsftpd.conf
vsftpd needs the (empty) directory /usr/share/empty in the default
configuration. Add this directory in case it does not already exist. e.g.:
[root@localhost root]# mkdir /usr/share/empty/
mkdir: cannot create directory `/usr/share/empty': File exists
# make install
if [ -x /usr/local/sbin ]; then \
install -m 755 vsftpd /usr/local/sbin/vsftpd; \
else \
install -m 755 vsftpd /usr/sbin/vsftpd; fi
if [ -x /usr/local/man ]; then \
install -m 644 vsftpd.8 /usr/local/man/man8/vsftpd.8; \
install -m 644 vsftpd.conf.5 /usr/local/man/man5/vsftpd.conf.5; \
elif [ -x /usr/share/man ]; then \
install -m 644 vsftpd.8 /usr/share/man/man8/vsftpd.8; \
install -m 644 vsftpd.conf.5 /usr/share/man/man5/vsftpd.conf.5; \
else \
install -m 644 vsftpd.8 /usr/man/man8/vsftpd.8; \
install -m 644 vsftpd.conf.5 /usr/man/man5/vsftpd.conf.5; fi
if [ -x /etc/xinetd.d ]; then \
install -m 644 xinetd.d/vsftpd /etc/xinetd.d/vsftpd; fi
cp vsftpd /usr/local/sbin/
cp vsftpd.conf.5 /usr/local/share/man/man5
cp vsftpd.8 /usr/local/share/man/man8
cp vsftpd.conf /etc/vsftpd.conf
修改vsftpd.conf,进行FTP相关的设置