如何赋予Apache组写权限的日志文件,以及FTP用户的只读权限

Ubuntu 11.10服务器

我有一个用户bob谁的主目录是/home/sites/bob 。 在那里有目录public_htmllogs

Apache在www-data用户下运行。 bob的主要群体是www-data 。 Apache更新logs目录中的access.logerror.log 。 这两个日志文件由root:root拥有,并具有权限644

bob用户login到一个工作的FTP服务器。 问题是bob可以删除或覆盖这两个日志文件。 我需要Apache能够写入日志,并为bob只有读取权限 – 不覆盖或删除日志。 如何才能做到这一点?

我试过了:

 cd /home/sites/bob chown www-data:www-data logs chmod 644 logs 

我期望这个工作,因为它应该给Apache的写访问和www-data组(即bob用户)只是读访问。 实际发生的事情是在FTP会话中, bob可以看到目录列表中的logs ,但是当他尝试更改logs时,他无法打开它,错误是:

命令:CWD日志
响应:550日志:没有这样的文件或目录
错误:无法检索目录列表

所以我的问题是我如何给Apache( www-data )写入访问logs但只读取访问(和不删除) bob

您需要赋予日志目录执行权限,否则用户无法进入目录。

 chmod 754 logs/