我有一个根目录(/ var / log / apache2)拥有的目录。我希望用户具有对该文件夹的只读访问权限-而不更改此文件夹的组所有者。是否可以在不将用户添加到sudoers文件的情况下做到这一点?
答案 0 :(得分: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(并且可能会在某些时候进行修改),因此我不建议您采用这种方式。