centos 7 ftp

来自: https://www.cnblogs.com/xuzhengzong/p/8645908.html

一、目的,新建一个用户 test2,登录ftp,它只有自己的主目录权限,其他同级和上级目录没有权限

二、ftp安装、配置

yum -y install vsftpd  //通过yum来安装vsftpd
chkconfig vsftpd on   //设置为开机启动
vi /etc/vsftpd/vsftpd.conf #设置配置文件  

配置:
anonymous_enable=YES    #设置是否允许匿名用户登录 
local_enable=YES        #设置是否允许本地用户登录 
local_root=/home        #设置本地用户的根目录 
write_enable=YES        #是否允许用户有写权限 
local_umask=022        #设置本地用户创建文件时的umask值 
anon_upload_enable=YES    #设置是否允许匿名用户上传文件 
anon_other_write_enable=YES    #设置匿名用户是否有修改的权限 
anon_world_readable_only=YES    #当为YES时,文件的其他人必须有读的权限才允许匿名用户下载,单单所有人为ftp且有读权限是无法下载的,必须其他人也有读权限,才允许下载 
download_enbale=YES    #是否允许下载 
chown_upload=YES        #设置匿名用户上传文件后修改文件的所有者 
chown_username=ftpuser    #与上面选项连用,表示修改后的所有者为ftpuser 
ascii_upload_enable=YES    #设置是否允许使用ASCII模式上传文件 
ascii_download_enable=YES    #设置是否允许用ASCII模式下载文件 

chroot_local_user=YES        #设置是否锁定本地用户在自己的主目录中(将前面#去掉!其他选项可不动

当我们限定了用户不能跳出其主目录之后,使用该用户登录FTP时往往会遇到这个错误:
500 OOPS: vsftpd: refusing to run with writable root inside chroot ()
从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。
要修复这个错误,可以用命令chmod a-w /home/user去除用户主目录的写权限,注意把目录替换成你自己的。或者你可以在vsftpd的配置文件中增加下面一项:
allow_writeable_chroot=YES

chroot_list_enable=YES        #设置是否将用户锁定在自己的主目录中 
chroot_list_file=/etc/vsftpd/chroot_list    #定义哪些用户将会锁定在自己的主目录中 (去/etc/vsftpd/chroot_list文件增加用户名,一行一个
userlist_enable=YES    #当为YES时表示由userlist_file文件中指定的用户才能登录ftp服务器 
userlist_file=/etc/vsftpd/user_list    #当userlist_enable为YES时才生效

 开始添加目标用户,并为其设置主目录

复制代码
useradd -d 目录 -m 目录 用户    //-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。

passwd 用户名   //设置密码

chmod 755 目录    //以root的视角去修改当前目录的权限

chown -R ftp用户名:组名 目录  //组名可不写,修改目录所属者

>>service vsftpd restart    //重启ftp
复制代码

配置完成,设置防火墙 :

vi /etc/sysconfig/iptables-config

修改
IPTABLES_MODULES="ip_conntrack_ftp"

开放21端口:

vi /etc/sysconfig/iptables

添加
 -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

重启  service vsftpd restart

 

如果此时还不能上传文件权限,关闭SELinux:

> vi /etc/sysconfig/selinux ,修改为:SELINUX=disabled

最终效果:(用户根本都看不到其他目录,只能看到自己的 -d 目录)

posted @ 2019-07-20 16:17  透明飞起来了  阅读(285)  评论(0编辑  收藏  举报