添加新文件时总是需要 chown 吗?Centos 6

添加新文件时总是需要 chown 吗?Centos 6

每当我将新文件上传到我的服务器时,我都必须chown -R apache:apache /dir确保它可以访问。

有没有更简单的方法解决这个问题?

答案1

最有可能的是,要使文件可访问,实际上需要将其组设置为apache。您可以通过运行以下命令轻松地为新创建的文件默认设置它:

find /path/to/root/directory/of/website -type d -print0 | xargs -0 chmod g+s

这也会setgid在所有子目录中设置标志。设置此标志后,在其中创建的任何新文件都将继承其父目录的组。(-print0选项-0旨在正确处理文件名中的空格)

运行前请确保文件的所有权正确。如果不确定,你可以用同样的方式修复它:

find /path/to/root/directory/of/website -print0 | xargs -0 chown apache:apache

答案2

以下是你可以使用 VSFTPD 做的事情:

您可以设置以下两个选项vsftpd.conf

guest_enable=YES
guest_username=apache

guest_enable如果启用,则确保全部文件以用户/组身份上传apache

请注意,这仅适用于通过 FTP 上传的文件。如果你将 Linux 中的文件复制到 www 目录,这不会调整权限


这就是为什么,如果您也通过文件系统访问该目录,最好使用chmod g+sLevans 建议的 -method。
(即)

find /var/www/site/public_html -print0 | xargs -0 chown apache:apache
find /var/www/site/public_html -type d -print0 | xargs -0 chmod g+s

启用访客
如果启用,所有非匿名登录都将归类为“访客”登录。访客登录将重新映射到 guest_username 设置中指定的用户。

默认:

访客用户名
请参阅布尔设置 guest_enable 以了解访客登录的构成。此​​设置是访客用户映射到的真实用户名。

默认:FTP

相关内容