本地连接CentOs7 FTP服务

本文详细介绍了在Linux环境下安装和配置VSFTPD服务的步骤,包括安装命令、检查端口、创建用户目录、设置权限、配置用户访问限制、端口配置、用户鉴权等关键环节,并提供了常见错误排查及解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、安装命令

       yum install vsftpd -y

二、检查端口

       netstat -anp | grep 21  (安装netstat yum install net-tools)

三、用户目录

        mkdir -p /home/wwwroot/ftptest

四、创建用户

         useradd -d /home/wwwroot/ftptest -g -s /sbin/nologin ftptest

         (-g ftp 表示该用户属于ftp分组 (ftp分组是内置的,本来就存在,不需要自己创建)
-s /sbin/nologin 表示这个用户不能用来登录secureCRT这样的客户端。 这种不能登陆的用户又叫做虚拟用户)

五、设置目录权限

       chown -R ftptest /home/wwwroot/ftptest

       chown -R 775 /home/wwwroot/ftptest

        (把目录/home/wwwroot/ftptest的拥有者设置为ftptest
使ftptest用户拥有这个目录的读写权限)

六、设置用户密码

        passwd ftptest

七、去掉匿名登录

        vi /etc/vsftpd/vsftpd.conf,把vi /etc/vsftpd/vsftpd.conf 改为 vi /etc/vsftpd/vsftpd.conf,使用vi命令打开,编辑,保存。

          (vi /etc/vsftpd/vsftpd.conf)

八、限制用户访问

       限制用户访问,什么叫做限制用户访问呢? ftp用户 教程中创建的ftptest用户所拥有的目录是 /home/wwwroot/ftptest,如果不做限制,那么使用ftptest登陆之后可以切换到其他敏感目录去,比如切换到/usr目录去,这样就存在巨大的安全隐患。

       vi /etc/vsftpd/vsftpd.conf 去掉chroot_list_enable=YES和chroot_list_file=/etc/vsftpd/chroot_list的注释#。

九、用户清单

        vi /etc/vsftpd/chroot_list增加 ftptest,然后打开vi /etc/vsftpd/chroot_list在最后面新加一行allow_writeable_chroot=YES。

十、配置端口

        vsftpd有两种端口,一个是21端口,用来监听客户端连接请求的。 这个一般说来是固定的,就一直使用21端口。
另一种是,一旦获取到请求之后,再专门用户服务端和客户端传输数据的端口。
本知识点就是用于指定第二种端口的获取范围。

         vi /etc/vsftpd/vsftpd.conf在最后添加pasv_enable=YES,pasv_min_port=30000,pasv_max_port=30010,这表示使用被动模式,用于传输数据的端口分配从30000-30010之间。

十一、用户鉴权

           因为用户 ftptest 是 nologin的,所以存在鉴权的问题。 如果鉴权问题不解决,就是永不停息的 530错误。。。

           方式一:vi /etc/pam.d/vsftpd注释掉auth required pam_shells.so。

            方拾二:vi /etc/shells增加一行/sbin/nologin。 重启服务。。。。

 

汇总:可能遇到的错误原因 防火墙  密码不对

FTP 550 Failed to change directory

通常是FTP 的某些服务没有开启  这里和防火墙有一定关系

如果你是能够链接到FTP   但是看不到文件    上传和下载都没有办法做出操作

那么可以执行命令

getsebool -a | grep ftp

 

会发现以下状态都是关闭的

setsebool -P allow_ftpd_full_access on

setsebool -P ftp_home_dir on

执行上面命令,再返回的结果看到两行都是off,代表,没有开启外网的访问

会发现状态已经是on了

这样应该没问题了(如果,还是不行,看看是不是用了ftp客户端工具用了passive模式访问了,如提示Entering Passive mode,就代表是passive模式,默认是不行的,因为ftp passive模式被iptables挡住了,下面会讲怎么开启,如果懒得开的话,就看看你客户端ftp是否有port模式的选项,或者把passive模式的选项去掉。如果客户端还是不行,看看客户端上的主机的电脑是否开了防火墙,关吧)

附:

使用 ls -ld命令检查ftp目录的所有权

例如我的ftp目录是web

ls -ld /web

发现为root  而我的用户为ftp

所以chown ftp /web

然后重试FileZilla可以创建目录了

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值