免费资源网 – https://freexyz.cn/
vsftpd(very secure ftp daemon,非常安全的FTP守护进程)文件传输协议
主动模式:FTP服务器主动向客户端发起连接请求
被动模式:FTP服务器等待客户端发起连接请求(FTP默认工作模式)
当前环境为Centos7.5.1804
演示为本地用户登录安装教程
安装依赖
[root@master ~]# yum -y install wget gcc gcc-c++ make tcp_wrappers-devel openssl-devel libcap-devel下载软件包并解压
[root@master ~]# wget https://security.appspot.com/downloads/vsftpd-3.0.3.tar.gz [root@master ~]# tar xvf vsftpd-3.0.3.tar.gz [root@master ~]# cd vsftpd-3.0.3/修改配置文件并编译
[root@master vsftpd-3.0.3]# sed -i s/^#undef/#define/g builddefs.h #ifndef VSF_BUILDDEFS_H #define VSF_BUILDDEFS_H #defineVSF_BUILD_TCPWRAPPERS //允许使用TCP Wrappers(默认是undef) #define VSF_BUILD_PAM //允许使用PAM认证 #define VSF_BUILD_SSL //允许使用SSL(默认是undef) #endif/* VSF_BUILDDEFS_H */ [root@master vsftpd-3.0.3]# make && make install拷贝配置文件
#拷贝配置文件 [root@master vsftpd-3.0.3]# cp vsftpd.conf /etc/ 拷贝身份认证模块 [root@master vsftpd-3.0.3]# cp RedHat/vsftpd.pam /etc/pam.d/vsftpd防火墙开放端口
[root@master ~]# firewall-cmd –zone=public –add-port=21-20/tcp –permanentsuccess [root@master ~]# firewall-cmd –reload success启动服务
[root@master ~]# vsftpd以下为vsftpd配置文件部分内容:
#####匿名用户配置!##### # 是否允许匿名登录FTP服务? 默认情况下允许注释 anonymous_enable=NO # 如果设为YES,将允许匿名用户使用安全的SSL连接。 #allow_anon_ssl=NO #如果设为YES,将允许匿名用户在特定条件下创建新目录。选项 write_enable 需被激活 #anon_mkdir_write_enable=NO #如果设置为YES,将允许匿名用户执行写操作,除了上传和创建目录(例如删除和重命名)。 #anon_other_write_enable=NO #如果设置为YES,将允许匿名用户在特定条件下上传文件。选项 write_enable 需被激活 #anon_upload_enable=NO #启用后,匿名用户将只能下载以下文件:可读取的。这是承认ftp用户可能拥有文件,特别是在存在上传内容的情况下。 #anon_world_readable_only=YES #如果激活则所有匿名登录均被强制使用安全SSL连接以便在数据连接上发送和接收数据。 #force_anon_data_ssl=NO # 如果激活则所有匿名登录均被强制使用SSL连接才能发送密码 #force_anon_logins_ssl=NO #启用后可以防止vsftpd请求输入匿名密码,将直接登录 no_anon_password=NO #####!匿名用户配置##### #####Ascii配置!##### #启用后将在上传时接受ASCII模式的数据传输。 #ascii_upload_enable=NO # 启用后将在下载时接受ASCII模式的数据传输。 #ascii_download_enable=NO #####!Ascii配置##### # 启用后,将启用称为“异步ABOR”的特殊FTP命令。 #async_abor_enable=NO #此选项仅针对vsftpd的非PAM版本有效。如果禁用,vsftpd不会爱/etc/shells种检查本地登录的有效用户shell. #check_shell=YES # 启用后允许使用SITE CHMOD命令。这仅适用于给本地用户,匿名用户永远不会使用SITE CHMOD。 #chmod_enable=YES # 如果启用,所有匿名上传的文件的所有权都会更改给指定用户。依赖:chown_username #chown_uploads=NO #chown_username=whoever #如果为true 将OpenSSL连接诊断信息转储道日志文件中 #debug_ssl=NO # 如果为true 则删除任何失败的上传文件 #delete_fAIled_uploads=NO #如果激活则可以提供匿名密码电子邮箱相应列表导致登录被拒绝 #deny_email_enable=NO #banned_email_file=/etc/vsftpd.banned_emails # 您可以完全自定义登录标题字符串: #ftpd_banner=Welcome to blah FTP service. #####设置权限!##### #如果设置为NO,则所有目录列表命令都将授予拒绝权限。 #dirlist_enable=YES #如果设置为NO,则所有下载请求都将拒绝收取权限。 #download_enable=YES #如果启用将并行生成两个日志文件,/var/log/xferlog和/var/log/vsftpd.log #dual_log_enable=NO # 如果激活则所有非匿名登录都将强制使用SSL连接才能进行数据传输。 force_local_data_ssl=YES #如果激活则所有非匿名登录都将强制使用SSL连接才能进行数据传输。 force_local_logins_ssl=YES #如果启用则所有非匿名登录均被分类为访客登录。 #guest_enable=NO # 如果启用目录列表中所有用户和组信息将显示为ftp。 #hide_ids=YES #启用后所有上传操作将对上传文件进行写锁定。所有下载将对下载文件进行共享读取锁定 #lock_upload_files=YES #启用后将记录所有ftp请求和响应,并提供以下选项: xferlog_std_format #log_ftp_protocol=NO #启用后将允许使用“ls -R”。允许ls -R将浪费很多资源 #ls_recurse_enable=NO #####!设置权限##### #####标准配置!##### # 启用后,vsftpd以“侦听”模式启动,vsftpd将在后台运行进程 background=YES # 取消注释以允许本地用户登录。 local_enable=YES #取消注释此选项可启用任何形式的FTP写命令。 write_enable=YES # 本地用户的默认umask为077。您可能希望将其更改为022, local_umask=022 # 激活目录消息-当远程用户 #进入某个目录。 #dirmessage_enable=YES # 激活上载/下载的日志记录。 #xferlog_enable=YES # 确保端口传输连接源自端口20 (ftp数据)。connect_from_port_20=YES# 如果愿意,您可以覆盖日志文件所在的位置。显示默认值下面。 #xferlog_file=/var/log/vsftpd.log #如果需要,可以将日志文件设置为标准ftpd xferlog格式。 # 请注意,在这种情况下,默认日志文件位置为/var/log/xferlog. # xferlog_std_format=YES # 您可以更改默认值以使空闲会话超时。idle_session_timeout=600# 您可以更改默认值以使数据连接超时。 data_connection_timeout=120 # 建议您在系统上定义一个唯一的用户, # ftp服务器可以用作完全隔离且没有特权的用户。 #nopriv_user=ftpsecure #secure_chroot_dir= / # 如果设置为YES,本地用户将被放置在chroot目录中登录后的主目录 chroot_local_user=YES #如果激活则可以提供放置在chroot在登陆时进入其主目录。如果chroot_local_user设为YES,则不同。这种情况下,列表变为不会放在chroot监听的用户列表。默认情况下包含此列表的文件是/etc/vsftpd.chroot_list,你可以使用chroot_list_file进行设置 chroot_list_enable=YES # 设置监听用户列表 #chroot_list_file=/etc/vsftpd.chroot_list allow_writeable_chroot=YES # 启用ipv4方式 listen=YES # 启用ipv6方式 #listen_ipv6=YES #####!标准配置#####验证
Make时遇到的报错:tcpwrap.c:16:20: fatal error: tcpd.h: No such file or directory #include <tcpd.h> ^ compilation terminated. make: *** [tcpwrap.o] Error 1解决方法:yum -y install tcp_wrappers-devel
/usr/bin/ld: cannot find -lcap collect2: error: ld returned 1 exit status make: *** [vsftpd] Error 1解决方法:yum -y install libcap-devel
ssl.c:28:25: fatal error: openssl/err.h: No such file or directory #include <openssl/err.h>^ compilation terminated. make: *** [ssl.o] Error1解决方法: yum -y install openssl-devel
免费资源网 – https://freexyz.cn/
© 版权声明
THE END
暂无评论内容