linux vsftpd-3.0.2.tar.gz编译安装

时间: 2012-05-18  分类: Linux  收藏

#groupadd vsftpd
#useradd  vsftpftp -g vsftpd -d /data/www  -s /sbin/nologin
#passwd vsftpftp
    输入两次密码

#cd /usr/local/src
#wget http://fossies.org/linux/misc/vsftpd-3.0.2.tar.gz

#tar zxvf vsftpd-3.0.2.tar.gz
#mv vsftpd-3.0.2 /usr/local/webserver/vsftpd
#cd /usr/local/webserver/vsftpd
#mkdir /usr/local/man/man8
#mkdir /usr/local/man/man5
#make

            出错:

                     :/lib/libpam.so.0:couldnotread symbols: File in wrong format

                    collect2: ld returned 1 exitstatus
                     make: *** [vsftpd] Error1

            解决:

                 修改这个文件,将所有lib替换成lib64

                 [root@crm vsftpd-2.2.2]# vi vsf_findlibs.sh
                 :0,$ s@/lib/@/lib64/@g     ---->直接ctrl+shift+v复制回车即可

            出错:

                /usr/bin/ld: cannot find -lcap
                collect2: ld returned 1 exit status
                make: *** [vsftpd] Error 1

            解决:

                yum install -y libcap-devel libcap

#make install
#mv vsftpd.conf /etc/
#mkdir /etc/pam.d/ftp
#cp RedHat/vsftpd.pam /etc/pam.d/ftp
#vi /etc/vsftpd.conf
================================
    gg dG清空文件
    并输入以下内容,并保存
listen=YES
anonymous_enable=NO
use_localtime=YES
local_enable=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
local_umask=022
dirmessage_enable=NO
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=NO
idle_session_timeout=180
data_connection_timeout=120
ascii_upload_enable=YES
ascii_download_enable=YES
ftpd_banner=Welcome to FTP service.
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/ftpchroot
ls_recurse_enable=YES
pam_service_name=vsftpd
userlist_enable=YES
log_ftp_protocol=YES
pasv_max_port=40030
pasv_min_port=40000
max_clients=0
max_per_ip=0
dual_log_enable=YES
vsftpd_log_file=/var/log/vsftpd.log
use_localtime=YES
=====================

#vi /etc/vsftpd.user_list
=====================
        并输入以下内容,并保存
# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers
# for users that are denied.
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
=====================

#vi /etc/ftpchroot
=====================
        并输入以下内容,并保存
# Users that are not allowed to login via ftp
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
=====================

启动
#/usr/local/sbin/vsftpd &
    出现如[1] 18608,说明成功
    出错:
        500 OOPS: config file not owned by correct user, or not a file
        解决:
        #chown root:root /etc/vsftpd.conf
    出错:
        vsftpd: not configured for standalone, must be started from inetd
        解决:
        #service xinetd stop

    出错:
        500 OOPS: could not bind listening IPv4 socket
        解决:

        如果xinetd已关闭,查看是否是安装了其它ftp软件,如果是,更改vsftp端口
        # vi /etc/vsftpd.conf

        添加参数 listen_port=2121

            注意:登陆ftp时须设置端口号

 

 

登陆ftp,提示错误

        出错: 500 OOPS: vsftpd: refusing to run with writable root inside

        意思是ftp根目录必须不可写,这是2.3.5这个新版本增加的安全性设置,如果chroot_local_user=YES,就会有此提示

        如果不加chroot_local_user=YES,则用户可切换目录(甚至根目录),如果加上,则只有chroot_list以内的用户可切换目录

        解决办法: chmod a-w /data/www      #去掉ftp根目录的写权限,如果要建新站点,则进shell创建文件夹
开机自启动
#vi /etc/rc.local
    在里面加入/usr/local/sbin/vsftpd &

分享到:

评论

昵 称: