【发布时间】:2012-05-03 05:40:19
【问题描述】:
我是我自己的网络服务器的根,我确实编写了一个 perl 脚本来维护我的网站。从浏览器调用此脚本显示用于维护的用户界面。为了能够从我的浏览器启动这个脚本,我必须输入用户名和密码,这样除了我之外没有人可以运行这个脚本。
当我点击相应的按钮时,我希望这个脚本重命名服务器上的一些文件。在 perl 脚本中,我调用了 shell 命令 `mv oldFilename newFilename`,但没有任何反应。 Apache 的错误日志显示此消息:
[timestring] [error] [client n.n.n.n] mv: cannot move oldFilename to newFilename: Permission拒绝,推荐人:推荐人
文件名的所有者是root,权限设置为0644(所有人都可以读,只有root可以写)
这个问题的最佳解决方案是什么?有没有比将文件权限更改为 0666 更好的方法?我想避免更改权限。我更喜欢一个解决方案,其中 perl 脚本对 shell 说如下:“亲爱的 shell,这里是 root 的密码。现在请将文件 X 重命名为 Y!”
【问题讨论】:
标签: perl cgi authorization