我有以下规则集,允许组以用户“apache”身份运行任何命令:
%Test_team ALL=(apache) NOPASSWD:ALL
我想限制在此文件上运行任何命令(cat/cp/rm/vi 等)的能力,以保证其内容的安全。我可以对单个命令执行此操作,如下所示:
%Test_team ALL=(apache) NOPASSWD: !/bin/cat /etc/httpd/conf/httpd.conf.bak
我如何对所有命令执行此操作? 可能吗?
答案1
您不能使用 来限制对文件的访问sudo
。
您将无法枚举可能允许访问该文件的所有可能命令,特别是如果您允许访问 shell。sudo
配置基于要执行的命令,而不是基于这些命令可能或不可能访问的文件。
您可以尝试允许单个命令,sudo
该命令设置不允许访问该特定文件的 SELinux 上下文。该命令启动的所有进程都将受到限制。