linux下安装vsftp

linux下安装vsftp

Linux下安装VSFTPD可是一个技术活,但是掌握了方法之后就一切变的很简单了。本文以CentOS 6.3为配置环境,进行vsftpd的安装。命令yum install vsftpd

  1. 下载VSFTPD

Linux 下传统的安装软件方法是下载tar.gz安装包,或者RPM安装包,再经过解压之后进行编译,或者用RPM -i命令安装。过程比较繁琐,其实还有个更为简捷的方法就是使用yum命令在线安装,支持几乎所有常见的软件,它的好处是读取多个镜像服务器列表中的最新 版本,一切傻瓜化操作。

 

  1. yum命令的好处已经体现出来,当输入完安装命令之后,首先从服务器读取资源,然后选择安装包,最后由用户决定是否安装,这里我们按y确认安装。当出现“Complete!”时意味着安装完成。

值得注意的是,在Linux中,系统对于大小写严格区分,比如abc和ABC是完全不相同的字符,要特别注意。

 

  1. 配置Vsftpd

安装完之后我们要对它进行配置,才能正常使用。编辑vsftpd的配置文件vi /etc/vsftpd/vsftpd.conf

vi编辑器中的搜索使命是斜杠“/”,然后输入要查找的内容,回车确定。以下是要更改的选项

anonymous_enable=NO  #禁止匿名访问

ascii_upload_enable #允许使用ascii码上传

ascii_download_enable #允许使用ascii码下载

userlist_deny=NO #(这条需手动添加到最后)使用FTP用户表,表里没有的用户需要添加才能登录

设置完毕之后,ESC,冒号wq回车。启动vsftpd服务/etc/init.d/vsftpd start,看到[确定]即为启动成功。

只启动完还不行,还要给它添加开机自动启动,chkconfig vsftpd on

 

 

  1. 添加启动是没有任何提示的,如果不确定是否已经加入了开机启动项可以运行chkconfig –list进行查看。

安 装和配置完之后要对它添加用户才能使用,这里以添加用户baidu为例。useradd baidu回车,然后为baidu这个用户添加密码passwd baidu,会提示输入两次密码。然后我们将baidu这个用户加入到FTP用户表里。vi /etc/vsftpd/user_list,将里面其它初始用户全部删除,加入刚刚我们新建的baidu用户。

 

  1. 5

linux关闭selinux

然后reboot重启Linux服务器。

本人使用FlashFXP客户端软件连接,直到出现用户主目录(一般位于/home/用户名),则vsftpd成功安装并运行。然后就能进行文件的上传和下载了。

为用户指定访问目录

如何给VSFTP增加用户,只能访问指定目录

    

1 增加组 groupadd ftpgroup

    2 修改/etc/vsftpd/vsftpd.conf

     将底下三行

     #chroot_list_enable=YES

     # (default follows)

     #chroot_list_file=/etc/vsftpd.chroot_list

     改为

     chroot_list_enable=YES

     # (default follows)

     chroot_list_file=/etc/vsftpd/chroot_list

    3 增加用户 useradd-g ftpgroup -d /home/www/default/wordpress/wp-content/themes/WPortal-Gov_6 -M songbo

    4 设置用户口令 passwd 333333333( passwd tom,修改tom用户密码。)

    5 编辑文件: /etc/vsftpd/chroot_list

     内容为ftp用户名,每个用户占一行,如:

    peter

    john

    6 重新启动vsftpd

    [root@home vsftpd]# /sbin/service vsftpd restart

第一次设置2~5,以后每增加一个用户,只需执行3~5即可.

 

附录:遇到的问题

vsftp不能上传下载问题解决

 

我的系统:64位RHEL6

1、问题:vsftp登录报错”500 OOPS: cannot change directory:/home/*******”

     解决:

       A、首先检查权限问题;

       B、ftp服务器连接失败,错误提示:

            500 OOPS:cannot change directory:/home/******* 500 OOPS: child died

            当你看到以上提示时,试着在输入以下命令解决:

            (1) [root@www.codesky.net vsftpd]#setsebool -P ftpd_disable_trans 1

                 [root@ www.codesky.net vsftpd]#service vsftpd restart

             或使用以下解决:

            (2) [root@www.codesky.net ~]#/usr/sbin/setsebool -P ftp_home_dir 1 ###################################################################################2、如果使用setsebool -P ftpd_disable_trans 1//加-P表示永久性 提示错误:

      [root@ www.codesky.net vsftpd]#setsebool -P ftpd_disable_trans 1

      libsemanage.dbase_llist_set: recordnot found in the database (No such file or directory).                         libsemanage.dbase_llist_set: could not set record value (No such file ordirectory).

      Could not change booleanftpd_disable_trans Could not change policy booleans

      解决方法: 可能直接使用下面这个一条就可以解决了:

      [root@ www.codesky.net ~]#/usr/sbin/setsebool -P ftp_home_dir 1

      再试试,如果还是不行的话再使用下面完全方式:

setsebool allow_ftpd_full_access 1

setsebool allow_ftpd_use_cifs 1

setsebool allow_ftpd_use_nfs 1

setsebool -P ftp_home_dir 1

setsebool httpd_enable_ftp_server 1

setsebool tftp_anon_write 1

service vsftpd restart

      关闭 vsftpd:[确定] 为 vsftpd 启动 vsftpd:[确定]

      [root@ www.codesky.net vsftpd]#getsebool -a | grep ftp

       allow_ftpd_anon_write -->off

       allow_ftpd_full_access -->on

       allow_ftpd_use_cifs --> on

       allow_ftpd_use_nfs --> on

       ftp_home_dir --> on

       ftpd_connect_db --> off

       httpd_enable_ftp_server -->on

       sftpd_anon_write --> off

       sftpd_enable_homedirs -->off

       sftpd_full_access --> off

       sftpd_write_ssh_home -->off

       tftp_anon_write --> on

       重启vsftpd,即可解决问题。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值