PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [CHOWN] auf symbolische Links macht Probleme


ClausVB
09.09.2006, 14:35
Ich habe einen erfolgreichen CHOWN und einen nicht erfolgreich durchgeführt wird:

if (chown($ug_id, $ug_id, $dir_virtual_statistik))
{
print chown($ug_id, $ug_id, $dir_virtual_statistik . '/webalizer');
print "Der CHOWN für die SYMLINKs \"webalizer\" und \"logfiles\" war erfolgreich!\n";
}

$ug_id = 1120 # ug_id => u = user, g = group

Der zweite CHOWN gibt zwar eine 1 zurück, aber er ändert die Rechte nicht.

drwxr-xr-x 2 1120 1120 104 Sep 9 14:23 .
drwxr-xr-x 3 1120 1120 88 Sep 9 14:23 ..
lrwxrwxrwx 1 root root 62 Sep 9 14:23 logfiles -> /home/user120/webspace/logfiles/session.user120.de/apache2
lrwxrwxrwx 1 root root 70 Sep 9 14:23 webalizer -> /home/user120/webspace/statistics/web/session.user120.de/webalizer
(...)
drwxr-xr-x 2 1120 1120 104 Sep 9 14:23 session.user120.de
pcl3129:/htdocs/perl_einfuehrung/sessionnet #

Hinweis: Da die UID=1120 (und GID ebenfalls) nur auf dem Produktionsystem existieren, steht hier als Eigentümer wirklich die Zahl und nicht irgendein Name.

Fragen: Während das Verzeichnis ordentlich geändert werden, bleibt "webalizer" auf ROOT-Rechten stehen. Liegt das an den symbolischen Links?
Was muss ich tun, damit beide symbolischen Links auch 1120 gehören?

Danke und Gruß
Claus


ClausVB
09.09.2006, 15:43
Ich habe es jetzt mit einem Workaround hinbekommen:

print system("chown -h $ug_id.$ug_id $dir_virtual_statistik/*") . "\n";

ergibt

drwxr-xr-x 2 1120 1120 104 Sep 9 15:34 .
drwxr-xr-x 3 1120 1120 88 Sep 9 15:34 ..
lrwxrwxrwx 1 1120 1120 62 Sep 9 15:34 logfiles -> /home/user120/webspace/logfiles/session.user120.de/apache2
lrwxrwxrwx 1 1120 1120 70 Sep 9 15:34 webalizer -> /home/user120/webspace/statistics/web/session.user120.de/webalizer


und das ist natürlich dann auch richtig, aber ich wäre schon an einer "richtigen" Perl-Lösung interessiert.

Gruß
Claus