vsftpd不能上传文件的问题

由于重装了suse,又要设置vsftpd了。一开始设了/etc/vsftpd.conf:

write_enable=YES

local_enable=YES(即本地用户也可以登录ftp)

listen=NO

新加了这3项。但是上传文件老是不成功,提示create file failed。

仔细看了半天,发现问题在于权限不对。

我是用user1登录的,而我要上传到的目录权限是: drwxr-xr-x   2 root  root,user1是users组的。只有r-x(读和写的权限),难怪上传不上去。用chmod 777改权限后就ok啦。

### 配置 VSFTPD 实现文件上传 #### 安装 VSFTPD 为了使VSFTPD正常工作,在Linux环境中需先通过包管理器安装该软件。对于基于Red Hat的系统,可以使用`yum`命令来完成这一操作[^3]。 ```bash yum -y install vsftpd ``` 启动并设置VSFTPD服务开机自启: ```bash systemctl start vsftpd systemctl enable vsftpd ``` #### 修改防火墙规则 考虑到安全因素,默认情况下防火墙可能阻止FTP流量。因此要么完全禁用防火墙(不推荐),要么仅允许特定端口上的FTP通信。如果选择后者,则应执行如下指令以开放必要的端口。 ```bash firewall-cmd --zone=public --add-service=ftp --permanent firewall-cmd --reload ``` #### 编辑主配置文件 接下来编辑位于 `/etc/vsftpd/` 下的主要配置文件 `vsftpd.conf` 。此过程可以通过任何文本编辑工具完成;这里采用Vim作为例子[^2]。 ```bash vim /etc/vsftpd/vsftpd.conf ``` 在配置文件中加入或修改以下参数以便启用被动模式下的数据传输以及指定用于此类连接的IP地址和端口号范围[^5]。 ```ini anonymous_enable=NO # 禁止匿名登录 local_enable=YES # 允许本地用户登录 write_enable=YES # 启动写入权限 chroot_local_user=YES # 将用户限制在其家目录内 pasv_min_port=24322 # 设置最小被动端口 pasv_max_port=24325 # 设置最大被动端口 pasv_address=YOUR_SERVER_IP_ADDRESS # 替换为服务器公网IP listen_ipv6=YES # 支持IPv6监听 ``` 保存更改后重启VSFTPD服务使其生效: ```bash systemctl restart vsftpd ``` 此时已经完成了基本的VSFTPD服务器搭建,并且能够支持文件上传功能。请注意调整上述某些选项的具体值以适应实际需求环境中的情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值