=head1 NAME

pts setfields - Sets privacy flags or the group-creation quota for a Protection
Database entry.

=head1 SYNOPSIS

pts setfields B<-nameorid> I<user or group name or id> [I<user or group name or id> ...]
[B<-access> I<set privacy flags>]
[B<-groupquota> I<set limit on group creation>]
[B<-cell> I<cell name>]  [B<-noauth>]  [B<-force>]  [B<-help>]

pts setf B<-na> I<user or group name or id> [I<user or group name or id> ...]  [B<-a> I<set privacy flags>]
[B<-g> I<set limit on group creation>]  [B<-c> I<cell name>]
[B<-no>]  [B<-f>]  [B<-h>]

=head1 DESCRIPTION

The C<pts setfields> command sets the group-creation quota, the privacy
flags, or both, associated with each user, machine, or group entry
specified by the B<-nameorid> argument.

To examine the current quota and privacy flags, use the C<pts examine>
command.

=head1 OPTIONS

=over 4

=item B<-nameorid> I<user or group name or id> [I<user or group name or id> ...]

Specifies the name or AFS UID of each user, the IP address
(complete or wildcard-style) of each machine, or the name or
AFS GID of each machine for which to set privacy flags or
group-creation quota. It is acceptable to mix users, machines,
and groups on the same command line, as well as names (IP
addresses for machines) and IDs. Precede the GID of each group
with a hyphen to indicate that it is negative.

=item B<-access> I<set privacy flags>

Specifies the privacy flags to apply to each entry. Provide a
string of five characters, one for each of the permissions. If
this option is omitted, the current setting remains unchanged.

Set each flag to achieve the desired combination of
permissions. If the following list does not mention a certain
setting, it is not acceptable. For further discussion of the
privacy flags, see the L<pts_examine(1)> reference page.

=over

=item * 

The first flag determines who can use the C<pts examine> command
to display information from a user, machine or group's
Protection Database entry.

=over

=item * 

Set it to lowercase B<s> to permit the members of the
B<system:administrators> group to display a user, machine,
or group entry, and the associated user to display a
user entry.

=item * 

Set it to uppercase B<S> to permit anyone who can access
the cell's database server machines to display a user,
machine, or group entry.

=back

=item * 

The second flag determines who can use the C<pts listowned>
command to list the groups that a user or group owns.

=over

=item * 

Set it to the hyphen (B<->) to permit the members of the
B<system:administrators> group and a user to list the
groups he or she owns, or to permit the members of the
B<system:administrators> group and a group's owner to list
the groups that a group owns.

=item * 

Set it to uppercase letter B<O> to permit anyone who can
access the cell's database server machines to list the
groups owned by a machine or group entry.

=back

=item * 

The third flag determines who can use the C<pts membership>
command to list the groups to which a user or machine
belongs, or the users and machines that belong to a group.

=over

=item * 

Set it to the hyphen (B<->) to permit the members of the
B<system:administrators> group and a user to list the
groups he or she belongs to, to permit the members of
the B<system:administrators> group to list the groups a
machine belongs to, or to permit the members of the
B<system:administrators> group and a group's owner to list
the users and machines that belong to it.

=item * 

Set it to lowercase B<m> to permit members of a group to
list the other members. (For user and machine entries,
this setting is equivalent to the hyphen.)

=item * 

Set it to uppercase B<M> to permit anyone who can access
the cell's database server machines to list membership
information for a user, machine or group.

=back

=item * 

The fourth flag determines who can use the C<pts adduser>
command to add users and machines as members of a group. This
flag has no sensible interpretation for user and machine
entries, but must be set nonetheless, preferably to the
hyphen.

=over

=item * 

Set it to the hyphen (B<->) to permit the members of the
system:administrators group and the owner of the group
to add members.

=item * 

Set it to lowercase B<a> to permit members of a group to
add other members.

=item * 

Set it to uppercase B<A> to permit anyone who can access
the cell's database server machines to add members to a
group.

=back

=item * 

The fifth flag determines who can use the C<pts removeuser>
command to remove users and machines from membership in a
group. This flag has no sensible interpretation for user and
machine entries, but must be set nonetheless, preferably to
the hyphen.

=over

=item * 

Set it to the hyphen (B<->) to permit the members of the
B<system:administrators> group and the owner of the group
to remove members.

=item * 

Set it to lowercase B<r> to permit members of a group to
remove other members.

=back

=back

=item B<-groupquota> I<set limit on group creation>

Specifies the number of additional groups a user can create (it
does not matter how many he or she has created already). Do not
include this argument for a group or machine entry.

=item B<-cell> I<cell name>

Names the cell in which to run the command. For more details,
see the introductory L<pts(1)> reference page.

=item B<-noauth>

Assigns the unprivileged identity B<anonymous> to the issuer. For
more details, see the introductory L<pts(1)> reference page.

=item B<-force>

Enables the command to continue executing as far as possible
when errors or other problems occur, rather than halting
execution at the first error.

=item B<-help>

Prints the online help for this command. All other valid
options are ignored.

=back

=head1 EXAMPLES

The following example changes the privacy flags on the group
B<operators>, retaining the default values of the first, second and third
flags, but setting the fourth and fifth flags to enable the group's
members to add and remove other members.

    pts setfields -nameorid operators -access S-Mar

The following example changes the privacy flags and sets group quota
on the user entry B<admin>. It retains the default values of the first,
fourth, and fifth flags, but sets the second and third flags, to
enable anyone to list the groups that B<admin> owns and belongs to. Users
authenticated as B<admin> can create an additional 50 groups.

    pts setfields -nameorid admin -access SOM-- -groupquota 50

=head1 PRIVILEGE REQUIRED

To edit group entries or set the privacy flags on any type of entry,
the issuer must own the entry or belong to the B<system:administrators>
group. To set group-creation quota on a user entry, the issuer must
belong to the B<system:administrators> group.

=head1 CAVEATS

Changing a machine or group's group-creation quota is allowed, but not
recommended. The concept is meaningless for machines and groups,
because it is impossible to authenticate as a group or machine.

Similarly, some privacy flag settings do not have a sensible
interpretation. The B<Arguments> section specifies the appropriate
settings.

=head1 COPYRIGHT

IBM Corporation 2000. <http://www.ibm.com/> All Rights Reserved.

Converted from html to pod by Alf Wachsmann <alfw@slac.stanford.edu>, 2003,
Stanford Linear Accelerator Center, a department of Stanford University.

=head1 SEE ALSO

L<pts(1)>,
L<pts_adduser(1)>,
L<pts_examine(1)>,
L<pts_listowned(1)>,
L<pts_membership(1)>,
L<pts_removeuser(1)>

=cut
