Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]8393[/thread]

chmod



<< >> 4 Einträge, 1 Seite
Gast Gast
 2006-10-06 12:03
#70556 #70556
Hallo,

Gibt es eine Möglichkeit mit chmod die bestehende Zugriffsrechte lediglich zu ändern statt die alten zu löschen?

Bsp: Der user hat ein Leserecht für eine Datei
Mir ist aber nicht bekannt dass er dieses Recht besitzt.

Nun möchte ich nur den Schreibrecht hinzufügen ohne das Leserecht zu löschen.
anti
 2006-10-06 12:26
#70557 #70557
User since
2003-11-29
155 Artikel
BenutzerIn
[default_avatar]
Hi,

chmod +w datei siehe man chmod

greetz, anti
sid burn
 2006-10-06 12:30
#70558 #70558
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
@anti
ich denke er meinte wohl eher das eingebaute "chmod" in Perl, und nicht das auf der Shell.

-------

Zur Zeit ist mir unbekannt das eine Funktionalität wie sie auf der Shell existiert auch mit chmod in Perl geht. Du kannst aber vorher mit stat die Permission auslesen, dann abändern, und dann die neuen Rechte wieder Zuordnen.

Code: (dl )
1
2
3
4
5
6
7
8
9
my $file = $ARGV[0];

my $mode = (stat($file))[2];
$mode = sprintf '%04o', $mode & 07777;

my $new = $mode | 0001;
print $mode, "\n", $new, "\n";

chmod oct($new), $file;


Informationen dazu auch in:
perldoc -f stat\n\n

<!--EDIT|sid burn|1160123495-->
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de
nepos
 2006-10-06 12:33
#70559 #70559
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Naja, du kannst dir einfach die aktuellen Rechte holen:
Code (perl): (dl )
 my $mode = (stat($filename))[2];

Und dann kannst du ja mit logischen Operationen (OR) dein gewuenschtes Recht in den Mode-String einbauen und dann per chmod zuweisen. stat liefert dir da auch noch ein paar Beispiele.
<< >> 4 Einträge, 1 Seite



View all threads created 2006-10-06 12:03.