服务器 频道

利用twig架设WebMail系统(下)

  【IT168 服务器学院】9. 使用者登入

  利用一组系统中已存在的帐号登入,你就可以看到下列的画面。twig 预设会有 主页 | 邮件 | 新闻 | 通讯簿 | 行程 | 会议 | 工作 | 笔记 | 书签 | 模块 | 说明 | 注销 等选项,你可以一一加以点选使用。个人环境的设定可在"模块"选项中进行修改。

 

  4、管理者接口

  我们已经在第六个步骤中设定了管理者的帐号了,接着我们还必须手动建立一个文件才能使用管理者的接口。请在 features/admin 目录中建立一个叫 users 的目录,并在此目录中建立一个名为 .admin 的文件。例如 michael 是 twig 管理员的帐号,除了必须在第六步骤中将 advanced.acl.population 文件中的管理员修改为 michael,还要在 features/admin/users 目录下建立一个 michael.admin 的文件。

  # cd /var/www/html/twig/features/admin
  # mkdir users
  # cd users
  # touch michael.admin

  接下来让我们用 michael 这个身份登入看看:

 

  有没有发现在"选项"中已多了一个"系统管理"的项目,点选进去看看吧。在这里你可以针对组别或个人使用者修改相关的设定值,是不是很方便呢?

  5、设定档介绍

  你可以藉由编辑 config 目录下的设定文件来对 TWIG 作设定上的调整:

  config.inc.php3 - 整体环境设定的设定档
  announcements.inc.php3 - 主页中会显示在"公布"字段的文件
  dbconfig.inc.php3 - 数据库的设定文件
  images.inc.php3 - 使用图片的清单
  login.footer.inc.php3 - 登入画面的文件尾设定文件
  login.form.php3 - 登入画面的主体设定文件
  login.header.inc.php3 - 登入画面的文件头设定文件
  mainmenu.inc.php3 - 显示在主页的清单项目
  defaults.inc.php3 - 使用者及程序偏好设定的默认值文件
  header.inc.php3 - 每一页的文件头设定 (本文件位于 features 目录中)
  footer.inc.php3 - 每一页的文件尾设定 (本文件位于 features 目录中)

  上述文件我们已经看过 config.inc.php3 及 dbconfig.inc.php3 这两个文件了,若有其它的需要你也可以藉由修改文件中的选项来改变设定值。接下来我们再来看看其它比较实用的例子。

  比方说你想让使用者登入后看到管理者所规定或宣布的一些事项,你可以编辑 announcements.inc.php3 这个文件,让使用者在主页中的"公布"字段中看到这些讯息。

  当然啦!如果你想将预设的 Logo 改成自已网站上的 Logo,你可以将自已作好的 Logo 图片放置于 images 目录底下,并将 images.inc.php3 文件中的「 $img["logo"] = $config["imgdir"] . "twig.gif"; 」这个变量的 "twig.gif" 值改为自已图片的文件名。

 

  怎么样?不错吧!

  6、TWIG的内部安全机制

  TWIG 提供了两个不同的安全机制:Basic 与 Advanced。这两种机制在安全上有所不同,两者只可择其一,不能共存。你可以藉由修改 config.inc.php3 设定档中的 $config["security"] 变量来改变它们。以下简单介绍这两种机制:

  Basic

  basic 机制与 TWIG 1 时的情况雷同,你可以利用 $disabled[] 来关闭一些使用者的特性项目。

  Advanced

  advanced 机制与 basic 截然不同,它可以使用 Access Control List (ACL) 来针对单一使用者或群组作设定特性的激活或关闭。此外,它还需要下列的设定:

  • twig所连结的数据库中必须要有 twig_acls 与 twig_acl_groups 两个资料表
  • 编辑 setup 目录中的 advanced.acl.population 文件,将 换成你真正的 twig 系统管理者
  • 将以上的文件加到你的数据库中

      在 setup 目录中的 advanced.acl.population 文件是用来设定 ACL 数据库的,这项设定可以让 TWIGAdministrators 群组拥有所有的权限,而让 Everyone 群组拥有预设的权限,系统刚安装好时所有的使用者都是属于 Everyone 群组。当你设定好后,你可以试着用管理者的帐号登入,此时你会发现在主页中多了一个系统管理的选项,你可以在此调整你的系统设定。不过要注意的是,advanced 机制除了 $disabled["global_autoaccounts"] 这个变量之外,并不支持任何的 $disabled[] 变量。

      看昏头了吗?不用担心!这些我们之前都已经设定好了。如果你想要使用 advanced 机制,只要将 config.inc.php3 设定档中的 $config["security"] 变量设定为 "advanced" 就好了!

      7、其它安全性的考虑

      以下针对几种安全上的议题简单地作一个介绍。

      1. 首先你必须确定你的设定档不会轻易地遭人存取。除了系统的权限之外,你最好在你的 config 目录底下加一个 .htaccess 檔。为了确保你的设定档是安全的,请试着利用浏览器取存你的 config.inc.php3 文件:
    http:////config/config.inc.php3

      2. 如果你的系统是安全的,你应该会在一个弹出的安全对话窗口后收到一个取存拒绝的讯息。如果没有,请参考网页服务器的文件来设定 .htaccess 文件。

      3. 另一个安全上的顾虑是在 TWIG 与 mail/database 服务器之间的联机问题。一个安全的系统会将它们全部放在同一台服务器上,否则你的密码可能会经由网络上传递出去。此外,关于帐号/密码之间的传递,建议你使用 SSL 加密联机。

      MySQL 在刚安装好时,数据库的使用者并没有设定密码,包括 root 也一样。所以如果希望你的系统能安全地运作,别忘了帮 root 设定一组密码。此外,本文中的范例使用 root 的身份联机是由于教学方便考量,建议在数据库联机部份,尽量使用一般使用者的身份来存取 MySQL。

      到目前的设定应该都没问题了,现在就试着登入 twig,寄封信给你的好朋友吧!
  • 0
    相关文章