bash - 在 sudoers 文件中使用“源 /some/path/to/file”时出现语法错误
问题描述
我有一个用户“abc”,我想给他非常有限的权限。其中之一是“abc”必须能够获取文件但不能读取它。所以,我让 root 成为这个文件的所有者,并试图让 sudo 访问这个“abc”用户,以便他可以获取它。
abc ALL = (root) NOPASSWD: source /file/path
当我将以上内容写入 /etc/sudoers 文件时,出现语法错误。
我知道“源”是一个内置函数,而不是一个可以在 sudoers 文件中使用的程序。如果是这样,那么我的问题还有其他出路吗?
解决方案
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
推荐阅读
- google-chrome-extension - Chrome 扩展 - 沙盒页面如何访问存储中的数据?
- mysql - 尝试在不存在的地方插入数据抛出:#1242 - 子查询返回超过 1 行
- delphi - Indy Header Last-Modified - 日期编码的参数无效
- react-native - React Native 地理位置权限回调
- python - 如何使用 tensorflow 的权重制作 MLP
- php - 从多维数组 PHP 中搜索和检索
- entity-framework - 在没有 ModelState.IsValid 的情况下检查模型是否有效
- c++ - 如何在 Google Test 中的公共方法使用的类中模拟私有方法?
- c++ - 将 shared_ptr 的 c 向量转换为 NSArray 目标C
- google-apps-script - 将触发器移动到电子表格的副本