> Sumith Ail wrote:
>
> Hello
>
> If I add more than 100 users in a domain the users are created in
> /home/domains/domain.com/0 folder, but the permissions are set to
> vpopmail and vchkpw and not to the unix uid which I had set for the
> domain.
>
> So, these users cannot authenticate from pop3 unless I change there
> permissions back to the unix user ID.
>
> Any Idea whats going wrong. Do I have to continue by manually change
> the permissions for the subfolders.
>
> We are using Qmail + Vpopmail 4.9.8-1 (CDB) + Qmailadmin 0.39
>
> Thanks
> Sumith
Sumith,
You discovered a bug in the r_mkdir() function in vpopmail.c
It is fixed in the "just released as of this email" version 4.9.9
Or you can patch your vpopmail.
in vpopmail.c
old code:
int r_mkdir(char *path, int uid, int gid )
{
static char tmpbuf[MAX_DIR_NAME];
int i;
for(i=0;path[i]!=0;++i){
if ( path[i] == '/' ) {
tmpbuf[i] = 0;
mkdir(tmpbuf,VPOPMAIL_DIR_MODE);
chown(tmpbuf, VPOPMAILUID, VPOPMAILGID);
}
tmpbuf[i] = path[i];
}
mkdir(path,VPOPMAIL_DIR_MODE);
chown(path, VPOPMAILUID, VPOPMAILGID);
return(0);
}
new code:
int r_mkdir(char *path, uid_t uid, gid_t gid )
{
static char tmpbuf[MAX_DIR_NAME];
int i;
for(i=0;path[i]!=0;++i){
if ( path[i] == '/' ) {
tmpbuf[i] = 0;
mkdir(tmpbuf,VPOPMAIL_DIR_MODE);
chown(tmpbuf, uid, gid);
}
tmpbuf[i] = path[i];
}
mkdir(path,VPOPMAIL_DIR_MODE);
chown(path, uid, gid);
return(0);
}
Notice the difference bewteen the 2 chown calls.
You will have to recompile vpopmail, then install
it. Then in qmailadmin, make clean; make; make install-strip
Plus you'll need to chown -R uid dir and chgrp -R gid dir
to fix your current directories.
Ken Jones