FTP服务器搭建(Centos7)

时间:2024-04-16 13:00:14

1.1.1 查看是否安装vsftp

rpm -qa | grep vsftpd

1.1.2 如果没有安装:

yum -y install vsftpd
1.2.3 vsftpd.conf 配置文件
匿名权限控制
anonymous_enable=YES   #是否启用匿名用户
no_anon_password=YES   #匿名用户login时不询问口令
################服务器功能选项###############
xferlog_enable=YES    #开启日记功能
xferlog_std_format=YES   #使用标准格式
log_ftp_protocol=NO    #当xferlog_std_format关闭且本选项开启时,记录所有ftp请求和回复,当调试比较有用.
pasv_enable=YES    #允许使用pasv模式
pasv_promiscuous+NO    #关闭安全检查,小心呀.
port_enable=YES    #允许使用port模式
prot_promiscuous    #关闭安全检查
tcp_wrappers=YES    #开启tcp_wrappers支持
pam_service_name=vsftpd   #定义PAM 所使用的名称,预设为vsftpd。
nopriv_user=nobody    #当服务器运行于最底层时使用的用户名
pasv_address=(none)    #使vsftpd在pasv命令回复时跳转到指定的IP地址.(服务器联接跳转?)

#############用户连接选项#################

max_clients=100    #可接受的最大client数目
max_per_ip=5    #每个ip的最大client数目
connect_from_port_20=YES   #使用标准的20端口来连接ftp
listen_address=192.168.0.2   #绑定到某个IP,其它IP不能访问
listen_port=2121    #绑定到某个端口
ftp_data_port=2020    #数据传输端口
pasv_max_port=0    #pasv连接模式时可以使用port 范围的上界,0 表示任意。默认值为0。
pasv_min_port=0    #pasv连接模式时可以使用port 范围的下界,0 表示任意。默认值为0。


##############数据传输选项#################
anon_max_rate=51200  #匿名用户的传输比率(b/s)
local_max_rate=5120000  #本地用户的传输比率(b/s)

##############安全选项#################
Idle_session_timeout=600 #(用户会话空闲后10分钟)
Data_connection_timeout=120 #(将数据连接空闲2分钟断)
Accept_timeout=60  #(将客户端空闲1分钟后断)
Connect_timeout=60  #(中断1分钟后又重新连接)
Local_max_rate=50000  #(本地用户传输率50K)
Anon_max_rate=30000  # (匿名用户传输率30K)
Pasv_min_port=50000  # (将客户端的数据连接端口改在
Pasv_max_port=60000  #50000—60000之间)
Max_clients=200   #(FTP的最大连接数)
Max_per_ip=4   #(每IP的最大连接数)
Listen_port=5555  #(从5555端口进行数据连接)

FTP基本使用:

启动服务
systemctl start vsftpd.service
重启服务
systemctl restart vsftpd.service
重启服务
systemctl stop vsftpd.service
查看状态
service vsftpd status
验证vsftpd状态
systemctl list-dependencies vsftpd

建立基于虚拟用户的FTP服务器,并根据以下要求配置FTP服务器

  1. 创建用户sui, 密码28456049;
  2. 默认目录: /var/789, 有读写权限;
  3. 只能ftp不能telnet;
  4. 限制用户只能访问/var/789,不能访问其他路径
  5. 创建目录
    # mkdir /var/789
    chmod -R 777 /var/789
    
    
    # useradd sui
    # passwd 28456049
    
    
    //更改用户sui的主目录为/var/789
    usermod -d /var/789 sui
    //限定用户sui不能telnet,只能ftp
    usermod -s /sbin/nologin sui
    
    启动服务
    systemctl start vsftpd.service

    [案例] 建立基于虚拟用户的FTP服务器,并根据以下要求配置FTP服务器。
    (1)配置FTP匿名用户的主目录为/var/ftp/anon。下载带宽限制为100kB/s
    (2)建立一个名为abc,口令为xyz的FTP账户。下载带宽限制为500kB/s。
    (3)设置FTP服务器同时登录到FTP服务器的最大链接数为100;每个IP最大链接数为3;用户空闲时间超过限值为5分钟。 

  6. 创建目录
    # mkdir /var/ftp/anon
    
    # useradd abc
    # passwd abc
    在此提示密码过短,修改/etc/pam.d/system-auth文件,输入abc后在此输入,方法成功
    
    编辑配置文件
    vim /etc/vsftpd/vsftpd.conf
    
    #LOCAL用户
    anonymous_enable=YES
    anon_root=/var/ftp/anon
    anon_max_rate=100
    local_enable=YES
    local_max_rate=500
    max_clients=100
    max_per_ip=3
    connect_timeout=300
    
    下面是用虚拟用户来实现
    vim /etc/vsftpd/vuser
    内容如下
    tom
    123
    生成数据库文件
    db_load -T -t hash -f /etc/vsftpd/vuser /etc/vsftpd/vuser.db
    chmod 600 /etc/vsftpd/vuser.db
    vim /etc/pam.d/vsftpd
    
    注释掉原来的内容
    然后加入
    auth        required    pam_userdb.so   db=/etc/vsftpd/vuser
    account     required    pam_userdb.so   db=/etc/vsftpd/vuser
    最后编辑VSFTPD.CONF加入下面两句
    guest_enable=YES
    guest_username=abc