0

我的网站正在运行某种 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-*

4

3 回答 3

1

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

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

如果 tina 没有权限,上述命令将失败。

于 2012-09-07T19:13:49.513 回答
1

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

除了所有这些,您所说的用户是服务器上的实际 *NIX 用户吗?

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

基本思想是这样的:

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

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

于 2012-09-07T19:25:05.047 回答
1

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

于 2012-09-07T19:26:45.763 回答