luc*_*smx 16 ubuntu ftp chmod vsftpd
我有一台运行Ubuntu 12.10 x64的服务器,以及最新版本的 vsFTPd。
我的用户example.com有其主文件夹设置上/var/www/example.com,
我在里面创建了一个 public_html 文件夹并赋予777它权限,并删除了家庭用户文件夹的写入权限。一切正常,但是:
我通过 FTP(使用 SmartFTP)上传的每个文件的 chmod 都为 0。
我vsftpd.conf只有一行相关:
local_umask=022.
Run Code Online (Sandbox Code Playgroud)
我尝试更改为:
file_open_mode=777
local_umask=002
Run Code Online (Sandbox Code Playgroud)
所以我的文件会775在上传后立即得到。
但只有我上传的文件夹才能获得775权限。
我上传的文件得到 1411 permissions
有人可以帮我解决这个问题吗?
luc*_*smx 14
我最终使用
file_open_mode=0777
local_umask=022
Run Code Online (Sandbox Code Playgroud)
在 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。
然后,您需要在您的用户名主文件夹中创建一个public_html文件夹,因为 FTP 将无法写入您的主文件夹的根目录,您必须创建一个子文件夹。
删除您的用户名文件夹的
写入权限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 服务器正常工作。
祝你好运!
有趣的是,这个信息很难找到。人们不再分享知识了吗?
| 归档时间: |
|
| 查看次数: |
62143 次 |
| 最近记录: |