in reply to Re^2: Hijacking perl functions
in thread Hijacking perl functions


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

Replies are listed 'Best First'.
Re^4: Hijacking perl functions
by mhi (Friar) on Jul 30, 2004 at 19:43 UTC
    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.
      I can't believe... I tested it here and you are right. I always tought that you needed permissions to the file to delete it. I think it is a big security problem anyway...

      bash-2.05b$ mkdir test bash-2.05b$ cd test bash-2.05b$ ls -la total 12 drwxr-xr-x 2 dcid devteam 4096 Aug 3 08:57 . drwxr-xr-x 65 dcid devteam 8192 Aug 3 08:57 .. bash-2.05b$ sudo touch file1 bash-2.05b$ ls -la total 12 drwxr-xr-x 2 dcid devteam 4096 Aug 3 08:58 . drwxr-xr-x 65 dcid devteam 8192 Aug 3 08:57 .. -rw-r--r-- 1 root root 0 Aug 3 08:58 file1 bash-2.05b$ rm file1 rm: remove write-protected regular empty file `file1'? y bash-2.05b$ ls bash-2.05b$ ls -la total 12 drwxr-xr-x 2 dcid devteam 4096 Aug 3 08:58 . drwxr-xr-x 65 dcid devteam 8192 Aug 3 08:57 .. bash-2.05b$ sudo mkdir dir1 bash-2.05b$ ls -la total 16 drwxr-xr-x 3 dcid devteam 4096 Aug 3 08:59 . drwxr-xr-x 65 dcid devteam 8192 Aug 3 08:57 .. drwxr-xr-x 2 root root 4096 Aug 3 08:59 dir1 bash-2.05b$ rmdir dir1 bash-2.05b$ ls bash-2.05b$ ls -la total 12 drwxr-xr-x 2 dcid devteam 4096 Aug 3 08:59 . drwxr-xr-x 65 dcid devteam 8192 Aug 3 08:57 ..

      *hum... this is why we need the sticky bit in the "tmp" dir.. I completely forgot about it.