如何在不将用户添加到sudoers文件的情况下使用户访问root拥有的文件夹?

时间:2018-09-28 15:56:18

标签: linux unix file-permissions folder-permissions

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

1 个答案:

答案 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(并且可能会在某些时候进行修改),因此我不建议您采用这种方式。