在RedHat 7上安装配置FTP服务和RedHat6基本一致,本文是以系统盘自带的vsftpd配置FTP服务。
本文原始出处:江健龙的技术博客 http://jiangjianlong.blog.51cto.com/3735273/1791464
首先使用yum安装vsftpd:yum install vsftpd
创建两个目录,/data/ftpshare配置需登录服务且可读写,/data/ftppublic配置匿名登录但只读
编辑配置文件:vi /etc/vsftpd/vsftpd.conf,在末尾添加以下内容,指定默认的根目录以及匿名登录目录:
编辑配置文件:vi /etc/vsftpd/user_list和vi /etc/vsftpd/ftpusers,注释掉root,这样root用户才能登录ftp
root登录FTP并创建文件夹,测试可读写
创建ftp用户ftpuser01,-s /sbin/nologin参数使该用户无法登录服务器,只能登录FTP
使用ftpuser01登录
ftpuser01登录后只能在自己的家目录中有读写权限
但无法在其他文件夹写入,因为对其他文件夹没写入权限
但是如果用cmd登录,却可以切换到其他目录,这是一个安全隐患
解决办法:在服务器中修改vsftpd的配置文件,将chroot_local_user=YES的注释符去掉
然后重启一下服务,这样FTP用户登录后就无法切换到上级目录了
但这样会带来一个新的问题,就是root用户无法登录了,解决办法也很简单,就是在vsftpd配置文件中增加一行:allow_writeable_chroot=YES
然后重启一下服务,root用户就可以登录ftp了,而已包括root再内的所有用户登录到ftp后都无法切换到上级目录
测试匿名登录,测试可读可下载
但不可上传,因为vsftpd的配置文件中默认没有允许匿名上传
本文转自 jianlong1990 博客,原文链接: http://blog.51cto.com/jiangjianlong/1791464 如需转载请自行联系原作者