# FTP服务 1. 首先服务器需要安装ftp软件,查看是否已经安装ftp软件,如果看到有vsftpd的目录说明服务器已经安装了ftp软件。 ```bash which vsftpd /usr/sbin/vsftpd #没有则进行安装 #CentOS安装 yum -y install vsftpd #Ubuntu安装 sudo apt install vsftpd ``` 2. vsftpd配置 `/etc/vsftpd/vsftpd.conf` 是核心配置文件。 `/etc/vsftpd/ftpusers` 是黑名单文件,此文件里的用户不允许访问 FTP 服务器。 `/etc/vsftpd/user_list` 是白名单文件,是允许访问 FTP 服务器的用户列表。 `/etc/vsftpd/vsftpd_conf_migrate.sh` 是vsftpd操作的一些变量和设置。 ```bash #####配置文件/etc/vsftpd.conf sudo vim /etc/vsftpd.conf ######################################配置文件说明################### # 禁止匿名用户登录 anonymous_enable=NO # 允许系统用户登录 local_enable=YES # 启用可以修改文件的 FTP 命令 write_enable=YES # 本地用户创建文件的 umask 值 local_umask=022 # 允许为目录配置显示信息,显示每个目录下面的message_file文件的内容 dirmessage_enable=YES # 开启日记功能 xferlog_enable=YES # 使用标准的20端口来连接ftp connect_from_port_20=YES # 使用标准日志格式 xferlog_std_format=YES # 如果启动这项功能,则所有列在chroot_list_file之中的使用者不能更改根目录 chroot_list_enable=YES # 指定限制的用户文件 chroot_list_file=/etc/vsftpd/chroot_list # ftp服务器将处于独立启动模式 listen=YES # 设置一个本地用户登录后进入到的目录 local_root=/home/ftp # 设置PAM认证服务的配置文件名称,该文件保存在“/etc/pam.d/”目录下 pam_service_name=vsftpd # ftp将检查userlist_file设置文件中指定的用户是否可以访问vsftpd服务器 userlist_enable=YES # 只允许user_list文件中记录的ftp用户能登录vsftp服务,其他的ftp用户都不可以登录。 userlist_deny=NO # 定义限制/允许用户登录的文件 userlist_file=/etc/vsftpd/allowed_users # ftp服务器将使用tcp_wrappers作为主机访问控制模式 tcp_wrappers=YES # 连接ftp服务费使用的端口 listen_port=21 ``` 查看服务器状态 ```bash systemctl status vsftpd #或者service vsftpd status ``` 3. 启动ftp服务器,一般安装后会自动启动 ```bash systemctl start vsftpd ```