[완료]Trac 설치시 사용자별로 소스보기를 제한할수 있는 방법이 있는지요?

stingray의 이미지

일반적으로 trac에서 티켓을 발행하는것은 로그인 사용자만 할당해서 처리할수 있는데, Brouse Source는 로그인을 안해도 소스를 볼수가 있습니다. 이를 막을수 있는 방법이 있는지요?
제가 프로젝트 디렉토리에 그룹권한을 바꿔가며 테스트 해보는데 잘 안됩니다. 아예 trac에 접근이 안되도록 할려는거였는데 권한을 가진 사용자도 아래와 같이 에러가 나면서 접근이 안됩니다.

Traceback (most recent call last):
  File "/usr/local/python/lib/python2.6/site-packages/Trac-0.11-py2.6.egg/trac/web/api.py", line 339, in send_error
    'text/html')
  File "/usr/local/python/lib/python2.6/site-packages/Trac-0.11-py2.6.egg/trac/web/chrome.py", line 684, in render_template
    data = self.populate_data(req, data)
  File "/usr/local/python/lib/python2.6/site-packages/Trac-0.11-py2.6.egg/trac/web/chrome.py", line 592, in populate_data
    d['chrome'].update(req.chrome)
  File "/usr/local/python/lib/python2.6/site-packages/Trac-0.11-py2.6.egg/trac/web/api.py", line 168, in __getattr__
    value = self.callbacks[name](self)
  File "/usr/local/python/lib/python2.6/site-packages/Trac-0.11-py2.6.egg/trac/web/chrome.py", line 460, in prepare_request
    for category, name, text in contributor.get_navigation_items(req):
  File "/usr/local/python/lib/python2.6/site-packages/Trac-0.11-py2.6.egg/trac/ticket/web_ui.py", line 133, in get_navigation_items
    if 'TICKET_CREATE' in req.perm:
  File "/usr/local/python/lib/python2.6/site-packages/Trac-0.11-py2.6.egg/trac/perm.py", line 523, in has_permission
    return self._has_permission(action, resource)
  File "/usr/local/python/lib/python2.6/site-packages/Trac-0.11-py2.6.egg/trac/perm.py", line 537, in _has_permission
    check_permission(action, perm.username, resource, perm)
  File "/usr/local/python/lib/python2.6/site-packages/Trac-0.11-py2.6.egg/trac/perm.py", line 424, in check_permission
    perm)
  File "/usr/local/python/lib/python2.6/site-packages/Trac-0.11-py2.6.egg/trac/perm.py", line 282, in check_permission
    get_user_permissions(username)
  File "/usr/local/python/lib/python2.6/site-packages/Trac-0.11-py2.6.egg/trac/perm.py", line 357, in get_user_permissions
    for perm in self.store.get_user_permissions(username):
  File "/usr/local/python/lib/python2.6/site-packages/Trac-0.11-py2.6.egg/trac/perm.py", line 173, in get_user_permissions
    db = self.env.get_db_cnx()
  File "/usr/local/python/lib/python2.6/site-packages/Trac-0.11-py2.6.egg/trac/env.py", line 257, in get_db_cnx
    return DatabaseManager(self).get_connection()
  File "/usr/local/python/lib/python2.6/site-packages/Trac-0.11-py2.6.egg/trac/db/api.py", line 76, in get_connection
    return self._cnx_pool.get_cnx(self.timeout or None)
  File "/usr/local/python/lib/python2.6/site-packages/Trac-0.11-py2.6.egg/trac/db/pool.py", line 101, in get_cnx
    cnx = self._connector.get_connection(**self._kwargs)
  File "/usr/local/python/lib/python2.6/site-packages/Trac-0.11-py2.6.egg/trac/db/sqlite_backend.py", line 126, in get_connection
    return SQLiteConnection(path, params)
  File "/usr/local/python/lib/python2.6/site-packages/Trac-0.11-py2.6.egg/trac/db/sqlite_backend.py", line 168, in __init__
    % (getuser(), path))
TracError: The user jhlee requires read _and_ write permission to the database file /var/trac/project/INCHEON_NH/db/trac.db and the directory it is located in.

아 그리고 혹시 위의 에러에서 jhlee라는 사용자는 어디에 설정한 값을 참조하여 나오는걸까요?? 제 계정이 jhlee이긴 한데..제가 trac설정이나 apache설정에 딱히 설정한 부분이 없는데요..
The user jhlee requires read _and_ write permission to the database file /var/trac/project/INCHEON_NH/db/trac.db and the directory it is located in

두서없이 질문해서 죄송합니다.
trac이 너무 까다롭습니다. 흑..

2008년의 마지막날을 잘 보내시기바랍니다. 감사합니다.

myPassion의 이미지

요즘은 권한 설정을 안해봐서 구체적으로는 잊어버렸는데요..
디렉토리 권한 설정보다는 콘솔에서 trac-admin을 사용해서 할 수 있지 않나요?

접근자체를 막는 것은 http로그인 기능으로 막을 수 있도록 하는 방법이 trac홈페이지에 있는 것으로 알고 있습니다.
--------------------------------
http://www.elegantcoder.com

--------------------------------
http://www.elegantcoder.com

cynicjj의 이미지

trac-admin.py C:\Trac\MyTracProject permission remove anonymous BROWSER_VIEW LOG_VIEW FILE_VIEW CHANGESET_VIEW

이거면 될것 같습니다

sio4의 이미지

trac을 자체 서버 모드가 아닌 apache 연동 모드로 설정하고, svn 도 apache를 통해서 나가도록 설정해주고, 웹서버 기반 통합 인증을 사용하도록 하고, (약간 성가신 부분도 없지는 않지만) svn, trac에서 적절히 사용자/그룹 별로 권한 설정을 해주면 svn의 하위 디렉토리별 접근 관리를 할 수 있습니다.

자세한 내용은 가물가물 한데, trac의 메뉴얼과 svn의 메뉴얼을 함께 보시면 해답을 찾으실 수 있을 것 같습니다.

--
"The love you take is equal to the love you make." The End, by Beatles

--
"The love you take is equal to the love you make." The End, by Beatles

stingray의 이미지

trac을 자체 서버 모드가 아닌 apache 연동 모드로 설정하였습니다.
svn 도 apache를 통해서 나가도록 설정하였습니다.
웹서버 기반 통합 인증을 사용하도록 하고(AccountManager 플러그인을 설치하려 합니다. 그런데 이게 맞는건지는 잘 모르겠습니다.)
svn 에서 적절히 사용자/그룹 별로 권한 설정을 conf의 authz파일을 수정해서 svn의 하위 디렉토리별 접근 관리를 하였습니다.

결국 아직 안된거는 Trac에 설치할 AccountManager라는 플러그인인데 이게 아파치 계정의 관리를 Trac을 통해 가능하게 해주는거더군요.
이것만 하면 처리가 될까요??
통합된 적절한 예제가 있으면 좋겠는데...아직 부분 단위로 처리해놓은 예제만 봐서리...
다시한번 매뉴얼을 읽어봐야겠습니다.

답변에 감사드립니다.

새해복많이 받으세요~

나는 너에게 너는 나에게
잊혀지지 않는 하나의 의미가 되고 싶다.

stingray의 이미지

http://trac.edgewall.org/wiki/TracFineGrainedPermissions
여기에 보면 trac의 환경설정 파일에 SVN 권한 설정 파일의 위치를 등록하도록
나와있습니다.
이를 처리해주니 소스보기가 금지되는군요.

감사합니다. :)
===================================
나는 너에게 너는 나에게
잊혀지지 않는 하나의 의미가 되고 싶다.

나는 너에게 너는 나에게
잊혀지지 않는 하나의 의미가 되고 싶다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.