centos6 安装vsftpd

时间:2022-03-12 16:29:26

centos6 安装vsftpd
vsftpd一般选择yum安装,以下是安装和配置过程 如果是centos6想要安装的话一般是编译安装
1.安装

yum安装

yum install vsftpd
编译安装

手动安装依赖
yum install pam pam-devel -y
wget https://security.appspot.com/downloads/vsftpd-3.0.3.tar.gz

解压 && 进入
修改 vsf_findlibs.sh

step1、先备份一下:
cp vsf_findlibs.sh vsf_findlibs.sh.bak
step2、vi vsf_findlibs.sh
step3、输入:
step4、继续输入%s@\/lib\/@\/lib64\/@g
step5、回车就替换完了
step6、:wq! 保存退出

make && make install 安装完成

问题1.

在执行make命令时却出现了问题,具体如下:
sysdeputil.o: In function vsf_sysdep_check_auth': sysdeputil.c:(.text+0x109): undefined reference tocrypt'
sysdeputil.c:(.text+0x13a): undefined reference to `crypt'
collect2: ld 返回 1
make: *** [vsftpd] 错误 1

解决方法:

打开Makefile
vim Makefile
LIBS = ./vsf_findlibs.sh
末尾增加 -lcrypt 变成
LIBS = ./vsf_findlibs.sh -lcrypt

问题2
install: cannot create regular file /usr/local/man/man8/vsftpd.8': No such file or directory install: cannot create regular file/usr/local/man/man5/vsftpd.conf.5': No such file or directory
make: *** [install] Error 1
解决方法:
root@ubuntu:/home/linting/work/tools/vsftpd-3.0.2# mkdir /usr/local/man/man5
root@ubuntu:/home/linting/work/tools/vsftpd-3.0.2# mkdir /usr/local/man/man8

安装完成后
cp vsftpd.conf /etc/ //将默认配置文件考贝到/etc/
cp RedHat/vsftpd.pam /etc/pam.d/vsftpd //为了让vsftpd支持本地用户登录,我们将身份认证模块文件(PAM安全验证文件)拷贝到验证文件所在的目录。

使用xinted启动最好
2.配置

主要的配置文件在  /etc/vsftpd/

ftpusers     该文件用来指定那些用户不能访问ftp服务器。

user_list    该文件用来指示的默认账户在默认情况下也不能访问ftp

vsftpd.conf  vsftpd的主配置文件

anonymous_enable=NO              #禁止匿名
local_enable=YES                     #允许本地登录
write_enable=YES                     #允许写,如需上传,则必须
local_umask=027                      #将上传文件的权限设置为:777-local_umask
anon_upload_enable=YES            #允许虚拟用户和匿名用户上传
anon_other_write_enable=YES     #允许虚拟用户和匿名用户修改文件名和删除文件
dirmessage_enable=YES         
xferlog_enable=YES                   #打开日志记录
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log     #日志存放位置
xferlog_std_format=YES               #标准日志格式
idle_session_timeout=600             #空闲连接超时
data_connection_timeout=120
ftpd_banner=Welcome to ChinaRise FTP service       #欢迎信息
guest_enable=yes                     #允许虚拟用户
guest_username=vsftpdguest           #虚拟用户使用的系统账号
virtual_use_local_privs=YES          #虚拟用户拥有本地系统权限
chroot_local_user=YES           
chroot_list_enable=YES

以上两行将虚拟用户限制在其目录下,不能访问其他目录,或直接用  

chroot_local_user=YES                              
listen=yes                #监听/被动模式
listen_port=21            #监听端口
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list    #虚拟用户名单保存在文件/etc/vsftpd/vsftpd.chroot_list 中
user_config_dir=/etc/vsftpd/vsftpd_user_conf       #每个虚拟用户名的更加详细的配置保存在/etc/vsftpd/vsftpd_user_conf 中

按照具体需求去修改主配置文件
useradd -d /home/qfpay/test ftptest1   #设置ftptest1用户的家目录为/home/qfpay/test
passwd ftptest1      #设置密码
配置完成启动服务
service vsftpd start    
客户端进行访问:

ftp 192.168.1.1

会提示输入用户名密码
客服端执行命令(ls cd get )时候显示如下错误信息的时候
500 illegal port command
ftp: bind: Address already in use
服务器主动被动模式的问题,如果服务器开启了被动模式的话,在客户端 输入passive on 就可以了