首页 > 解决方案 > 在 sudoers 文件中使用“源 /some/path/to/file”时出现语法错误

问题描述

我有一个用户“abc”,我想给他非常有限的权限。其中之一是“abc”必须能够获取文件但不能读取它。所以,我让 root 成为这个文件的所有者,并试图让 sudo 访问这个“abc”用户,以便他可以获取它。

abc ALL = (root) NOPASSWD: source /file/path

当我将以上内容写入 /etc/sudoers 文件时,出现语法错误。

我知道“源”是一个内置函数,而不是一个可以在 sudoers 文件中使用的程序。如果是这样,那么我的问题还有其他出路吗?

标签: bashshellsudoers

解决方案


the_sourcerer.sh您应该使用 source 命令创建一个文件(在这里,我将调用它)

#!/bin/bash    
source /file/path

确保在尝试使用之前运行以下命令

chmod +x /path/to/the_sourcerer.sh

然后将更正后的行添加到/etc/sudoers

abc ALL = (root) NOPASSWD: /path/to/the_sourcerer.sh

推荐阅读