-1

我有一个由 root (/var/log/apache2) 拥有的目录。我希望用户对该文件夹具有只读访问权限 - 而无需更改此文件夹的组所有者。是否可以在不将用户添加到 sudoers 文件的情况下做到这一点?

4

1 回答 1

1

这取决于您的系统是如何设置的。

如果幸运的话,该adm组已经拥有对这些文件的读取权限。如果是这样,那么只需将您的用户添加到adm组中:

sudo usermod -aG adm SOMEUSER

adm组通常用于提供对系统日志文件的读取访问权限,而无需授予用户超级权限。您的用户还可以读取adm组有权访问的任何其他内容。

如果这些文件根本没有组访问权限(即它们显示-rw-------并由 root/root 拥有),那么下一个最佳选择是使用setfacl授予您的用户对这些文件的读取权限:

sudo setfacl --modify u:SOMEUSER:rx /var/log/apache2    # let them in to the dir
sudo setfacl --modify u:SOMEUSER:r /var/log/apache2/*    # let them read the files

请注意,一旦 logrotate 打乱了这些文件,您的用户可能无法访问新的日志文件。您可能必须在 cron 作业中设置setfacl命令才能继续访问。

也可以扩展该文件夹的权限,但保持该更改涉及修改 /etc/logrotate.d/apache2 文件。由于您的包管理器可能创建了 /etc/logrotate.d/apache2(并且可能希望在某个时候对其进行修改),因此我不建议您走这条路。

于 2018-09-28T16:47:11.070 回答