gpt4 book ai didi

linux - 提供密码后可以执行的 Bash 脚本

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:19:23 24 4
gpt4 key购买 nike

我需要获取启用了 /bin/bash 作为 shell 的普通用户的网络服务器日志。日志存储在具有 drwx------ 权限且归 root:root 所有的目录中,因此显然他们无法访问其中的任何文件(< em>是的,我真的无法更改此权限设置)。

系统是 Debian Linux。所以我正在寻找一些包装器脚本,它可能不完全是 bash,在我看来,它将执行以下操作:

  • 您将一个参数传递给它 - 站点名称 - 即 site.com;
  • grep所有包含这个site.com的行;
  • 将结果存储到用户主目录。

这部分很简单,当您想绕过限制但仍保持(至少在某种程度上)安全时,真正的问题就出现了。所以:

  • 脚本只能在提供密码后才能运行;
  • 如果是 bash 脚本,它们是在运行它的用户帐户的权限下运行的 - 所以我猜它应该有 su -m root -c 'grep ...' 在里面,但到目前为止,我还没有找到如何将密码传递给脚本内的提示的方法(不幸的是,sudo 并不完全合适);
  • 如果有办法从脚本内部将密码传递给 su 那么当然脚本本身必须具有权限 751root:root< 的所有者 - 这样运行脚本的最终用户(或其他任何人)将无法看到脚本的内容。

我乐于接受有关应该如何完成或是否应该完成(至少以这种方式)的建议:)谢谢。

最佳答案

鉴于我对您需求的了解,我在这里总结了我想到的各种选择。排名不分先后:

  • sudo 与策略文件(/etc/sudoers -- 编辑visudo) 限制用户可用的命令
  • 使用 cron 作业(或多或少智能)定期在服务器上收集数据间隔并将它们存储在您可以访问的位置(或邮寄给您...)
  • 如果你有服务器的管理权限,你可以创建一个特殊的用户“log-grepping”工具作为连接 shell (/etc/passwd)
  • 如果您可以通过 ssh 访问您的服务器,您也可以使用服务器上的 authorized_keys 文件到 restrict remote command over ssh

这些只是一般方向。阅读有关它们的信息。试试看。如果您遇到困难,请不要犹豫,提出其他问题!

作为最后一句话,正如评论中所述,请不要自己开发自己的“安全限制系统”。 sudosshpam(可能还有其他...selinux?)是专门为此目的而设计的...

关于linux - 提供密码后可以执行的 Bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24676104/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com