vsftpd服务器不显示文件夹权限,vsFTPd在Ubuntu上的默认上传文件权限不起作用

在Ubuntu 12.10 x64系统上,用户遇到vsFTPd上传文件后权限设置为0的问题。通过修改vsftpd.conf文件,将`file_open_mode`设置为0777和`local_umask`设置为022,确保FTP用户和www-data用户都在同一组并具有相应权限。这包括将用户添加到www-data组,设置目录权限为775,以及用chown调整所有权。最终实现了FTP上传文件后自动获取正确权限的目标。

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

问题描述

我有一台运行Ubuntu 12.10 x64的服务器,以及最新版本的vsFTPd。

我的用户example.com的主文件夹设置在/var/www/example.com上,

我在其中创建了public_html文件夹,并为其赋予了777权限,并删除了家庭用户文件夹的写入权限。一切正常,但:

我通过FTP(使用SmartFTP)上传的每个文件的chmod均为0。

我的vsftpd.conf只有一行相关:

local_umask=022.

我尝试更改为:

file_open_mode=777

local_umask=002

因此,我的文件在上载后将立即获得775。

但是只有我上传的文件夹获得了775权限。

我上传的文件得到1411 permissions

有人可以帮我解决这个问题吗?

最佳思路

我最终使用

file_open_mode=0777

local_umask=022

在vsftpd.conf上。问题在于,FTP用户和www-data用户都需要写权限,因此我不得不将www-data和ftpuser加入www-data用户组,然后CHMOD -R 775 /var /www上的所有文件-使用775 CHMOD,即组将具有读取,写入和执行的权限。现在,它可以完美运行。

次佳思路

得到了我的答案:

由于www-data是负责Web服务器的用户,而您的普通用户是ftp服务器的负责人,因此您首先需要使他们成为同一组的成员:www-data组。

创建自定义用户:

useradd –d /var/www/asasd.com -g www-data -m yourusername这样,主目录将为/var/www/asasd.com,而您的用户将位于www-data组中。

之后,通过键入passwd更改用户密码。

然后,您需要在yourusername主文件夹中创建public_html文件夹,因为FTP不能在主文件夹的根目录中写入,所以您必须创建一个子文件夹。

删除yourusername文件夹chmod a-w /var/www/asasd.com的写入权限

然后,为子文件夹应用新的权限:chmod -R 775 /var/www/asasd.com/public_html(请注意,您必须使用775 chmod,因为您需要组写权限,而不是用户写权限,因为您希望整个组(ftp和www-data)都可以写),然后拥有该文件夹用于www-data chown -R www-data:www-data /var/www/asasd.com/public_html

这样,您必须能够使用FTP并使Web服务器正常工作。

祝好运!

有趣的是,此信息很难找到。人们不再共享知识了吗?

参考资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值