linux/centos7 操作系统部署ftp服务器方法总结

准备工作:

1、安装服务软件包:yum install vsftpd –y  , rpm -qa | grep vsftpd 查看系统是否安装了ftp, rpm -e vsftpd 即可卸载ftp

2、启动systemctl start vsftpd ;

开机自动启动:systemctl enable vsftpd

3、查看端口是否占用:        netstat -nltp | grep 21

Centos 7搭建本地ftp服务器

        

1. 创建ftp服务器的主要过程

2 . ftp 服务相关主要目录文件介绍

         vsftpd 的配置目录为 /etc/vsftpd,包含下列的配置文件:

                  vsftpd.conf 为主要配置文件(全局变量)

                  ftpusers 配置禁止访问 FTP 服务器的用户列表,里面存放禁止登陆的账号

                  user_list 配置用户访问控制,里面存放允许登陆的账号,一行一个账号名。

/etc/vsftpd /vuser.list #存放虚拟用户名和密码(单行用户名,双行密码),明文,最后删除

/etc/vsftpd/vuser.db #虚拟库(认证)文件,哈希vuser.list后生成的加密文件

/etc/vsftpd/vsftpd_user_conf #虚拟用户配置文件目录,可针对具体用户配置相关ftp权限(局部变量)

/etc/vsftpd/vsftpd_user_conf/iscs #虚拟用户配置文件(权限)

/etc/pam.d/vsftpd.vu 建立用于支持虚拟用户的PAM文件。

---------------------

ftp服务器搭建过程

1)创建操作系统用户/设置禁止登陆系统

useradd -d /home/ftp -s/sbin/nologin vftp (vsftpd配置文件配置指定该操作系统用户

2)建立虚拟用户

2.1:        /etc/vsftpd /vuser.list #存放虚拟用户名和密码

        

         2.2:        生成虚虚拟库认证文件: db_load -T -t hash -f /etc/vsftpd /vuser.list /etc/vsftpd/vuser.db

                            只对root读写:chmod 600 /etc/vsftpd/vuser.db   

         2.3:        配置PAM文件,路径/etc/pam.d/  (备注pam_userdb.so 的目录在 /usr/lib64/security/pam_userdb.so)      

         2.4:        /etc/vsftpd增加虚拟用户配置文件:   mkdir /etc/vsftpd/vsftpd_user_conf

                           增加虚拟用户配置文件,与虚拟用户同名: vi /etc/vsftpd/vsftpd_user_conf/iscs

         2.4:        修改配置文件vsftpd.conf

#浏览FTP目录和下载 anon_world_readable_only=NO

#允许上传 anon_upload_enable=YES

#允许建立和删除目录 anon_mkdir_write_enable=YES

#允许改名和删除文件 anon_other_write_enable=YES

#指定虚拟用户在系统用户下面的路径,限制虚拟用户的家目录,虚拟用户登录后的主目录。

 local_root=/home/ftpuser

6、编辑 /etc/vsftpd/vsftpd.conf

         #不允许匿名登录(默认YES)

anonymous_enable=NO

#允许本地登录,可以确保任何非匿名用户可以登录工作,包括虚拟用户(默认NO) local_enable=YES

#启用任何形式 FTP 写入命令(默认NO)

write_enable=YES

#本地用户创建文件的默认权限(默认077)

 local_umask=022

#匿名用户在特定环境下允许上传文件。为了让它生效,选项write_enable必须激活(write_enable是前提), 匿名ftp用户必须要求上传位置的写的权限。这个设置也要求虚拟用户具有上传功能, 在默认情况,虚拟用户被当做匿名用户对待(最大限制)权限。(默认NO) When SELinux is enforcing check for SE bool allow_ftpd_anon_write, allow_ftpd_full_access 。

#anon_upload_enable=YES (可以在用户的局部变量内定义,不必在全局变量内)

#匿名 FTP 用户能够创建新目录(默认NO)

#anon_mkdir_write_enable=YES

#FTP 用户但第一次进入一个新的目录将会展示消息。在默认情况下,目录扫描.message文件。但是可以通过message_file重写文件的路径(默认NO)

dirmessage_enable=YES

 #录上传下载日志,默认放置到/var/log/vsftpd.log。通过设置属性 vsftp_log_file 重写(默认NO)

xferlog_enable=YES

#确保 PORT 传输连接来自端口20(默认NO)

connect_from_port_20=YES

#可以安排上传的匿名文件由其他用户拥有,chown_username进行设置(默认NO) #chown_uploads=YES

#chown_username=whoever

#日志文件位置,可以覆盖

xferlog_file=/var/log/xferlog

#传输日志文件的写的格式是标准的xferlog格式(默认NO)

xferlog_std_format=YES

#超时设置,客户端两个命令之间的最大时间(默认300秒)

idle_session_timeout=600

#数据传输过程中暂停/延迟最长时间超时(默认300秒)

data_connection_timeout=120

#定义一个唯一的用户,ftp服务器可以将其用作完全隔离且无特权的用户 #nopriv_user=ftpsecure

 #服务器将识别异步ABOR请求。不推荐用于安全性(代码非常重要)。但是,不启用它可能会混淆较旧的FTP客户端(默认NO)

#async_abor_enable=YES

#ASCII模式数据传输数据上传(默认NO)

#ascii_upload_enable=YES

#ASCII模式数据传输数据下载(默认NO)

#ascii_download_enable=YES

#可自定义登录欢迎语

#ftpd_banner=Welcome to blah FTP service.

#指定不允许的匿名电子邮件地址的文件。显然对于打击某些DoS攻击非常有用(默认NO)

#deny_email_enable=YES

 #可自定义匿名电子邮件地址

#banned_email_file=/etc/vsftpd/banned_emails

#登录之后本地用户(默认)会被限制到其根目录下(默认NO)

chroot_local_user=YES

#提供一个本地用户列表,然后改变他们根目录的位置(登录进来的时候的目录)(默认NO)

#chroot_list_enable=YES

#可自定义本地用户列表位置

#chroot_list_file=/etc/vsftpd/chroot_list

#允许用户使用"ls -R"命令,这个有个很小的风险。因为一个ls -R如果是在大型站点将会消耗大量资源(默认NO)

 #ls_recurse_enable=YES

#vsftpd将以独立模式运行并侦听IPv4套接字,与 listen_ipv6 互斥(默认YES) listen=NO

#监听IPv6套接字, listen 互斥(默认NO

listen_ipv6=YES

pam_service_name=vsftpd.vu

userlist_enable=YES

tcp_wrappers=YES

 #本地用户登录目录

local_root=/home

#匿名用户登录目录

anon_root=/home/ftpuser

#解决异常 500 OOPS: vsftpd: refusing to run with writable root inside chroot() allow_writeable_chroot=YES

#开启虚拟用户

guest_enable=YES

#虚拟用户映射本地用户

guest_username=ftpuser

#虚拟账户配置位置

user_config_dir=/etc/vsftpd/vsftpd_user_conf

#随机端口

pasv_min_port=30000

pasv_max_port=30100

#与本地时间一致 use_localtime=YES

7、重启FTP服务systemctl restart vsftpd

 

关于ftp所有配置项的详细解释

 

-----关于匿名用户:

    anonymous_enable=YES:是否允许匿名访问;

    anon_umask=022:设置匿名用户所上传文件的默认权限掩码值(反掩码);

    anon_root=/var/ftp:设置匿名用户的FTP根目录;

    anon_upload_enable=YES;是否允许匿名用户上传文件;

    anon_mkdir_write_enable=YES:是否允许匿名用户由创建目录的写入权限;

    anon_other_write_enable=YES:是否允许匿名用户有其他写入权限,如对文件改名、覆盖及删除文件等;

-----关于本地用户:

    local_enable=YES:是否允许本地用户访问;

    local_umask=022:设置本地用户所上传文件的默认权限掩码值(反掩码);

    local_root=/var/ftp:设置本地用户的FTP根目录(默认为用户的宿主目录);

    chroot_local_user=YES:是否将FTP本地用户禁锢在宿主目录中;

    allow_writeable_chroot=YES:允许被限制用户的主目录具有写权限;

    local_max_rate=0:限制本地用户的最大传输速率(0为无限制),单位为字节/秒(B/s)

-----关于虚拟用户的配置项:

    guest_username=test:指定映射的系统用户名称;

    guest_enable=YES:是否启用虚拟用户;

    allow_writeable_chroot=允许被限制用户的主目录具有写权限(此项必须写入,否则可能会报错)

    anon_world_readable_only=NO:允许用户下载目录内容

    anon_other_write_enable=YES:允许匿名用户有其他写入权限,如重命名、覆盖及删除文件等;

    user_config_dir=/etc/vsftpd/vusers_dir:指定虚拟用户独立的配置文件目录;

-----关于全局配置:

 

    listen=NO: 是否以独立运行的方式监听服务;

    listen_address=0.0.0.0:设置监听f t p服务的ip地址;

    listen_port=21:设置监听ftp服务的端口号;

    write_enable=YES:启用任何形式的写入权限,(如上传、删除文件等)都需要开启此项;

    download_enable=YES:是否允许下载文件(建立仅限于浏览、上传的FTP服务器时,可将此项设置为“NO”);

    dirmessage_enable=YES:用户切换进入目录时显示 “.message”文件(如果已存在)的内容;

    xferlog_enable=YES:启用xferlog日志,默认记录到 /var/log/xferlog;

    xferlog_std_format=YES:启用标准的xferlog日志格式,若禁用此项,将使用vsftpd自己的日志格式;

    connect_from_port_20=YES:允许服务器主动模式(从20端口建立数据连接);

    pasv_enable=NO:禁止被动模式连接;默认允许被动模式连接;

    pasv_max_port=24600:设置用于被动模式的服务器最大端口号;

    pasv_min_port=24500:设置用于被动模式的服务器最大端口号;

    pam_service_name=vsftpd.vu:设置用于用户认证的PAM文件位置(/etc/pam.d/目录中对应的文件名);

    userlist_enable=YES:是否启用userl_ist用户列表文件;

    userlist_deny=YES:是否禁用user_list列表文件中的用户账号;

    max_clients=0:最多允许多少个客户端同时连接(0为无限制);

    max_per_ip=0:对来自同一个ip地址的客户端,最多允许多少个并发连接(0为无限制);

    tcp_wrappers=YES:是否启用tcp_wrappers主机访问控制;

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值