GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
SVN::Access(3) User Contributed Perl Documentation SVN::Access(3)

SVN::Access - Perl extension to manipulate SVN Access files

  use SVN::Access;
  my $acl = SVN::Access->new(acl_file   =>  '/usr/local/svn/conf/my_first_dot_com.conf');

  # add a group to the config
  $acl->add_group('stooges', qw/larry curly moe shemp/);

  # write out the acl (thanks Gil)
  $acl->write_acl;

  # give the stooges commit access to the production version of 
  # our prized intellectual property, the free car giver-awayer.. 
  # (thats how we get users to the site.)
  $acl->add_resource(
      # resource path
      '/free_car_giver_awayer/branches/prod_1.21-sammy_hagar',

      # permissions
      '@stooges' => 'rw',
  );

  $acl->write_pretty; # with the equals signs all lined up.

SVN::Access includes both an object oriented interface for manipulating SVN access files (AuthzSVNAccessFile files), as well as a command line interface to that object oriented programming interface (svnaclmgr.pl) in the examples/ directory.

new
the constructor, takes key / value pairs. only one is required.. in fact only one is used right now. acl_file.

Example:

  my $acl = SVN::Access->new(acl_file   =>  '/path/to/my/acl.conf');
    
add_resource
adds a resource to the current acl object structure. note: the changes are only to the object structure in memory, and one must call the write_acl method, or the write_pretty method to commit them.

Example:

  $acl->add_resource('/',
    rick    =>  'rw',
    steve   =>  'rw',
    gibb    =>  'r',
  );
    
remove_resource
removes a resource from the current acl object structure. as with add_resource these changes are only to the object structure in memory, and must be commited with a write_ method.

Example:

  $acl->remove_resource('/');
    
resources
returns an array of resource objects, takes no arguments.

Example:

  for($acl->resources) {
      print $_->name . "\n";
  }
    
resource
resolves a resource name to its SVN::Access::Resource object.

Example:

  my $resource = $acl->resource('/');
    
add_group
adds a group to the current acl object structure. these changes are only to the object structure in memory, and must be written out with write_acl or write_pretty.

Example:

  $acl->add_group('stooges', 'larry', 'curly', 'moe', 'shemp');
    
remove_group
removes a group from the current acl object structure. these changes are only to the object structure in memory, and must be written out with write_acl or write_pretty.

Example:

  $acl->remove_group('stooges');
    
groups
returns an array of group objects, takes no arguments.

Example:

  for($acl->groups) {
      print $_->name . "\n";
  }
    
group
resolves a group name to its SVN::Access::Group object.

Example:

  $acl->group('pants_wearers')->add_member('ralph');
    
write_acl
takes no arguments, writes out the current acl object structure to the acl_file specified in the constructor.

Example:

  $acl->write_acl;
    
write_pretty
the same as write_acl, but does it with extra whitespace to line things up.

Example:

  $acl->write_pretty;
    
verify_acl
does a pre-flight check of the acl, and returns any errors found delimited by new lines. this routine is called by write_acl and write_pretty, where these errors will be considered fatal. be sure to either call this before $acl->write_*, OR use eval { } to capture the return of verify_acl into $@.

Example:

  if (my $error = $acl->verify_acl) {
    print "Problem found in your ACL: $error\n";
  } else {
    $acl->write_acl;
  }
    
add_alias
adds an alias to [aliases], takes 2 arguments: the alias name and the aliased user.

Example: $acl->add_alias('mikey', 'uid=mgregorowicz,ou=people,dc=mg2,dc=org');

remove_alias
removes an alias by name, takes the alias name as an argument.

Example: $acl->remove_alias('mikey');

alias
returns the value of an alias, uses exists() first so it will not autovivify the key in the hash.

Example: print $acl->alias('mikey') . "\n";

aliases
returns a hashref that contains the aliases. editing this hashref will edit the data inside the $acl object.

Example: foreach my $alias (keys %{$acl->aliases}) { print "$alias: " . $acl->aliases->{$alias} . "\n"; }

resolve
Returns a fully resolved list of users part of the given groups and/or aliases. Groups must be specified with a leading "@" and aliases with a leading "&", all else will be returned verbatim. This recurses through all definitions to get actual user names (so groups within groups will be handled properly).

subversion (http://subversion.tigris.org/), SVN::ACL, svnserve.conf

Michael Gregorowicz, <mike@mg2.org>

Copyright (C) 2012-2017 by Michael Gregorowicz

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.

2017-01-03 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.