bash - 以root身份运行子shell
问题描述
假设您有一台装有 Bash 的 Linux/UNIX 机器。您有一个只有 root 才能读取的文件secret.txt 。您想使用将字符串作为参数的命令,例如,
sample-command <string>
以 root 用户身份登录并使用文本文件的第一行运行命令:
root ~ $ sample-command $(sed '1!d' secret.txt)
这可以由非 root、sudoer 用户完成吗?
笔记。 sudo sh -c "<command>"
没有帮助,因为子外壳不会继承 root/sudo 特权。例如,
sarah ~ $ sudo sh -c "echo $(whoami)"
给你sarah
,不是root
。
解决方案
推荐阅读
- javascript - Javascript,尝试在 while 循环中添加线闸
- python - cannot import name 'Input' from 'tensorflow.keras.models'
- java - How do I create a unit test for a constructor with Random class in java
- r - How to remove rows based multiple conditions
- c - Is __attribute__((packed)) GCC only, or cross platform?
- javascript - Uncaught TypeError: Object(...) is not a function after updating webpack resolve.modules
- c++ - 如何将信号和插槽与 qt 中的另一个对象连接 - 已解决
- ios - Swift 5 - 电子邮件类助手/管理器
- node.js - 尝试从开放天气 api 获取一些数据时出错
- javascript - 如何为 VSC 设置终端?