热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

CentOS系统中vsftpd服务器的安装及设置

CentOSvsftpd是常用系统,于是我学习研究了CentOSvsftpd,在这里对大家详细介绍下CentOSvsftpd系统应用,希望对大家有用。本地用户经过设置后可以进行ftp访问。而匿名用户的访问经过了转换,在系统中。匿名用户的用户名为ftp,系统将其属性设置为根目录

CentOS vsftpd是常用系统,于是我学习研究了CentOS vsftpd,在这里对大家详细介绍下CentOS vsftpd系统应用,希望对大家有用。本地用户经过设置后可以进行ftp访问。

而匿名用户的访问经过了转换,在系统中。匿名用户的用户名为ftp, 系统将其属性设置为 根目录 /var/ftp/, 禁止控制台登陆,也就是,该用户只能进行ftp访问。CentOS vsftpd的执行程序为 /etc/vsftpd,修改 /etc/vsftpd/vsftpd.conf文件中的listen要设置为YES.

CentOS vsftpd有两种开机自启动模式: inet模式和standalone模式,推荐使用standalone模式。在CentOS中已集成了CentOS vsftpd软件。CentOS vsftpd是一个安全高效的FTP服务软件,得到了广泛的应用。

一、CentOS vsftpd安装

在服务中查看是否已安装VSFTPD服务。如没有,下载并安装:rpm -ivh vsftpd-2.0.5-12.el5.i386.rpm

二、设置CentOS vsftpd自启动

chkconfig --level 35 vsftpd on

三、CentOS vsftpd配置

1 打开 /etc/vsftpd/vsftpd.conf文件。将anonymous_enable=YES,改为anonymous_enable=NO

2 打开 /etc/vsftpd/vsftpd.conf文件。添加user_config_dir=/etc/vsftpd/virtual,并建立 virtual目录。在此目录中建立以用户名为文件名的文件,并写入:local_root=[目录],这个目录即是FTP连接时的主目录。

3 限定用户只在自己目录:修改vsftpd.conf文件,取消注 释:chroot_list_enable=YES   chroot_list_file=/etc/vsftpd/chroot_list在/etc /vsftpd/目录下添加文件chroot_list,加入作为FTP用户的本地用户名。

4 解决用户无法进入目录问题:打开终端,输入:setsebool -P ftpd_disable_trans 1然后重启FTP服务:service vsftpd restart

四、问题:

vsftp登录报错”500 OOPS: cannot change directory:/home/*******”


   解决:
 A、首先检查权限问题;
 B、


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

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

500 OOPS: child died

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

(一、)[root@linux115 vsftpd]#setsebool -P ftpd_disable_trans 1

 [root@linux115 vsftpd]#service vsftpd restart

第一行中的-P参数是为了以后不需要每次开机都输入这个命令

(二、)或使用以下解决:
[root@linux115 ~]#/usr/sbin/setsebool -P ftp_home_dir 1

#######################################################################################

2、如果使用setsebool -P ftpd_disable_trans 1   //加-P表示永久性
 提示错误:

[root@linux115 vsftpd]# setsebool -P ftpd_disable_trans 1
libsemanage.dbase_llist_set: record not found in the database (No such file or directory).
libsemanage.dbase_llist_set: could not set record value (No such file or directory).
Could not change boolean ftpd_disable_trans
Could not change policy booleans

解决方法:
可能直接使用下面这个一条就可以解决了:
[root@linux115 ~]# /usr/sbin/setsebool -P ftp_home_dir 1

再试试,

如果还是不行的话再使用下面完全方式:
[root@linux115 vsftpd]# setsebool allow_ftpd_full_access 1
[root@linux115 vsftpd]# setsebool allow_ftpd_use_cifs 1
[root@linux115 vsftpd]# setsebool allow_ftpd_use_nfs 1
[root@linux115 vsftpd]# setsebool -P ftp_home_dir 1
[root@linux115 vsftpd]# setsebool httpd_enable_ftp_server 1
[root@linux115 vsftpd]# setsebool tftp_anon_write 1
[root@linux115 vsftpd]# service vsftpd restart
关闭 vsftpd:[确定]
为 vsftpd 启动 vsftpd:[确定]
[root@linux115 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,即可解决问题。


推荐阅读
author-avatar
black丶烽火
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有