← Back to team overview

sslug-teknik team mailing list archive

Re: rettigheds problemer chmod + chown mfl.

 

Tak for dit indlæg. jeg har kigget på det, og tænker på om det kan lade soig gøre med en bash kommando kommando istedet for en webside, så vi kan være sikker på at en bruger ikke opretter subdomain for en andre. Det plus at holde det simpelt skulle jeg mene var nødvendigt. Ser du desuden for disser ting og det at jeg kører "joomla!" websted på juac.dk, som jeg helst ikke vil have blandet sammen. :)

Thomas :)


Jesper K. Pedersen wrote:
On Mon, 14 Mar 2011 18:03:38 +0100
"Thomas Rosendal Jensen" <tarj1974@xxxxxxxxxxx> wrote:

Det må gerne forklares i pseudo kode

Thomas

"Thomas Rosendal Jensen" skrev i meddelelsen news:illhl9$eha$1@xxxxxxxxxxxx...

Godt nok.

Men hvordan programmerer man en sådan daemon? i BASH? i PHP?

<KLIP>
Det letteste er nok at blot gøre det i det sprog du er mest komfortabel
med.

Jeg har lavet følgende lille shell eksempel som bruger en Postgresql
database - men database typen er stort set ligegyldig da der findes
shell tilgang til alle databaser (jeg bruger blot normalt Postgresql).

Lad os sige du har lavet en database i Postgresql med navnet
"apachevirtual" med følgende opsætning :

create table tbl_mydata (
	id serial primary key,
	username varchar(50) not null,
	email varchar(255) not null,
	spooled boolean default false,
        done boolean default false);

(mange hardcore sql programmører vil kvie sig ved brugen af "id" feltet
da username, email burde være unikke i databasen med det springer vi
over for nu).

Hurtig forklaring til felterne :
	username, email siger vist sig selv
	spooled er et sandt/falsk felt som fortæller om den virtuelle
	konfiguration skal oprettes
	done er et sandt/falsk felt som fortæller om den virtuelle
	konfiguration ER oprettet

Et lille script som f.eks. kan køres hvert 5. min kan så ud noget i
stil med :


#!/bin/sh

updatedb () {
    res=`echo "update tbl_mydata set done=true where id=$1" | psql -At
apachevirtual`
}

vhosts=`echo "select id,username, email from tbl_mydata where
spooled=true and done=false" |psql -At apachevirtual`

for vhost in $vhosts; do
    id=`echo $vhost|cut -d'|' -f1`
    name=`echo $vhost|cut -d'|' -f2`
    email=`echo $vhost|cut -d'|' -f3`
###
#    echo $id
#    echo $name
#    echo $email
###
#    her laver du  så hvad du ellers ville gøre fra dit eget script
#    dvs. lav konfigurationsfil / opret biblioteker osv.
###
    updatedb $id

done;


Alt dette forudsætter at du har lavet en lille webside hvor brugeren
kan oprette sit domæne...
Før du opretter noget bør du selvfølgelig checke gyldigheden af dine
data - dvs. $name og $email

Mvh
JesperKP



Follow ups

References