oli@netcup ~ $ date
Monday, December 11th, 2006
oli@netcup ~ $ echo Confixx und die lieben Benutzer und GruppenConfixx und die lieben Benutzer und Gruppen
Heute hatte ich endgültig genug, da es immer öffter vorkommt, dass die Gruppen und Benutzer für Dateien in den Webverzeichnisen von Confixx Kunden nicht mehr übereinstimmen, hab ich mich nun mal hingesetzt und ein kleines Perlskript geschrieben, welches mir die Arbeit beim Benutzer und Gruppen zuweisen von confixx web accounts vereinfacht.
Ich will euch dieses kleine Skript nicht vorenthalten und deshalb is es hier im Anhang:
#####################################################
# (c) by Oliver Werner (o.werner < [at]> netcup.de) #
# #
# tool for automaticaly chown confixx web #
# dirs to the right user and group #
# I take absolutly no warranty for this tool #
#####################################################
use strict;
my $workdir = "/var/www/"; #Set this to the path where your confixx webs are located
my $wwwdata = "www-data"; #Set this to the group name of your apache
#####################################################
# Don't touch anything below this line #
# expect you are knowing what you are doing! #
#####################################################
print("Opening Workdir...n");
opendir(WORKDIR, $workdir);
my @dirs = readdir(WORKDIR);
closedir(WORKDIR);
my $output = "";
print("Starting to chown files...n");
foreach my $dirname (@dirs) {
if($dirname =~ /webd+/) {
$output = `chown root:root $workdir$dirname`;
$output = `chown root:$wwwdata $workdir$dirname/atd -R`;
$output = `chown root:$dirname $workdir$dirname/backup -R`;
$output = `chown $dirname:$wwwdata $workdir$dirname/files -R`;
$output = `chown $dirname:$wwwdata $workdir$dirname/html`;
$output = `chown $dirname:$dirname $workdir$dirname/html/* -R`;
$output = `chown root:$dirname $workdir$dirname/log`;
$output = `chown root:root $workdir$dirname/log/* -R`;
$output = `chown $dirname:$wwwdata $workdir$dirname/phptmp -R`;
$output = `chown $dirname:$dirname $workdir$dirname/restore -R`;
}
}
print("All Files and dirs chowned beside errors shown above!n");
Ich übernehme aber keinerlei Verantwortung für jegliche Fehler die dieses kleine Skript verursacht.
Ansonsten ausführen is einfach:
1. Meldet euch als root an: # su
2. Die Datei anlegen und das obige Skript hineinkopieren: # vi /root/chown.pl
3. Die 2 Variablen im Head anpassen: $workdir und $wwwdata
4. Ausführen mit: # perl /root/chown.pl
5. Genießen, dass man so wenig Zeit gebraucht hat.
Vielleicht kann es ja jmd brauchen ;)
Ich werde es in Zukunft auf jeden Fall öfter einsetzen ;)
oli@netcup ~ $ clear
3 comments
to Confixx und die lieben Benutzer und Gruppen
Leave a comment
oli@netcup ~ $
on Tuesday, December 12th, 2006 at 12:39 pm:
Sinnvoller Ansatz! Hoffentlich gibt das ein paar weniger Mails im Ticketsystem.
on Tuesday, December 12th, 2006 at 5:15 pm:
4. Ausführen mit: # perl /root/chown.pl
#!/usr/bin/perl ins Skript! ;)
Dann geht es auch nur mit ./chown.pl! ;)
on Tuesday, December 12th, 2006 at 6:00 pm:
Nein geht es nich!
Man sollte ein
# chmod +x /root/chown.pl
nicht vergessen!