【问题标题】:Grant web server write permissions according to HTML filename根据 HTML 文件名授予 Web 服务器写入权限
【发布时间】:2012-09-07 18:59:03
【问题描述】:

我的网站正在运行某种 Apache。

我希望允许任何使用启用 JavaScript 的现代硬件上的任何人通过一些基本的 <textarea><button> 字段编辑我网站上的页面,前提是他们拥有正确的用户名和密码以及正确的文件名。

目前哪种技术组合可以让我授予这些人以他们的用户名开头的所有文件的写入权限? 我试图避免为此使用目录

我的意思是,是否已经有一个包或框架可以让我轻松做到这一点?

示例:

我的目录:

-rw-rw-r-- 1 myusername myusername    142 Aug 22 12:58 about.html
-rw-r--r-- 1 myusername myusername   1470 Sep  7 18:42 index.html
-rw-r--r-- 1 myusername myusername   1396 Sep  7 14:08 index.html~

-rw-r--r-- 1 myusername myusername  37553 Sep  2 12:08 laura-italy.jpg
-rw-r--r-- 1 myusername myusername  37553 Sep  2 12:08 laura-brasil.jpg
-rw-r--r-- 1 myusername myusername  37553 Sep  2 12:08 laura-usa.jpg

-rw-rw-r-- 1 myusername myusername   1512 Sep  7 07:53 tina-sylum.html
-rw-rw-r-- 1 myusername myusername   1434 Sep  7 07:47 tina-sylum.html~
-rw-rw-r-- 1 myusername myusername 103403 Sep  7 07:49 tina-time.zip

我可以授予用户laura 密码###### 对匹配laura-* 的文件的写入权限

分别是用户tina 和密码@@@@@@tina-* 的写入权限?

【问题讨论】:

  • 我不确定,但鉴于您的需求非常狭窄,我怀疑是否有专门为您提供此功能的框架。您几乎肯定需要进行一些代码编辑。

标签: javascript permissions


【解决方案1】:

这不能在客户端的 Javascript 中完成。可能也没有为此提供框架,因为它不是设计 CMS 的一种非常健壮的方式。

除此之外,您所说的用户是服务器上的实际 *NIX 用户吗?

如果没有,您需要运行某种服务器端语言(即 PHP)来处理身份验证,然后处理本地服务器文件。

基本思路是这样的:

  1. 为登录页面编写表单
  2. 编写身份验证逻辑(访问平面文件/数据库)
  3. 身份验证后,遍历所需目录中的文件以进行用户名匹配
  4. 列出相应的文件
  5. 编写编辑页面以执行文件 I/O

对于身份验证,您可能需要阅读密码散列、加盐和会话处理。

【讨论】:

  • 是的,你是对的。我想成为我自己的钥匙大师。没有臃肿的框架。
【解决方案2】:

您可以使用一些匿名名称保存文件,然后将用户密码传递给 sudo 的标准输入

echo password|sudo -u tina
echo htmledit >tina-italy.jpg

如果tina没有权限,上面的命令会失败。

【讨论】:

    【解决方案3】:

    您将不得不在某个地方管理用户列表,对吗?人们必须进行身份验证,对吗?这意味着您需要一个数据库。而且,如果您要让人们对数据库进行身份验证,那么将可编辑项目存储在数据库中并根据经过身份验证的用户来规范编辑访问可能会更有意义。我没有看到让用户以这种方式“触摸文件系统”的巨大价值。

    【讨论】:

      猜你喜欢
      • 2014-11-29
      • 2013-11-29
      • 1970-01-01
      • 2019-11-30
      • 2017-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多