9.2. Fjernadgang til dine filer

Af: Gunner Poulsen

At kunne opbevare sine dokumenter et sted og have mulighed for at hente dem hvorfra man vil er en stærk mulighed en Linuxserver stiller til rådighed. Traditionelt har man brugt et FTP-program til sådan noget, men FTP-protokollen transporterer brugernavne og adgangskoder i klar tekst, hvis man ikke installerer SafeTP, og det er lidt bøvlet at bruge for almindelige elever og lærere. Svenskeren Henrik Edlund har lavet to perl-scripts (Averist og Drall), der giver mulighed for bla. at hente og bringe enkeltfiler til ens hjemme-dir. På den måde kan du på en sikker måde tilbyde denne service via https. For at bruge det skal du have installeret Mod_ssl på din webserver. (Se i et andet kapittel hvordan).

9.2.1. Brugergodkendelse med Averist

For at kunne lave dette virtuelle home-dir skal der være en mulighed for at godkende brugerne i et perl-script. Til dette bruger vi Henriks Averist script. Hent det på: http://www.edlund.org/hacks/averist/. Hent den seneste stable: averist-1.4.*.tar.gz. Pak den ud med:

[root@gnuskole /root]# tar --use-compress-program=gunzip -xvf /root/averist-1.4*.tar.gz -C /root

Så skal vi lige have tilrettet Averist til RedHat: Åbn /root/averist-1.4*/Averist.pm i en teksteditor. Det er selve Averist modulet. Her skal du ændre navnet på filen med de krypterede adgangskoder til/etc/shadow så kører det. Linien er markeret i denne eksempelfil. Til sidst skal vi have lagt Averistmodulet på plads. I Redhat 6.2 gøres det med:

[root@gnuskole /root]# cp /root/averist-1.4*/Averist.pm /usr/lib/perl5/site_perl/5.005/i386-linux/

I Redhat 7.x gøres det med::


[root@gnuskole /root]# cp /root/averist-1.4*/Averist.pm /usr/lib/perl5/site_perl/5.6.0/i386-linux/

Averist behøver et andet perl-modul "Digest-MD5" for at virke. I RedHat 7.x følger det med perl-pakken. Så hvis du kører 7.x kan dette springes over. I RedHat 6.2 skal man selv installere det: Hent den seneste Digest-MD5 pakke her: www.cpan.org/modules/by-module/digest/ Vælg det seneste fx Digest-MD5-2.12.tar.gz Udpak det med:

[root@gnuskole /root]# tar --use-compress-program=gunzip -xvf /root/Digest-MD5-2.12.tar.gz -C /root

Byg og installer det med:

[root@gnuskole /root]# cd /root/Digest-MD5-2.12
[root@gnuskole Digest-MD5-2.12]# perl Makefile.PL
[root@gnuskole Digest-MD5-2.12]# make
[root@gnuskole Digest-MD5-2.12]# make test

Hvis det gik fint så:

[root@gnuskole Digest-MD5-2.12]# make install

Så skulle Averist også virke i RedHat 6.2.

Test evt. Averist med det example.pl script, der følger med.

9.2.2. Fjernadgang med Drall

For at opnå det vi vil bruge Drall til, skal vi have hentet den seneste stabile version på http://www.edlund.org/hacks/drall/. Udpak den med:

[root@gnuskole /root]# tar --use-compress-program=gunzip -xvf /root/drall-1.4*.tar.gz -C /root

Så skal scriptet tilrettes. Åbn /root/drall-1.4*/drall.pl i en teksteditor. Tilret det til dine egne forhold udfra dette forlæg. Drall har en sprogsektion, som er meget omstændelig at oversætte. Jeg har lavet et forslag til oversættelse her. Hvis du kan lide det så kopier det bare over i din drall.pl. Når Drall er klar skal det overføres til webserveren. Vi foreslår som skrevet i mod_ssl kapitlet at alle krypterede cgi-scripte samles i /scgi-bin/ .

I RedHat 6.2:

[root@gnuskole /root]# cp /root/drall-1.4*/drall.pl /home/httpd/scgi-bin/drall/

Så skal det gøres eksekverbart med:

[root@gnuskole /root]# chmod a+x /home/httpd/scgi-bin/drall.pl

Og der skal gives SUID ret med:

[root@gnuskole /root]# chmod u+s /home/httpd/scgi-bin/drall.pl

I RedHat 7.X:

[root@gnuskole /root]# cp /root/drall-1.4*/drall.pl /var/www/scgi-bin/

Så skal det gøres eksekverbart med:

[root@gnuskole /root]# chmod a+x /var/www/scgi-bin/drall.pl

Og der skal gives SUID ret med:

[root@gnuskole /root]# chmod u+s /var/www/scgi-bin/drall.pl

Hvis alt er gået godt, kan du nu se dine filer på skolen ved at gå ind på: https://www.gnuskole.dk/scgi-bin/drall.pl

Figur 9-1. Sådan ser Dralls login-skærm ud.

Figur 9-2. Sådan ser Drall ud i brug.

Husk at putte et link på skolens hjemmeside, så elever og kolleger ikke selv skal huske adressen!