trac用户管理和身份验证

前面文章介绍了怎么安装trac,但是新安装的trac虽然可以在浏览器访问到,login按钮点击后,会提示:
  1. Authentication information not available. Please refer to the installation documentation.
无法登录。
下面介绍如何为项目设置用户、分配密码和权限。
1. 创建用户,分配权限
 首先启动trac项目:
  1. $ tracd --port 8000 /var/www/trac/svn/AJS
 用trac-admin命令
先看一下命令说明:
  1. [root@localhost ~] trac-admin
  2. trac-admin - Trac管理控制台 0.12.3

  3. 用法: trac-admin </path/to/projenv> [command [subcommand] [option ...]]

  4. 不带命令调用trac-admin将启动交互模式。

  5. help Show documentation
  6. initenv Create and initialize a new environment
先进入交互模式:
  1. [root@localhost ~] trac-admin /var/www/trac/svn/AJS

  2. Welcome to trac-admin 0.12.3
  3. Interactive Trac administration console.
  4. Copyright (C) 2003-2012 Edgewall Software

  5. Type: '?' or 'help' for help on commands.

  6. Trac [/var/www/trac/svn/AJS]>
输入help可以看到其中有:
  1. permission    add Add a new permission rule
这样一个命令,我们用的就是他,看下他的用法
  1. Trac [/var/www/trac/svn/AJS> help permission
  2. permission add <user> <action> [action] [...]

        Add a new permission rule

    permission list [user]

        List permission rules

    permission remove <user> <action> [action] [...]

        Remove a permission rule

    Trac [/var/www/trac/svn/AJS]>

有permission list查看当前的用户和动作:
Trac [/var/www/trac/svn/AJS]>permission list

用户             动作            
------------------------------
anonymous      BROWSER_VIEW  
anonymous      CHANGESET_VIEW
anonymous      FILE_VIEW     
anonymous      LOG_VIEW      
anonymous      MILESTONE_VIEW
anonymous      REPORT_SQL_VIEW
anonymous      REPORT_VIEW   
anonymous      ROADMAP_VIEW  
anonymous      SEARCH_VIEW   
anonymous      TICKET_VIEW   
anonymous      TIMELINE_VIEW 
anonymous      WIKI_VIEW     
authenticated  TICKET_CREATE 
authenticated  TICKET_MODIFY 
authenticated  WIKI_CREATE   
authenticated  WIKI_MODIFY   


可选动作:
 BROWSER_VIEW, CHANGESET_VIEW, CONFIG_VIEW, EMAIL_VIEW, FILE_VIEW,
 LOG_VIEW, MILESTONE_ADMIN, MILESTONE_CREATE, MILESTONE_DELETE,
 MILESTONE_MODIFY, MILESTONE_VIEW, PERMISSION_ADMIN, PERMISSION_GRANT,
 PERMISSION_REVOKE, REPORT_ADMIN, REPORT_CREATE, REPORT_DELETE,
 REPORT_MODIFY, REPORT_SQL_VIEW, REPORT_VIEW, ROADMAP_ADMIN, ROADMAP_VIEW,
 SEARCH_VIEW, TICKET_ADMIN, TICKET_APPEND, TICKET_CHGPROP, TICKET_CREATE,
 TICKET_EDIT_CC, TICKET_EDIT_COMMENT, TICKET_EDIT_DESCRIPTION,
 TICKET_MODIFY, TICKET_VIEW, TIMELINE_VIEW, TRAC_ADMIN,
 VERSIONCONTROL_ADMIN, WIKI_ADMIN, WIKI_CREATE, WIKI_DELETE, WIKI_MODIFY,
 WIKI_RENAME, WIKI_VIEW


可以看到匿名用户的权限,当然可应用 permission remove 来移除某些权限。

现在创建一个管理员用户,赋予他trac_admin的权限:
  1. Trac [/var/www/trac/svn/AJS]> permission add admin(这个是可以自己修改和添加的用户名) TRAC_ADMIN
  2. 可以多添加几个,根据情况而定。
  3. Trac [/var/www/trac/svn/AJS]>exit
  4. 退出。

2. 现在创建密码
tracd 支持Basic和Digest两种身份验证方式,默认使用Digest,这种方式来源与Apache的用户管理和身份验证。
Digest方式需要一个特定格式的密码文件,可以用Apache的htdigest命令来生成密码文件。
使用htpasswd命令:
  1. [root@localhost AJS]# htpasswd -c ./trac.htpasswd admin
  2. New password:
  3. Re-type new password:
  4. Adding password for user admin
这样就在目录下生成了一个密码文件。看下文件内容:
  1. $ cat trac.htpasswd
  2. admin:35ttomzPLkie6
继续为用户root创建密码,因为用同一个密码文件,命令中的 -c 选项就不要了:
  1. [root@localhost AJS]# htpasswd -c ./trac.htpasswd root
  2. New password:
  3. Re-type new password:
  4. Adding password for user root
3. 下面用呆验证的方式来启动trac
命令不懂,先看trac的帮助:
  1. [root@localhost ~]# tracd --port 8000 /var/www/trac/svn/AJS --help
    Usage: tracd [options] [projenv] ...

    Options:
      --version             show program's version number and exit
      -h, --help            show this help message and exit
      -a DIGESTAUTH, --auth=DIGESTAUTH
                            [projectdir],[htdigest_file],[realm]

      --basic-auth=BASICAUTH
                            [projectdir],[htpasswd_file],[realm]

      -p PORT, --port=PORT  the port number to bind to
      -b HOSTNAME, --hostname=HOSTNAME
                            the host name or IP address to bind to
      --protocol=PROTOCOL   http|scgi|ajp|fcgi
      -q, --unquote         unquote PATH_INFO (may be needed when using ajp)
      --http10              use HTTP/1.0 protocol version instead of HTTP/1.1
      --http11              use HTTP/1.1 protocol version (default)
      -e PARENTDIR, --env-parent-dir=PARENTDIR
                            parent directory of the project environments
      --base-path=BASE_PATH
                            the initial portion of the request URL's "path"
      -r, --auto-reload     restart automatically when sources are modified
      -s, --single-env      only serve a single project without the project list
      -d, --daemonize       run in the background as a daemon
      --pidfile=PIDFILE     when daemonizing, file to which to write pid
      --umask=MASK          when daemonizing, file mode creation mask to use, in
                            octal notation (default 022)
      --group=GROUP         the group to run as
      --user=USER           the user to run as
    wang@wang-Lenovo-B460:~$

使用 --basic-auth 参数,启动服务器
  1. [root@localhost ~]#tracd --port 8000 --basic-auth="*, /var/www/trac/svn/AJS/trac.htpasswd,"  /var/www/trac/svn/AJS
  2. Server starting in PID XXXXX.
  3. Serving on 0.0.0.0:8000 view at http://127.0.0.1:8000/
  4. Using HTTP/1.1 protocol version
  5. 127.0.0.1 - - [26/Feb/2011 13:00:49] "GET /first-trac/wiki HTTP/1.1" 200 -
  6. 127.0.0.1 - - [26/Feb/2011 13:00:49] "GET /first-trac/chrome/site/your_project_logo.png HTTP/1.1" 404 -
  7. 127.0.0.1 - - [26/Feb/2011 13:00:51] "GET /first-trac/login HTTP/1.1" 401 -
  8. 127.0.0.1 - - [26/Feb/2011 13:00:56] "GET /first-trac/login HTTP/1.1" 302 -
  9. 127.0.0.1 - - [26/Feb/2011 13:00:56] "GET /first-trac/wiki HTTP/1.1" 200 -
  10. 127.0.0.1 - - [26/Feb/2011 13:00:56] "GET /first-trac/chrome/site/your_project_logo.png HTTP/1.1" 404 -
好了,现在访问trac,点击login,输入刚才设置的用户名密码,
登录成功,以后就可以用webadmin插件来管理了。

如下图:



参考:
1. http://trac.edgewall.org/wiki/TracAdmin
2. http://trac.edgewall.org/wiki/TracStandalone
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值