在sudoers文件中使用'source / some / path / to / file'时出现语法错误

时间:2019-01-08 08:54:01

标签: bash shell sudoers

我有一个用户“ abc”,我想向其授予非常有限的权限。其中之一是“ abc”必须能够获取文件但不能读取文件。因此,我以root用户身份成为该文件的所有者,并试图授予sudo访问此“ abc”用户的权限,以便他可以获取该文件。

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

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

我知道'source'是一个内置函数,而不是可以在sudoers文件中使用的程序。如果是这样,那么还有其他解决方法吗?

1 个答案:

答案 0 :(得分:0)

您应该使用源命令创建一个文件(在这里,我将其称为the_sourcerer.sh

#!/bin/bash    
source /file/path

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

chmod +x /path/to/the_sourcerer.sh

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

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