[Mailman-Users] Permission denied

Brad Knowles brad at stop.mail-abuse.org
Tue Jan 18 13:10:38 CET 2005


At 11:44 AM +0000 2005-01-18, John Poltorak wrote:

>  Jan 18 11:35:20 2005 qrunner(10393): OSError :  [Errno 13] Permission denied:
> 
>'/usr/local/mailman/qfiles/virgin/1106041778.22+6270e8743606d6150c4dd1d6abbb5b7514ed40ce.pck' 
>
>
>
>  Is the Errno 13 something which is received from the OS?

	Looking in /usr/include/errno.h on one of my machines, I see the following:

#define EPERM           1               /* Operation not permitted */
#define ENOENT          2               /* No such file or directory */
#define ESRCH           3               /* No such process */
#define EINTR           4               /* Interrupted system call */
#define EIO             5               /* Input/output error */
#define ENXIO           6               /* Device not configured */
#define E2BIG           7               /* Argument list too long */
#define ENOEXEC         8               /* Exec format error */
#define EBADF           9               /* Bad file descriptor */
#define ECHILD          10              /* No child processes */
#define EDEADLK         11              /* Resource deadlock avoided */
                                         /* 11 was EAGAIN */
#define ENOMEM          12              /* Cannot allocate memory */
#define EACCES          13              /* Permission denied */
#define EFAULT          14              /* Bad address */


	So, errno=13 is definitely being passed up by the OS to Mailman, 
which is correctly interpreting this to mean that some 
file/filesystem permission was denied to it.

	As to exactly what that means in your particular context, it's 
hard to say.  I'd go looking at permissions and ownership of 
everything from /usr/local/mailman on down, and try running the 
program /usr/local/mailman/bin/check_perms.


>  I don't know much about Python but I'd just like to try this os.unlink in
>  isolation. What would my Python program need to include?

	All this routine will do is pass the filename to the system call 
"unlink()", and handle the glue necessary to make the translation 
to/from C and Python.  I don't think that there's anything useful to 
test here.

-- 
Brad Knowles, <brad at stop.mail-abuse.org>

"Those who would give up essential Liberty, to purchase a little
temporary Safety, deserve neither Liberty nor Safety."

     -- Benjamin Franklin (1706-1790), reply of the Pennsylvania
     Assembly to the Governor, November 11, 1755

   SAGE member since 1995.  See <http://www.sage.org/> for more info.



More information about the Mailman-Users mailing list