Ubuntu 上 vsFTPd 默认上传文件权限不起作用

Ubuntu 上 vsFTPd 默认上传文件权限不起作用

我正在运行一个服务器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

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

答案1

我最终使用了

file_open_mode=0777
local_umask=022

在 vsftpd.conf 上。问题是 FTP 用户和 www-data 用户都需要写入权限,所以我必须将 www-data 和 ftpuser 加入 www-data 用户组,然后 CHMOD -R 775 删除 /var/www 上的所有文件 - 这样,使用 775 CHMOD,该组将具有读取、写入和执行的权限。现在它运行正常。

答案2

得到了我的答案:

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

创建自定义用户:

useradd –d /var/www/asasd.com -g www-data -m yourusername 这样主目录将成为/var/www/asasd.com你的用户将会www-数据团体。

此后,通过键入来更改用户密码passwd

然后,你需要创建一个公共的html文件夹内的您的用户名主文件夹,因为 FTP 无法在主文件夹的根目录中写入,所以您必须创建一个子文件夹。

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

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

这样,您就必须能够使用 FTP 并且使 Web 服务器正常运行。

祝你好运!

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

答案3

我也遇到过这样的问题:当我通过 ftp 上传文件时,文件权限被更改。这个问题可以通过修改我的vsftpd.conf

local_umask=val(like 022,007,etc.,)

答案4

您需要更改该文件的所有权:

chown root:root /home/username

相关内容