最新linux+vsftpd配置详解

vsftpd Error 553 - Could not create file

将Linxu的 网络安全那里 SElinux关闭

I disabled selinux, but didn't reboot. Once I rebooted, the ftp worked.. sheesh..

# cd /opt #我们在这个目录进行编译安装。
# wget http://www.yipiwang.com/download/lamp/vsftpd-2.1.0.tar.gz #放在我现在服务器,大家可以去网上搜索下载。
# tar -zxvf vsftpd-2.1.0.tar.gz
# cd vsftpd-2.1.0
# make
# make install
# cp vsftpd.conf /etc/ #copy配置文件到系统目录。
# cp RedHat/vsftpd.pam /etc/pam.d/ftp #copy pad 模块,这个模块是进行用户识别的模块,没有它不能进行用户识别。
# mkdir /var/ftp #这个是匿名用户默认的目录
# /usr/local/sbin/vsftpd & #我们现在启动vsfptd看行不行?

# /sbin/iptables -I INPUT -p tcp --dport 21 -j ACCEPT #防火墙通过21端口
# /etc/rc.d/init.d/iptables save
# /etc/init.d/iptables restart

# echo "/usr/local/sbin/vsftpd &" >> /etc/rc.local #vsftp自动启动。

/*******************现在匿名用户可以登录ftp了,下面我们来配置本地用户登录ftp*********************/
# cp /etc/vsftpd.conf /etc/vsftpd.conf.backup.old #养成好的习惯
# vi /etc/vsftpd.conf
local_enable=YES #允许本地用户登录
write_enable=YES #设定可以进行写操作。
local_umask=022 #设定上传后文件的权限掩码。
dirmessage_enable=YES #设定开启目录标语功能。
connect_from_port_20=YES #设定端口20进行数据连接。
ftpd_banner=Welcome to my home! #欢迎语
chroot_local_user=NO #不限制"所有"本地用户在自家目录
chroot_list_enable=YES #限制列表中的用户在自家目录
chroot_list_file=/etc/vsftpd.chroot_list #列表文件的位置
ls_recurse_enable=NO #禁止用户登陆FTP后使用"ls -R"的命令。该命令会对服务器性能造成巨大开销。如果该项被允许,那么挡多用户同时使用该命令时将会对该服务器造成威胁.
userlist_enable=YES #启用用户登录控制
userlist_file=/etc/vsftpd.user_list #登录控制的列表文件
userlist_deny=NO #只允许在/etc/vsftpd.user_list列表中的用户登录FTP服务器

保存 退出


# vi /etc/vsftpd.chroot_list #修改(或创建)vsftpd.chroot_list文件,里面存放需要被锁定自家目录的本地用户名,一行写一个
java #我们即将要增加的用户

# vi /etc/vsftpd.user_list #修改(或创建)vsftpd.user_list文件,存放允许登录ftp服务器的用户名单,一行写一个
php
java

/******我的网站的目录(Apache tomcat)指向/usr/local/apache2/htdocs*******/
cd /usr/local/apache2/htdocs
# mkdir java
# useradd java -s /sbin/nologin -d /usr/local/apache2/htdocs/java -M #-s:指定用户登入后所使用的shell,不允许 java 这个用户登录系统。
# chgrp java /usr/local/apache2/htdocs/java
# chmod g+w /usr/local/apache2/htdocs/java
# passwd java

# mkdir php
# useradd php -d /usr/local/apache2/htdocs/php -M
# chgrp java /usr/local/apache2/htdocs/php
# chmod g+w /usr/local/apache2/htdocs/php
# passwd php

1. 匿名服务器的连接(独立的服务器)
在/etc/vsftpd.conf(或在/etc/vsftpd/vsftpd.conf)配置文件中添加如下几项:
Anonymous_enable=yes            (允许匿名登陆)
Dirmessage_enable=yes             (切换目录时,显示目录下.message的内容)
Local_umask=022                      (FTP上本地的文件权限,默认是077)
Connect_form_port_20=yes        (启用FTP数据端口的数据连接)*
Xferlog_enable=yes                  (激活上传和下载的日志)
Xferlog_std_format=yes              (使用标准的日志格式)
Ftpd_banner=XXXXX                (欢迎信息)
Pam_service_name=vsftpd         (验证方式)*
Listen=yes                               (独立的VSFTPD服务器)*
注释:以上配置只能连接FTP服务器,不能上传和下载 注:其中所有和日志欢迎信息相关连的都是可选项,打了星号的无论什么帐户都要添加,是属于FTP的基本选项

2. 开启匿名FTP服务器上传权限
在配置文件中添加以下的信息即可:
Anon_upload_enable=yes          (开放上传权限)
Anon_mkdir_write_enable=yes    (可创建目录的同时可以在此目录中上传文件)
Write_enable=yes                     (开放本地用户写的权限)
Anon_other_write_enable=yes    (匿名帐号可以有删除的权限)

3. 开启匿名服务器下载的权限
在配置文件中添加如下信息即可:
Anon_world_readable_only=no
注:要注意文件夹的属性,匿名帐户的权限相当于用户other,用户要开启它的读写执行的权限
(R)读-----下载 (W)写----上传 (X)执行----如果不开FTP的目录都进不去



还有就是修改相应目录的权限。。。。。

原文地址:https://www.cnblogs.com/danghuijian/p/4400468.html