CentOS 6.9 上安装vsftpd-2.2.2

同系列文章链接

  1. CentOS 6.9 上安装JDK 8
  2. CentOS 6.9 上安装Tomcat 8
  3. CentOS 6.9 上安装Nginx 1.12.2
  4. CentOS 6.9 上安装Redis 4.0.8
  5. CentOS 6.9 上安装Mysql 5.6.39
  6. CentOS 6.9 上安装vsftpd-2.2.2
  7. CentOS 6.9 上安装RabbitMQ 3.7.7
  8. CentOS 6.9 上安装activemq-5.15.4
  9. CentOS 6.9 上安装zookeeper-3.4.12

1、下载并安装vsftpd

# 方式1:yum 安装
yum -y install vsftpd

# 方式2:rpm 安装
wget http://mirror.centos.org/centos/6/os/x86_64/Packages/vsftpd-2.2.2-24.el6.x86_64.rpm
rpm -Uvh vsftpd-2.2.2-24.el6.x86_64.rpm

# 卸载
yum -y remove vsftpd

2、添加ftp用户并设置密码

# 禁止用户 ftpuser 使用ssh登录
usermod -s /usr/sbin/nologin ftpuser
# 设置用户 ftpuser 密码
passwd ftpuser


# 添加用户 ftpuser
useradd ftpuser
# 恢复用户 ftpuser 使用ssh登录
usermod -s /bin/bash ftpuser
# 添加用户ftpuser ,并不允许ssh登录
useradd -d /home/ftpuser -s /sbin/nologin ftpuser
# 删除用户 ftpuser
userdel ftpuser

3、修改配置

# 修改配置文件
vim /etc/vsftpd/vsftpd.conf

# 禁用匿名访问
# anonymous_enable=YES -> NO
anonymous_enable=NO 

# 只能访问自己的主目录
chroot_local_user=YES
# 添加允许可以写根目录(在2.3以后需要加上这句才可以访问根目录)
# allow_writeable_chroot=YES

# 下面两个可以使用默认值(如需配置请自行查阅用法)
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd/chroot_list

# 重启vsftpd
service vsftpd restart

4、设置开机自启

# 开机自启
chkconfig vsftpd on

# 查看是否开机自启
chkconfig --list

5、修改selinux

# 查看ftp状态
getsebool -a | grep ftp

# 查看如下两个状态
# allow_ftpd_full_access --> off
# ftp_home_dir --> off

# 修改成开启状态(会比较慢)
setsebool -P allow_ftpd_full_access on
setsebool -P ftp_home_dir on

6、修改防火墙

# 编辑防火墙
vim /etc/sysconfig/iptables
# 开放21端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
# 重启防火墙
service iptables restart

7、nginx + ftp 图片服务器

# nginx.conf中的配置
# 说明 192.168.1.188/img/20180709/1.png
# 即访问 /home/ftpuser/img/20180709/1.png
location /img/ {
    alias /home/ftpuser/img/;
    # 这个配置同上(倾向于使用alias因为可以用/根目录)
    # root /home/ftpuser/;
}


# 403 错误问题
# nginx.conf 文件中

#user  nobody; 使用root用户
user root;

你可能感兴趣的:(Linux)