> [EMAIL PROTECTED] (Rick Mitterer) writes:
> > I'm looking for a tool that will allow a certain group or user to
> > issue privileged commands (i.e vos create and remove ) on a particular
> > server and vice partition.
> That would be ADM, developed by David VanRyzin of Carnegie Mellon.
> The tool was introduced at a recent AFS User's Group meeting. It can
> be customized using a simple Scheme-like language.
It looks interesting, but is there any usable documentation for this
thing? I managed to build it and I can do some simple stuff with it,
but what documentation there is is sparse, and occasionally just plain
wrong.
A few questions/comments:
The examples in the AFS UG paper don't work, apparently because
set! expects something which is already defined and the functions
being defined don't exist yet. The definitions work with define
instead of set! but ...
The "create-volume-on-ourserver3" example doesn't work because,
at least, it depends on several things which don't appear to be
defined: user-info and pr-member.
The ADM Administrators Manual talks about a doc_primer file but
there is no trace of such a thing.
The ADM Administrators Manual has a list of primitive functions
but no description of what they do or what their arguments are.
Many can be guessed at, for example, unix-directory might be the
equivalent of "pwd", "test -d arg", or "ls arg", and a bit of
experimentation revealed it to be an "ls" equivalent. Others
are opaque even to trial-and-error, e.g., the example in the UG
paper suggests
( vol-create-volume () "server" "a" "test" () )
might create a volume named test on server:/vicepa, but instead
adm says "expected pair (adm 1117499)", whatever that means.
Is there a way to delete functions I've defined but no longer
want? Is there even a way to find out what functions have been
defined?!
I suspect a few years of LISP experience might help, as would a few
days spent poring over the source code for adm. Probably a good
working knowledge of the AFS Programmer's Reference Manual too. In
time maybe I'll have much of that, but right now what I was really
hoping for was a tool that would let me say things like
release(volume)
if (member(user, "release-group"))
vos-release(volume)
else
error
Well, a bit more sophisticated, but I can't even figure out how to
do this much with adm. :-(
I'm not complaining about adm -- it looks like it might be a great
answer to many of our problems -- I'd just like some clue on how to
go about configuring it.
Help?
--
Karl Swartz |INet [EMAIL PROTECTED]
SLAC Computing Services | or [EMAIL PROTECTED]
1-415/926-3630 |UUCP uunet!lll-winken!unixhub!kls -or- ditka!kls
(SLAC and the US Dept. of Energy don't necessarily agree with my opinions.)