> > dharmashankar subramanian wrote: > > > Hi Shawn, > > > It appears to me that the directory has both read, as > well as execute > > > permissions (for me). > > > > > See below, the output of 'ls -al' inside the directory. > > > > > $ ls -al > > > total 28 > > > drwxr-s--x 3 shankar shankar 2048 2005-02-14 11:24 . > > > drwxr-s--x 8 shankar shankar 2048 2009-12-29 13:11 .. > > > -rw-r----- 1 shankar shankar 8355 2001-08-09 03:46 Common.pm > > > drwxr-s--x 2 shankar shankar 2048 2005-02-14 11:24 ExtUtils > > > -rw-r----- 1 shankar shankar 1001 2001-08-09 04:00 IO_Lines.t > > > -rw-r----- 1 shankar shankar 1122 2001-08-09 03:42 IO_Scalar.t > > > -rw-r----- 1 shankar shankar 1031 2001-08-09 04:00 > IO_ScalarArray.t > > > -rw-r----- 1 shankar shankar 1026 1998-03-27 02:31 IO_WrapTie.t > > > -rw-r----- 1 shankar shankar 1168 2001-08-07 03:15 simple.t > > > -rw-r----- 1 shankar shankar 942 2001-08-07 02:02 two.t > > > > $ ls -al > total 464 > drwxr-s--x 2 shankar shankar 2048 2009-11-26 04:25 . > drwxr-s--x 16 shankar shankar 2048 2009-12-29 12:49 .. > -rw-r----- 1 shankar shankar 5316 2009-09-07 10:57 Aliases.t > -rw-r----- 1 shankar shankar 3087 2009-11-16 11:44 CJKT.t > -rw-r----- 1 shankar shankar 4702 2009-09-07 10:57 Encode.t > -rw-r----- 1 shankar shankar 1004 2009-11-26 04:24 Encoder.t > -rw-r----- 1 shankar shankar 416 2009-11-26 04:24 Mod_EUCJP.pm > -rw-r----- 1 shankar shankar 4762 2009-11-26 04:24 Unicode.t > -rw-r----- 1 shankar shankar 4086 2009-09-07 10:57 at-cn.t > -rw-r----- 1 shankar shankar 2606 2009-09-07 10:57 at-tw.t > -rw-r----- 1 shankar shankar 32104 2009-09-07 10:57 big5-eten.enc > -rw-r----- 1 shankar shankar 45868 2009-09-07 10:57 big5-eten.utf > -rw-r----- 1 shankar shankar 42530 2009-09-07 10:57 big5-hkscs.enc > -rw-r----- 1 shankar shankar 60690 2009-09-07 10:57 big5-hkscs.utf > -rw-r----- 1 shankar shankar 994 2009-11-26 04:24 enc_data.t > -rw-r----- 1 shankar shankar 2101 2009-11-26 04:24 enc_eucjp.t > -rw-r----- 1 shankar shankar 24 2009-09-07 10:57 enc_module.enc > -rw-r----- 1 shankar shankar 1746 2009-11-26 04:24 enc_module.t > -rw-r----- 1 shankar shankar 1919 2009-11-26 04:24 enc_utf8.t > -rw-r----- 1 shankar shankar 5235 2009-09-07 10:57 encoding.t > -rw-r----- 1 shankar shankar 5197 2009-11-26 03:52 fallback.t > -rw-r----- 1 shankar shankar 357 2009-11-26 04:24 from_to.t > -rw-r----- 1 shankar shankar 17367 2009-09-07 10:57 gb2312.enc > -rw-r----- 1 shankar shankar 24663 2009-09-07 10:57 gb2312.utf > -rw-r----- 1 shankar shankar 820 2009-09-07 10:57 grow.t > -rw-r----- 1 shankar shankar 3461 2009-09-07 10:57 gsm0338.t > -rw-r----- 1 shankar shankar 3461 2009-11-16 11:44 guess.t > -rw-r----- 1 shankar shankar 337 2009-09-07 10:57 jis7-fallback.t > -rw-r----- 1 shankar shankar 145 2009-09-07 10:57 jisx0201.enc > -rw-r----- 1 shankar shankar 208 2009-09-07 10:57 jisx0201.utf > -rw-r----- 1 shankar shankar 16145 2009-09-07 10:57 jisx0208.enc > -rw-r----- 1 shankar shankar 22899 2009-09-07 10:57 jisx0208.utf > -rw-r----- 1 shankar shankar 20332 2009-09-07 10:57 jisx0212.enc > -rw-r----- 1 shankar shankar 20069 2009-09-07 10:57 jisx0212.utf > -rw-r----- 1 shankar shankar 2670 2009-11-26 04:24 jperl.t > -rw-r----- 1 shankar shankar 19173 2009-09-07 10:57 ksc5601.enc > -rw-r----- 1 shankar shankar 27228 2009-09-07 10:57 ksc5601.utf > -rw-r----- 1 shankar shankar 4585 2009-11-26 04:24 mime-header.t > -rw-r----- 1 shankar shankar 836 2009-11-26 04:24 mime-name.t > -rw-r----- 1 shankar shankar 1043 2009-09-07 10:57 > mime_header_iso2022jp.t > -rw-r----- 1 shankar shankar 4944 2009-11-16 11:44 perlio.t > -rw-r----- 1 shankar shankar 2623 2009-11-26 04:24 piconv.t > -rw-r----- 1 shankar shankar 1733 2009-11-26 04:24 rt.pl > -rw-r----- 1 shankar shankar 1858 2009-09-07 10:57 unibench.pl > -rw-r----- 1 shankar shankar 2530 2009-09-07 10:57 utf8strict.t
Hi Shankar, it look's like your home directory has the SGID bit set. I would have a look in this direction. Might be, this causes your problems (see below a short description in case you aren't familiar with the special permission bits). I don't know AIX, but if there're tools like strace and ltrace you could have a closer look why the reading of the test files fails cheers, gabi --------------------snip---------------------------------- *SUID or setuid: change user ID on execution. If setuid bit is set, when the file will be executed by a user, the process will have the same rights as the owner of the file being executed. *SGID or setgid: change group ID on execution. Same as above, but inherits rights of the group of the owner of the file on execution. For directories it also may mean that when a new file is created in the directory it will inherit the group of the directory (and not of the user who created the file). By default, when a user executes a file, the process which results in this execution has the same permissions as those of the user. In fact, the process inherits his default group and user identification. If you set the SUID attribute on an executable file, the process resulting in its execution doesn't use the user's identification but the user identification of the file owner. For instance, consider the script myscript.sh which tries to write things into mylog.log : # ls -l -rwxrwxrwx 10 george administrators 4096 2006-03-10 12:50 myscript.sh -rwxrwx--- 10 george administrators 4096 2006-03-10 12:50 mylog.log As you can see in this example, George gave full permissions to everybody on myscript.sh but he forgot to do so on mylog.log. When Robert executes myscript.sh, the process runs using Robert's user identification and Robert's default group (robert:senioradmin). As a consequence, myscript fails and reports that it can't write in mylog.log. In order to fix this problem George could simply give full permissions to everybody on mylog.log. But this would make it possible for anybody to write in mylog.log, and George only wants this file to be updated by his myscript.sh program. For this he sets the SUID bit on myscript.sh: # chmod u+s myscript.sh As a consequence, when a user executes the script the resulting process uses George's user identification rather than the user's. If set on an executable file, the SUID makes the process inherit the owner's user identification rather than the one of the user who executed it. This fixes the problem, and even though nobody but George can write directly in mylog.log, anybody can execute myscript.sh which updates the file content. Similarly, it is possible to set the SGID attribute on an executable file. This makes the process use the owner's default group instead of the user's one. This is done by: # chmod g+s myscript.sh By setting SUID and SGID attributes the owner makes it possible for other users to execute the file as if they were him or members of his default group. -----------------------snap-------------------------------- -- To unsubscribe, e-mail: beginners-unsubscr...@perl.org For additional commands, e-mail: beginners-h...@perl.org http://learn.perl.org/