Schrift
[thread]5774[/thread]

Ablagestruktur via Perlskript erzeugen: Wie sieht das mit den UNIX-Rechten aus?

Leser: 1


<< >> 4 Einträge, 1 Seite
Ronnie
 2003-09-29 12:04
#58196 #58196
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
Hallo,

ich möchte eine Ablagestruktur mit einem Perlskript erzeugen das via CGI und sudo aufgerufen wird. Es soll ab einem Basisverzeichniss eine Unterstruktur erstellen. Gibt es etwas wie das Sticky-bit(?!) für das Skript, so dass alle erzeugten Verzeichnisse mit dieser Gruppe versehen werden? Ich kann es im Moment leider nicht ausprobieren da ich auf 'nem Windows entwickle.

Für Interessierte, das Skript:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/usr/bin/perl -w

use strict;

my $folder = shift @ARGV;
exit unless ($folder);
my $base_dir = 'C:\\testdir\\';
my @dirs = qw ( schrift.A_B_F_P pl.G_R_V daten.T_S_X cad.Z );

&two_level($folder) if ($folder =~ m/^\w{2}-\d{4}$/);
&three_level($folder) if ($folder =~ m/^\w{2}-\d{4}-\w$/);

print "Sorry Freunde, so geht es nicht!\n";
exit;

sub two_level {
my $folder = shift @_;
chdir $base_dir or die "$!\n";
die "Verzeichniss existiert bereits!\n" if (-e $folder);
mkdir $folder,0755 or die "$!\n";
chdir $folder or die "$!\n";
&structure();
exit;
}

sub three_level {
my $folder = shift @_;
chdir $base_dir or die "$!\n";
$folder =~ m/^(\w{2}-\d{4})-(\w)$/;
my ($lv1, $lv2) = ($1, $2);
die "Verzeichnisse existieren bereits!\n" if (-e "$lv1\\$lv2");
mkdir $lv1,0755 or die "$!\n" unless (-e $lv1);
chdir $lv1 or die "$!\n";
mkdir $lv2,0755 or die "$!\n";
chdir $lv2 or die "$!\n";
&structure();
exit;
}

sub structure {
for (@dirs) { mkdir $_,0775 or die "$!\n"; }
}


Gruss,
Ronnie
Ronnie
 2003-09-29 16:43
#58197 #58197
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
Vieleicht interessiert es jemanden:
Quote
chgrp mygroup myscript.pl
chmod 2755 myscript.pl
format_c
 2003-09-29 16:57
#58198 #58198
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Das ist zeimlich gefärlich das SUID Bit von einem Perlscript oder irgendeinem anderen programm zu setzen wo man es nicht unbedingt braucht.
Ich hoffe du weist was du da tust.

Gruß alex
Ronnie
 2003-09-29 22:15
#58199 #58199
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
Hi Alex,

ich verwende das SGID-Bit mit dem Recht der Gruppe (nicht root!). Diese besitzt keine außergewöhnlichen Rechte im System. Wüsste nicht was dagegen spricht?

Gruss,
Ronnie
<< >> 4 Einträge, 1 Seite



View all threads created 2003-09-29 12:04.