2007年9月11日星期二

20070801 trac apache 密码 权限

20070801 trac apache 密码 权限

20070801 trac apache 密码 权限
http://www.shengfang.org

搭建svn+apache+trac平台(二)-Trac权限管理

遨游一番Trac之后,真是爱他爱得欲罢不能。在这里我们谈谈Trac的权限配置管理,[由于Trac是用python开发的,而python我一点都不懂,只能站在一个使用者很低的角度谈了o(∩_∩)o,高手们见笑了]


配置完Trac后,默认匿名用户是拥有如下权限的
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_CREATE //创建任务单
anonymous TICKET_MODIFY //修改任务单
anonymous TICKET_VIEW //显示任务单
anonymous TIMELINE_VIEW //查看时间线
anonymous WIKI_CREATE //创建wiki
anonymous WIKI_MODIFY //修改wiki
anonymous WIKI_VIEW //查看wiki


我们可以使用trac-admin脚本来完成权限配置
【运行下面命令前,最好把Python相关的路径加到环境变量中,方便操作】
例如,我们把匿名用户的权限都干掉
python C:\Python24\Scripts\trac-admin D:/SubversionFiles/Trac/PBassistant permission remove anonymous *
【注: “D:/SubversionFiles/Trac/PBassistant”是你TRAC项目的路径,也可以先python C:\Python24\Scripts\trac-admin D:/SubversionFiles/Trac/PBassistant 启动trac-admin,然后输入permission remove anonymous *】
最后我建议重新给匿名用户加上REPORT_VIEW,TICKET_VIEW,TIMELINE_VIEW三个权限,原因是如果要使用他的RSS,没有这些权限,可能你的RSS客户端接收不到
permission add anonymous REPORT_VIEW
permission add anonymous TICKET_VIEW
permission add anonymous TIMELINE_VIEW


建立管理组admin
permission add admin TRAC_ADMIN //TRAC_ADMIN包含所有Trac的权限
然后把管理者加到admin中,如:
permission add linqingfeng admin


建立开发组developer
permission add developer BROWSER_VIEW
。。。。具体权限由你来定,这里就省略过了,细致的权限说明可以参考Trac上的Wiki.

--------------------------------------------------------------------------------

APACHE htpasswd - 管理用於基本認證的用戶文件


htpasswd建立和更新用於基本認證的存儲用戶名/密碼的文本文件。如果htpasswd不能讀寫此文件,它返回一個出錯代碼,而不做任何修改。


伺服器上的資源可以被限制為僅允許由htpasswd建立的文件中的用戶所訪問。此程式只能管理存儲在文本文件中的用戶名和密碼,但是它可以加密並顯示密碼資料,因此可以為其他數據存儲類型所利用。要使用DBM數據庫,請參見dbmmanage 。


htpasswd使用專為Apache作了修改的MD5演算法或系統函數crypt()加密密碼。htpasswd所管理的文件可以包含兩種類型的密碼;有些用戶的密碼使用MD5加密的,而同一個文件中的其他用戶密碼則使用crypt()加密。


示例


htpasswd /usr/local/etc/apache/.htpasswd-users jsmith


添加或修改用戶jsmith的密碼。密碼將被提示輸入。在Windows平台上,密碼將使用Apache修改過的MD5演算法進行加密;在其它平台上將使用crypt()進行加密。如果指定的文件不存在,htpasswd將只返回一個錯誤代碼,而不做其它任何事。


htpasswd -c /home/doe/public_html/.htpasswd jane


創建一個新文件並在其中添加一條用戶jane的記錄。密碼將被提示輸入。如果文件存在但是不能被讀取或寫入,則不會有任何記錄被修改,同時htpasswd將會顯示一個錯誤資料並返回一個錯誤代碼。


htpasswd -mb /usr/web/.htpasswd-all jones Pwd4Steve


將來自命令行的密碼(Pwd4Steve)使用MD5演算法加密,並將其存入指定的文件。


实际操作:
一、TRAC权限设置
Trac [D:\Svntrac\prj]> permission add anonymous REPORT_VIEW
Trac [D:\Svntrac\prj]> permission add anonymous TICKET_VIEW
Trac [D:\Svntrac\prj]> permission add anonymous TIMELINE_VIEW
Trac [D:\Svntrac\prj]> permission add admin TRAC_ADMIN
Trac [D:\Svntrac\prj]> permission add shengfang admin


二、HTPASSWD 密码生成
D:\SVNADDON\Apache Group\Apache2\bin>htpasswd D:\svntrac\tracpwd shengfang
Automatically using MD5 format.
New password: ******
Re-type new password: ******
Adding password for user shengfang


三、HTTPD.CONF修改
1、HTTP访问目录弹出登录提示:
Alias /svntrac "D:/svntrac"[[BR]]
#验证的目录,也就是说访问这个目录的时候会提示输入用户名和密码
#Allowoverride none
#表示进行身份验证.服务器忽略访问控制文件的设置
#order allow,deny
#allow from all
#信任任何地方的IP
authtype basic
#authtype指定认证类型。在HTTP1.0中,只有一种认证类型:basic。在HTTP1.1中有几种认证类型,如:MD5。
authname "TRAC"
#验证时弹出的窗口上所显示的内容(自己可以定义)
authuserfile D:/svntrac/tracpwd
#密码文件存放的地方
require valid-user
#指定哪些用户或组才能被授权访问。如:


2、TRAC登录


AuthType Basic
AuthName Trac"
AuthUserFile D:/svntrac/tracpwd
Require valid-user


没有评论: