Hi Jos,
I started working on a perl wrapper class for SSH/Expect to
allow me to create an API similar in nature to what you
want .. the perl class wrapper allows you to log in to a remote
machine over SSH (with password or PKI) and then do whatever
you need to do .. I created this so I could create a management API
that would allow for remote management of many machines from a central
point .. over ssh, so that standard tools could be used and no special
configuration would be necessary on the client machines :).
I did this both in perl and then in python .. and found the
python version to be much easier to do, much shorter, and
more stable and functional.
I have programmed perl for 8 years and I love it but for this
one I couldn't get the perl version to handle pseudo-ttys on
the remote machine properly :(.
Thus far I just have enough code in place to:
1) Login to the remote machine as a normal user
2) su - root (python version only)
3) Run commands on the remote server
4) Have scripts created locally:
a) Transferred to the remote machine
b) run
c) STDOUT/STDERR returned to the local caller
d) The remote script is deleted.
The code is definitely alpha quality but I would be happy to share with
you the perl and python stuff I have.
I couldn't get SSH/Perl/Expect to handle pseudo-ttys on the remote machine
properly :( so su'ing to root with perl doesn't work over SSH in my
code .. but the python version DOES work :) very nicely.
Just email me privately if you'd like the code and I will make it available
to you .. same for anyone else who might be interested in it.
Regards,
Max
On Mon, 03 Feb 2003 17:29:32 +0100, Jos Kirps|EducDesign wrote:
> I would like to set up a Linux based file server accessible for Linux,
> Windows and Mac clients. The administration shall be done remotely
> (web based GUI on a client machine) using Perl scripts. The Perl
> scripts must be able to:
>
> - add and remove directories on the server (that's not the problem)
> - add and remove users (username & password -> problem)
> - set access rights for the created directories (-> also a problem)