== Trac의 접근 권한 ==
[[TracGuideToc]]

Trac은 사용자의 접근을 제어하기 위해서 간단하지만 유연한 권한 시스템을 사용합니다.

접근 권한은 [wiki:TracAdmin trac-admin] 툴을 사용해서 설정됩니다.

시스템에 접근하는 일반 사용자(인증되지 않은)는 기본적으로 {{{anonymous}}}라고 이름 붙은  (''user'') 권한이 적용됩니다.
인증되지 않은(게스트) 사용자에게 권한을 설정하기 위해서는 {{{anonymous}}} 사용자에게 권한을 할당하십시오.

추가적으로 시스템에 인증된 사용자로 로그인 했을 때, 이 권한의 사용자들은 추가적인 권한에 접근할 수 있게 허용됩니다.

=== 이용 가능한 권한들 ===

 * {{{TRAC_ADMIN}}}
 * {{{LOG_VIEW}}}
 * {{{FILE_VIEW}}}
 * {{{CHANGESET_VIEW}}}
 * {{{BROWSER_VIEW}}}
 * {{{TICKET_VIEW, TICKET_CREATE, TICKET_APPEND, TICKET_CHGPROP, TICKET_MODIFY, TICKET_ADMIN}}}
 * {{{REPORT_VIEW, REPORT_CREATE, REPORT_MODIFY, REPORT_DELETE, REPORT_ADMIN, REPORT_SQL_VIEW}}}
 * {{{WIKI_VIEW, WIKI_CREATE, WIKI_MODIFY, WIKI_DELETE, WIKI_ADMIN}}}
 * {{{MILESTONE_VIEW, MILESTONE_CREATE, MILESTONE_MODIFY, MILESTONE_DELETE}}}
 * {{{ROADMAP_VIEW, ROADMAP_ADMIN}}}
 * {{{TIMELINE_VIEW}}}
 * {{{SEARCH_VIEW}}}
 * {{{CONFIG_VIEW}}}

{{{something_ADMIN}}} 권한은 사용자에게 ''something'' 권한을 한번에 허용하고자 할 때 사용할 수 있습니다. {{{TRAC_ADMIN}}} 권한은 *NIX 시스템에서의 {{{root}}}와 같습니다. 이 권한을 가진 사용자는 원하는 무엇이던지 할 수 있습니다.

=== 권한 허용하기 ===

현재 사용자에게 권한을 허용할 수 있는 유일한 방법은 {{{trac-admin}}} 스트립트를 사용하는 것입니다. 현재 설정된 권한들의 리스트는 다음 명령어로 확인할 수 있습니다.

{{{
  $ trac-admin /path/to/projenv permission list
}}}

다음 명령은 ''bob'' 사용자에게 리포트를 삭제할 수 있는 권한을 줍니다.

{{{
  $ trac-admin /path/to/projenv permission add bob REPORT_DELETE
}}}

=== 그룹 권한 ===

''developer'', ''admin'' 같은 형태로 권한들은 그룹지어질 수 있습니다.

{{{
  $ trac-admin /path/to/projenv permission add developer WIKI_ADMIN
  $ trac-admin /path/to/projenv permission add developer REPORT_ADMIN
  $ trac-admin /path/to/projenv permission add developer TICKET_MODIFY
  $ trac-admin /path/to/projenv permission add bob developer
  $ trac-admin /path/to/projenv permission add john developer
}}}

=== 기본 권한 설정값 ===

특별한 사용자인 ''anonymous''에게 권한을 설정하는 것은 익명사용자(로그온하기 전의 사용자)가 무엇을 할 수 있는지(권한)를 설정하기 위해 사용되어 집니다.

같은 방법으로 특별한 사용자인 ''authenticated''에게 권한을 설정하는 것은 인증된 사용자(로그온한 사용자)에게 적용됩니다.

----
참고: TracAdmin, TracGuide
