Avatar billede walker Nybegynder
20. juli 2003 - 14:51 Der er 17 kommentarer og
2 løsninger

cgi's oprette maildirs

Hej
Jeg skal ha lavet et maildir med et cgi-script(perl). Jeg bruger følgende:

#!/usr/bin/perl
$command = "maildirmake /dir/to/mail";
$status = system($command);

...hvilket også virker, og opretter et maildir... problemet er imidlertid, at dir'et er ejet af apache:apache samt at rettighederne er : 700 på dir'et... dette dur jo ikke rigtigt, når postfix:postfix brugeren skal smide mails ned i dir'et, og de virtuelle brugere: 100xx:100xx skal kunne læse i dem...

Hvordan får jeg ændre rettighederne til mail-dir'et med cgi? jeg kan ihvertfald ikke bruge 'chown' kommandoen fra cgi, da det jo kun er root som kan det. chmod kan jeg heller ikke bruge, og hvis jeg skriver:

$command = "umask 0 && maildirmake /dir/to/mail";
$status = system($command);

...ændrer det bare ikke noget...

på forhånd tak
Walker
Avatar billede walker Nybegynder
20. juli 2003 - 14:51 #1
ps. jeg oprettede det her under linux, da det jo nok er lidt mere linux- end cgikundskab dette kræver ;o)
Avatar billede mfalck Praktikant
20. juli 2003 - 14:59 #2
jeg tror umiddelbart at det letteste ville være at sætte oplysningerne (altså brugerid, gruppeid og navnet på kataloget) ind i en database og så køre et cron-script med passende intervaller som laver din chown når der er sat noget ind i databasen.
Avatar billede mfalck Praktikant
20. juli 2003 - 15:02 #3
evt kan du lave en tabel ala

id  int,
kommand varchar2(50),
state  int

i dit script kan du sætte:
insert into kommando-tabel (kommando, state) values ('chown -R 10001:10001 /dir/to/mail', 0);
Avatar billede mfalck Praktikant
20. juli 2003 - 15:20 #4
løsningen ovenover skal man naturligvis være lidt varsom med eftersom det er et sikkerhedshul på størrelse med en hval man skaber :-)
Avatar billede walker Nybegynder
20. juli 2003 - 15:30 #5
hmm, med et cron script, er det vel bare at man sætter computeren, med jævne mellemrum, at sætte ejerskabet... men jeg ved at det kan lade sig gøre at få cgi-scriptet til at oprette dir'et, så det virker... jeg kørte med samme opstilling før, men af en eller anden grund, virkede det dengang... Tror måske det kan være noget med en umask som var sat, som af en eller anden grund ikke er det nu... men jeg aner ikke hvordan man sætter umask for apache..?
Avatar billede mfalck Praktikant
20. juli 2003 - 15:37 #6
umask sættes (for alle brugere) i /etc/bashrc
Avatar billede mfalck Praktikant
20. juli 2003 - 15:38 #7
ellers kan du lave en chmod 777 på kataloget bagefter - men det betyder jo stadig at det er ejet af apache-brugeren.
Avatar billede dank Nybegynder
20. juli 2003 - 16:04 #8
chmod 777 af et maildir? :o)
Avatar billede mfalck Praktikant
20. juli 2003 - 16:09 #9
dank> ææh er der noget jeg overser ?
Avatar billede walker Nybegynder
20. juli 2003 - 16:51 #10
ved godt at chmod 777 ikke er så godt... men er det overhovedt muligt at lave et cgi-script som kan ændre ejeren til et dir?
Avatar billede dank Nybegynder
20. juli 2003 - 18:46 #11
hvordan kører du scriptet?
Avatar billede thomasledet Nybegynder
21. juli 2003 - 10:17 #12
ellers kunne SuExec også være noget, man kunne overveje...

http://httpd.apache.org/docs/suexec.html
Avatar billede walker Nybegynder
21. juli 2003 - 11:07 #13
lige nu kører jeg med at eksekvere chmod 777, bare for at få det til at virke... men thomasledet<< suEXEC lyder da spændende... det er vel egentlig det jeg burde bruge...
Avatar billede walker Nybegynder
21. juli 2003 - 11:11 #14
hmm, det lyder ret godt, suEXEC, men kunne forestille mig at der ville være lidt porblematik i-og-med at ejerskabet for maildir's er virituelle brugere, som kun er registreret i en database... men jeg må lige kikke lidt nærmere på det...
Avatar billede dank Nybegynder
21. juli 2003 - 12:11 #15
walker> Hvordan kører du scriptet? Fra web/shell/cron/whatever?
Avatar billede walker Nybegynder
21. juli 2003 - 16:02 #16
det er et cgi-script, som bliver kaldt på kaldt på mit website...
Avatar billede dank Nybegynder
23. juli 2003 - 02:44 #17
ja.. så er det klart det ikke kan lade sig gøre.. pga forskellige brugere.. men hvis du f.eks. afviklede via shell, a´la perl script.pl ville der ikke være probs.
Avatar billede walker Nybegynder
01. august 2003 - 09:25 #18
ok... ikke noget at gøre ved... post lige et svar i forskellige, så deler jeg lige pointene ud :)
Avatar billede mfalck Praktikant
01. august 2003 - 09:27 #19
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester