519 |
related to this specific database, including the @file{categories}, |
related to this specific database, including the @file{categories}, |
520 |
@file{submitters}, @file{responsible}, @file{states}, @file{classes}, |
@file{submitters}, @file{responsible}, @file{states}, @file{classes}, |
521 |
@file{dbconfig}, @file{addresses}, @file{states} and |
@file{dbconfig}, @file{addresses}, @file{states} and |
522 |
@file{gnatsd.access}, as well as two |
@file{gnatsd.user_access}, as well as two |
523 |
files generated and maintained by @sc{gnats}, @file{index} and |
files generated and maintained by @sc{gnats}, @file{index} and |
524 |
@file{current}. |
@file{current}. |
525 |
|
|
627 |
all databases on the server. @xref{gnatsd.host_access,,The |
all databases on the server. @xref{gnatsd.host_access,,The |
628 |
@file{gnatsd.host_access} file}. |
@file{gnatsd.host_access} file}. |
629 |
|
|
630 |
@item gnatsd.access |
@item gnatsd.user_access |
631 |
The access-level settings for the users that will be accessing |
The access-level settings for the users that will be accessing |
632 |
the databases on your server. The settings in this file apply across |
the databases on your server. The settings in this file apply across |
633 |
all databases on the server. @xref{gnatsd.access,,The |
all databases on the server. @xref{gnatsd.user_access,,The |
634 |
@file{gnatsd.access} file}. |
@file{gnatsd.user_access} file}. |
635 |
@end table |
@end table |
636 |
|
|
637 |
@item @var{prefix}/share/emacs/site-lisp |
@item @var{prefix}/share/emacs/site-lisp |
688 |
|
|
689 |
@item states |
@item states |
690 |
|
|
691 |
@item gnatsd.access |
@item gnatsd.user_access |
692 |
|
|
693 |
@item index |
@item index |
694 |
(@emph{This file is created by @sc{gnats}.}) |
(@emph{This file is created by @sc{gnats}.}) |
1558 |
* Overview:: |
* Overview:: |
1559 |
* Overall gnatsd access level:: |
* Overall gnatsd access level:: |
1560 |
* gnatsd.host_access:: Per-host access settings |
* gnatsd.host_access:: Per-host access settings |
1561 |
* gnatsd.access:: Access levels per user |
* gnatsd.user_access:: Access levels per user |
1562 |
* Privileged gnatsd commands:: |
* Privileged gnatsd commands:: |
1563 |
@end menu |
@end menu |
1564 |
|
|
1660 |
than is set for their host. The gnatsd @code{USER} command takes two |
than is set for their host. The gnatsd @code{USER} command takes two |
1661 |
arguments: @code{USER <userid> <passwd>}. |
arguments: @code{USER <userid> <passwd>}. |
1662 |
|
|
1663 |
@node gnatsd.access |
@node gnatsd.user_access |
1664 |
@section Access levels per user |
@section Access levels per user |
1665 |
@cindex @file{gnatsd.access} |
@cindex @file{gnatsd.user_access} |
1666 |
|
|
1667 |
Access levels per user can be set both across all databases on the |
Access levels per user can be set both across all databases on the |
1668 |
server or on a per-database basis. The @file{gnatsd.access} file in a |
server or on a per-database basis. The @file{gnatsd.user_access} file in a |
1669 |
database's @file{gnats-adm} directory specifies the user access rules |
database's @file{gnats-adm} directory specifies the user access rules |
1670 |
for that database. If it doesn't exist, or doesn't contain the user |
for that database. If it doesn't exist, or doesn't contain the user |
1671 |
name given to @code{gnatsd}, then the file |
name given to @code{gnatsd}, then the file |
1672 |
@w{@file{@var{SYSCONFDIR}/gnats/gnatsd.access}}, usually |
@w{@file{@var{SYSCONFDIR}/gnats/gnatsd.user_access}}, usually |
1673 |
@w{@file{/etc/gnats/gnatsd.access}}, specifying the per-user |
@w{@file{/etc/gnats/gnatsd.user_access}}, specifying the per-user |
1674 |
access levels across all the databases on the server is checked. |
access levels across all the databases on the server is checked. |
1675 |
|
|
1676 |
The user access files can only @emph{increase} the access level |
The user access files can only @emph{increase} the access level |
1680 |
If the access level is @code{none} after processing the userid and |
If the access level is @code{none} after processing the userid and |
1681 |
password, the connection is closed. |
password, the connection is closed. |
1682 |
|
|
1683 |
The @file{gnatsd.access} files can contain plain text passwords, in |
The @file{gnatsd.user_access} files can contain plain text passwords, in |
1684 |
such a case they should be owned by the @sc{gnats} user with file |
such a case they should be owned by the @sc{gnats} user with file |
1685 |
permission 600. |
permission 600. |
1686 |
|
|
1688 |
plain text passwords. A null string or @samp{*} matches anything; |
plain text passwords. A null string or @samp{*} matches anything; |
1689 |
@samp{?} matches any one character. |
@samp{?} matches any one character. |
1690 |
|
|
1691 |
Entries in the database-specific @file{gnatsd.access} user access file |
Entries in the database-specific @file{gnatsd.user_access} user access file |
1692 |
in the @file{gnats-adm} directory of the database have the following |
in the @file{gnats-adm} directory of the database have the following |
1693 |
general format: |
general format: |
1694 |
|
|
1706 |
string @samp{$1$}. Passwords encrypted by @code{crypt()} should have no |
string @samp{$1$}. Passwords encrypted by @code{crypt()} should have no |
1707 |
prefix. |
prefix. |
1708 |
|
|
1709 |
A @code{gnats-passwd} tool to manage @file{gnatsd.access} files is |
A @code{gnats-passwd} tool to manage @file{gnatsd.user_access} files is |
1710 |
planned. In the meantime, @code{crypt()} passwords can be generated by |
planned. In the meantime, @code{crypt()} passwords can be generated by |
1711 |
using standard UNIX passwords tools, while MD5 passwords can be |
using standard UNIX passwords tools, while MD5 passwords can be |
1712 |
generated with the following little Perl snippet: |
generated with the following little Perl snippet: |
1724 |
perl -MCPAN -e 'install Crypt::PasswdMD5' |
perl -MCPAN -e 'install Crypt::PasswdMD5' |
1725 |
@end example |
@end example |
1726 |
|
|
1727 |
A tool for conversion of pre-version 4 @file{gnatsd.access} files is |
A tool for conversion of pre-version 4 @file{gnatsd.user_access} files is |
1728 |
distributed with @sc{gnats} 4. @xref{gnats-pwconv,,Converting old |
distributed with @sc{gnats} 4. @xref{gnats-pwconv,,Converting old |
1729 |
password files}. |
password files}. |
1730 |
|
|
1733 |
lowers) the access level given as the default for the user's host in the |
lowers) the access level given as the default for the user's host in the |
1734 |
global gnatsd.host_access file. |
global gnatsd.host_access file. |
1735 |
|
|
1736 |
The following shows an example gnatsd.access file with plain text passwords: |
The following shows an example @file{gnatsd.user_access} file with |
1737 |
|
plain text passwords: |
1738 |
|
|
1739 |
@example |
@example |
1740 |
rickm:$0$ruckm:edit |
rickm:$0$ruckm:edit |
1755 |
to anyone. |
to anyone. |
1756 |
|
|
1757 |
The overall user access file |
The overall user access file |
1758 |
@w{@file{@var{SYSCONFDIR}/gnats/gnatsd.access}}, usually |
@w{@file{@var{SYSCONFDIR}/gnats/gnatsd.user_access}}, usually |
1759 |
@w{@file{/etc/gnats/gnatsd.access}}, adds a fourth |
@w{@file{/etc/gnats/gnatsd.user_access}}, adds a fourth |
1760 |
@var{database} field. This file contains a comma-separated list of |
@var{database} field. This file contains a comma-separated list of |
1761 |
database names, as defined in the @file{databases} file |
database names, as defined in the @file{databases} file |
1762 |
(@pxref{databases file,,The @code{databases} file}. Wildcard characters |
(@pxref{databases file,,The @code{databases} file}. Wildcard characters |