我需要让/bin/bash
启用了shell的普通用户获取Web服务器日志。日志存储在drwx------
权限的目录中,由root:root
拥有,因此很明显他们无法访问其中的任何文件(是的,我真的不能更改此权限设置)。
系统是Debian Linux。所以我正在寻找一些包装脚本,它可能不是bash
,在我看来,它会做以下事情:
site.com
; grep
包含此site.com
; 这部分很容易,当你想绕过限制但至少在某种程度上安全时,会出现真正的问题。所以:
su -m root -c 'grep ...'
,但我发现如何将密码传递给内部的提示到目前为止的脚本(sudo
并不完全适合); su
,那么当然脚本本身必须具有751
权限和root:root
的所有者 - 以便最终用户运行脚本(或其他任何人)无法查看脚本的内容。我愿意接受如何做到这一点的建议,或者是否应该完成(至少这样):)谢谢。
答案 0 :(得分:2)
鉴于我对您的需求的理解,我在此总结了我想到的各种选择。没有特别的顺序:
sudo
与策略文件(/etc/sudoers
- 一起使用 - 编辑
visudo
)限制用户可用的命令cron
作业(或多或少智能)定期收集服务器上的数据
间隔并将它们存储在您可以访问的位置(或邮件它们给您...)/etc/passwd
)authorized_keys
文件为restrict remote command over ssh 这些只是一般指示。了解他们。试试吧。如果你挣扎,不要犹豫,发布另一个问题!
总而言之,正如评论中已经说明的那样,请不要自己开发自己的安全限制系统"。 sudo
,ssh
,pam
(可能还有其他人...... selinux
?)是专为此目的制作的......