安装FTP 1、检查安装vsftpd软件 rpm -qa |grep vsftpd 可以检测出是否安装了vsftpd软件,如果没有安装,使用YUM命令进行安装 yum install vsftpd -
安装FTP
1、检查安装vsftpd软件
rpm -qa |grep vsftpd
可以检测出是否安装了vsftpd软件,如果没有安装,使用YUM命令进行安装
yum install vsftpd -y
2、启动服务
启动ftp命令#service vsftpd start停止ftp命令#service vsftpd stop重启ftp命#service vsftpd restart
3、vsftpd的配置
ftp的配置文件主要有三个,位于/etc/vsftpd/目录下,分别是:
- ftpusers 该文件用来指定那些用户不能访问ftp服务器。
- user_list 该文件用来指示的默认账户在默认情况(未修改vsftpd.conf)下也不能访问ftp
- vsftpd.conf vsftpd的主配置文件
4、以匿名用户登录
我们去掉配置文件vsftpd.conf 里面以下
anon_upload_enable=YESanon_mkdir_write_enable=YES
两项前面的#号,就可以完成匿名用户的配置,此时匿名用户既可以登录上传、下载文件。记得修改配置文件后需要重启服务
要让FTP每次开机自动启动,运行命令: “chkconfig --level 35 vsftpd on”
配置用户ftp权限及访问路径限制:
此时用usertest登陆系统ftp,是否可以访问?如果无法访问,说明我们的ftp做了限制。打开/etc/vsftpd/vsftpd.conf,查找userlist_enable、userlist_deny、userlist_file。
如果userlist_deny=NO:只允许userlist_file文件中的用户可访问ftp;如果userlist_deny=YES:userlist_file文件中列举的用户不能通过ftp访问系统。
userlist_enable是该功能的开关。我们的系统配置如下:
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
所以需要把用户加入到/etc/vsftpd/user_list文件中,每个用户一行。
如何修改vsftpd的默认根目录/var/ftp/pub到另一个目录?
修改ftp的根目录只要修改/etc/vsftpd/vsftpd.conf文件即可:
加入如下几行:
local_root=/var/www/htmlchroot_local_user=YESanon_root=/var/www/html
注:local_root 针对系统用户;anon_root 针对匿名用户。
关于ftp用户连接时出现500 OOPS:can not change directory的解决办法(Firefox)
如果是Chrome浏览器会出现需要授权页面并提示输入用户名密码信息.会与Firefox提示不同内容
默认下是没有开启FTP的支持,所以访问时都被阻止了。
解决:
1. 查看SELinux设置
# getsebool -a | grep ftp
发现 ftpd_disable_trans –> off 或者 ftp_home_dir–>off
2. 使用setsebool命令开启
# setsebool ftpd_disable_trans 1 或者 # setsebool ftp_home_dir 1
3. 查看当前状态是否是on的状态
# getsebool -a|grep ftp
此时 ftpd_disable_trans –> on 或者 ftp_home_dir–>on
4. 最后重启 # service vsftpd restart
OK,问题解决了。
另外 setsebool 使用-P参数,无需每次开机都输入这个命令
# setsebool -P ftpd_disable_trans 1
或者
# setsebool -P ftp_home_dir 1
centos FTP 用户指定目录禁用上级目录
在默认配置下,本地用户登入FTP后可以使用cd命令切换到其他目录,这样会对系统带来安全隐患。可以通过以下三条配置文件来控制用户切换目录。
chroot_list_enable=YES/NO(NO)
设置是否启用chroot_list_file配置项指定的用户列表文件。默认值为NO。
chroot_list_file=/etc/vsftpd.chroot_list
用于指定用户列表文件,该文件用于控制哪些用户可以切换到用户家目录的上级目录。
chroot_local_user=YES/NO(NO)
用于指定用户列表文件中的用户是否允许切换到上级目录。默认值为NO。
通过搭配能实现以下几种效果:
①当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd.chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。
②当chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd.chroot_list文件中列出的用户,不能切换到其他目录;未在文件中列出的用户,可以切换到其他目录。
③当chroot_list_enable=NO,chroot_local_user=YES时,所有的用户均不能切换到其他目录。
④当chroot_list_enable=NO,chroot_local_user=NO时,所有的用户均可以切换到其他目录。