in reply to Hijacking perl functions

If you're looking to write a symbolic chmod function, I already wrote one.
_____________________________________________________
Jeff japhy Pinyan, P.L., P.M., P.O.D, X.S.: Perl, regex, and perl hacker
How can we ever be the sold short or the cheated, we who for every service have long ago been overpaid? ~~ Meister Eckhart

Replies are listed 'Best First'.
Re^2: Hijacking perl functions
by sweetblood (Prior) on Jul 29, 2004 at 18:49 UTC
    Very cool! But not what I'm doing. I have a script that does a chmod on a config file, but if the file is not owned by the user of my script it dies. So, I want to subvert chmod by having it create a new config from the old, replace the old with the new and chmod that file. So in the end the config file would be owned by the scripts user and have the proper perms. I know that this would require read permissions for my user, but in this case that is not an issue as I have control over the file.

    Thanks!

    Sweetblood

      I'm curious why you would want that to be the general case for every chmod call? Wouldn't that be better suited as config_chmod since it is so specialized?


      ___________
      Eric Hodges
        I'm sorry if you got the impression that I wanted to globally replace chmod, I don't, ony in this script. Though I can see where it could be useful in other scripts as well.

        Thanks

        Sweetblood

      If the user doesn't have the proper perms to chmod the old config how is the script going to relace the old one with the new one?

      -Nitrox

        Under *NIX file systems you need to have perms on the file to chmod it. To delete it (better: to unlink it), you merely need the right perms on the containing directory. To prevent users that have write-perms on a directory from deleting other users' files, you have to set the so-called sticky-bit on the directory.

      You will need write permission to replace this file (not
      only read permission). If your user can't chmod, he will
      be unable to remove this file too...

      -DBC
        Not so! Deleting a file under *NIX merely removes a link to the file from the directory. Therefore write permission on the directory is sufficient. No permissions on the file itself are necessary for this, not even read perms, since the file itself is not changed, but only the link leading to it! Try it for yourself.