ftp搭建

一。检查Linux中vsftpd的安装情况。

rpm -qa|grep vsftp

二。将系统中的SELinux关闭,然后重新启动电脑

关闭SELinux的方法:

修改/etc/selinux/config文件中的SELINUX=”” 为 disabled ,然后重启。

如果不想重启系统,使用命令setenforce 0

注:

setenforce 1 设置SELinux 成为enforcing模式

setenforce 0 设置SELinux 成为permissive模式

在lilo或者grub的启动参数中增加:selinux=0,也可以关闭selinux

setsebool ftpd_disable_trans 1

三。建立用户和指定目录

#useradd -d /var/www/html/ls syq

#passwd syq

建立用户syq,并指定其ftp目录为ls

修改目录权限:

chown –R syq     /var/www/html/ls

chgrp –R syq     /var/www/html/ls

四。修改vsftpd.conf配置文件

将anonymous_enable改为NO,阻止匿名上传

将chroot_list_enable和chroot_list_file的注释去掉,阻止用户访问上级目录

五。在/etc/vsftpd下建立chroot_list文件

建立完成后,在其中添加用户syq只允许访问指定目录。

六。启动或是重启ftp服务。

#service vsftpd restart(start)

启动成功后,就可以访问ftp服务了。

注:配置文件中的解释

anonymous_enable=YES    开启匿名用户登录

local_enable=YES    开启本地用户登录

write_enable=YES    开启写权限以便上传

local_umask=022设置上传后文件为user=rwx, group=, other=

这样,用户上传文件后,是不能删除和修改了。因为用户属于group组。

解决方法是,设置local_umask=002。

最终文件权限是777-文件夹掩码-local_umask掩码

anon_upload_enable=YES    开启匿名用户上传权限

统一匿名上传用户上传的文件的属性

chown_uploads=YES

chown_username=ftp

设定chroot配置,禁止特定用户访问上一级目录

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

userlist_enable=YES这个选项如果是YES,那/etc/vsftpd/user_list中的用户将被禁止访问ftp。如果是NO,则只有user_list里面的用户才能访问ftp