While creation of inodes the uid and gid are set to the file creator's uid and gid as :
inode->i_uid = current->fsuid;
inode->i_gid = current->fsgid;
current refers to the current process/task which is running
in the cpu. It's a macro [current.h].
1. Where is this current structure populated?Is it coming from uaccess.h ?
While creation of sym links however it is over ridden as :
if (dir->i_mode & S_ISGID) {
inode->i_gid = dir->i_gid;
if (S_ISDIR(mode))
inode->i_mode |= S_ISGID;
}
2. Why shld it now point to directory's GID?
Google for it.
Anand
Is there any online resource for getting some info on this in detail ?
Thanks,
Asim
--
It is the possiblilty of a dream coming true that make life worth living.