在RedHat 7上安装配置FTP服务和RedHat6基本一致,本文是以系统盘自带的vsftpd配置FTP服务。

本文原始出处:江健龙的技术博客 http://jiangjianlong.blog.51cto.com/3735273/1791464


首先使用yum安装vsftpd:yum install vsftpd

RedHat 7配置FTP服务


创建两个目录,/data/ftpshare配置需登录服务且可读写,/data/ftppublic配置匿名登录但只读

RedHat 7配置FTP服务


编辑配置文件:vi /etc/vsftpd/vsftpd.conf,在末尾添加以下内容,指定默认的根目录以及匿名登录目录:

RedHat 7配置FTP服务

编辑配置文件:vi /etc/vsftpd/user_listvi /etc/vsftpd/ftpusers,注释掉root,这样root用户才能登录ftp

RedHat 7配置FTP服务

RedHat 7配置FTP服务


启动服务并设置服务开机运行

RedHat 7配置FTP服务


root登录FTP并创建文件夹,测试可读写

RedHat 7配置FTP服务


创建ftp用户ftpuser01,-s /sbin/nologin参数使该用户无法登录服务器,只能登录FTP

RedHat 7配置FTP服务


使用ftpuser01登录

RedHat 7配置FTP服务

ftpuser01登录后只能在自己的家目录中有读写权限

RedHat 7配置FTP服务

但无法在其他文件夹写入,因为对其他文件夹没写入权限

RedHat 7配置FTP服务

但是如果用cmd登录,却可以切换到其他目录,这是一个安全隐患

RedHat 7配置FTP服务

解决办法:在服务器中修改vsftpd的配置文件,将chroot_local_user=YES的注释符去掉

RedHat 7配置FTP服务

然后重启一下服务,这样FTP用户登录后就无法切换到上级目录了

RedHat 7配置FTP服务

但这样会带来一个新的问题,就是root用户无法登录了,解决办法也很简单,就是在vsftpd配置文件中增加一行:allow_writeable_chroot=YES

RedHat 7配置FTP服务

然后重启一下服务,root用户就可以登录ftp了,而已包括root再内的所有用户登录到ftp后都无法切换到上级目录


测试匿名登录,测试可读可下载

RedHat 7配置FTP服务

但不可上传,因为vsftpd的配置文件中默认没有允许匿名上传

RedHat 7配置FTP服务

RedHat 7配置FTP服务


转载于:https://blog.51cto.com/jiangjianlong/1791464

相关文章: