linux安装FTP

2019/12/04 linux 共 2130 字,约 7 分钟

linux安装FTP

查看是否已经安装FTP

rpm -qa|grep vsftpd

1575421057191

出现如上图表示已经安装。

出现 程序“rpm”尚未安装。 您可以使用以下命令安装rpm:

apt install rpm

如果vsftpd没有信息,则表示没有安装。

安装FTP

yum install -y vsftpd

备份并修改配置文件

cd /etc/vsftpd/ 
cp vsftpd.conf vsftpd.conf.bak  //备份
vim vsftpd.conf //修改配置文件

修改内容

此时用usertest登陆系统ftp,是否可以访问?如果无法访问,说明我们的ftp做了限制。打开/etc/vsftpd/vsftpd.conf,查找userlist_enable、userlist_deny、userlist_file。如果 userlist_deny=NO:只允许userlist_file文件中的用户可访问ftp;如果 userlist_deny=YES:userlist_file文件中列举的用户不能通过ftp访问系统。userlist_enable是该功能的开 关。我们的系统配置如下:

  userlist_enable=YES   userlist_deny=NO   userlist_file=/etc/vsftpd/user_list   所以需要把用户加入到/etc/vsftpd/user_list文件中,每个用户一行。

配置文件说明

anonymous_enable=NO                    #不允许匿名用户登陆 
local_enable=YES                      #vsftpd所在系统的用户可以登录vsftpd 
write_enable=YES                      #允许使用任何可以修改文件系统的FTP的指令 
local_umask=002                        #匿名用户新增文件的umask数值 
anon_upload_enable=NO                  #匿名用户不可以上传文件 
anon_mkdir_write_enable=NO            #匿名用户不可以修改文件 
xferlog_enable=YES                    #启用一个日志文件,用于详细记录上传和下载。                
use_localtime=YES                      #使用本地时间而不是GMT 
vsftpd_log_file=/var/log/vsftpd.log    #vsftpd日志存放位置 
dual_log_enable=YES                    #用户登陆日志 
connect_from_port_20=YES              #开启20端口      
xferlog_file=/var/log/xferlog          #记录上传下载文件的日志 
xferlog_std_format=YES                #记录日志使用标准格式 
idle_session_timeout=600              #登陆之后超时时间60秒,登陆之后,一分钟不操作,就会断开连接。 
chroot_local_user=YES                  #用于指定用户列表文件中的用户,是否允许切换到上级目录      
listen=YES                            #开启监听 
pam_service_name=vsftpd.vu            #验证文件的名字 
userlist_enable=YES                    #允许由userlist_file指定文件中的用户登录FTP服务器                    
tcp_wrappers=YES                      #支持tcp_wrappers,限制访问(/etc/hosts.allow,/etc/hosts.deny) 
guest_enable=YES                      #起用虚拟用户 
guest_username=taokey                  #虚拟用户名 

#user_config_dir=/etc/vsftpd/vsftpuser  #虚拟用户配置文件路径 
local_root=/usr/local/ftpFiles #自定义ftp上传路径(注意文件夹权限)
pasv_min_port=35000  
pasv_max_port=45000 
pasv_enable=YES 
pasv_promiscuous=YES 
anon_other_write_enable=YES
userlist_deny=NO       #只允许userlist_file文件中的用户可访问ftp,为YES是表示名单内不允许访问
userlist_file=/etc/vsftpd/user_list   #指定名单位置

关闭并保存配置文件,重启vsftpd

service vsftpd restart  重启
service vsftpd start 启动

注意

如果指定home 用户目录下作为文件上传路径则需要

1. 查看SELinux设置
# getsebool -a | grep ftp
发现 ftpd_disable_trans –> off 或者 ftp_home_dir–>off

2. 使用setsebool命令开启
# setsebool ftpd_disable_trans 1 或者 # setsebool ftp_home_dir 1

3. 查看当前状态是否是on的状态
# getsebool -a|grep ftp
此时 ftpd_disable_trans –> on 或者 ftp_home_dir–>on

4. 最后重启 # service vsftpd restart

OK,问题解决了。

另外 setsebool 使用-P参数,无需每次开机都输入这个命令
# setsebool -P ftpd_disable_trans 1
或者
# setsebool -P ftp_home_dir 1

文档信息

Search

    Table of Contents