From: Ceri Storey Date: 2004-03-21T03:51:04+09:00 Subject: Re: Can $LOAD_PATH be relative? > > >security problem > > [...] > > Executables in unix don't have a knowledge of "where they are". They > don't, in fact, have to "be" anywhere. Some are even built into the boot > image, so don't in fact have to have ever "been" anywhere. Well, on some operating systems it's certainly possible to find the executable image corresponding to a process (eg: Linux) and on others you can find the device number / inode no. of each text section within the process. Of course, none of this is really important right now, since I belive he was referring to the fact that a program could be fooled into reading a different configuration file to the one the administrator intended, if a user were to either copy or create a link to the binary somewhere they had write access to. Of course, it shouldn't be a problem on a well configured system, but that's something of an ideal. > Do I recall you saying that you'd hacked ruby to get it's executable > location? I'd like to see that hack, I'm pretty confident I can think up > a number of cases where it wouldn't work. Operating systems that aren't Linux being the main case here. > Windows isn't even a multi-user OS! It also > doesn't support hard or symbolic links, or set-user-id flags on > executables, or allow you to delete a running executable, you can in > unix. Windows 2000 and XP support both multi-user operation and soft/hard links with NTFS. -- Ceri Storey