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 to
crypt'
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 就可以了