I'm stubborn or stupid (and that's not xor) (Was: CVS Import
Permissions)
Duane Whitty
duane at greenmeadow.ca
Tue Jan 31 02:29:39 PST 2006
Giorgos Keramidas wrote:
> On 2006-01-31 00:44, Duane <duane at greenmeadow.ca> wrote:
>
>>Hi everyone,
>>
>>On the CVS server machine should our CVS repository directory belong to
>>the cvs group, i.e. user==root, group==cvs?
>
>
> It's usually a good idea.
>
>
>>And as for the umask, as it appears to be 027, if we give the
>>cvs group write permission on /usr/local/cvsrep then when we
>>import our projects they will be writeable by members of group
>>cvs and the owner of the project, in this case jim.
>
>
> No. This is not how `umask' works. Whatever value `umask'
> currently has is logically-AND-ed with 0666. This means that by
> using 027, the result is:
>
> $ python
> >>> print "%04o" % (066 & 027)
> 0026
>
> These are the bits that will be turned *off* for new files (see
> the umask(2) manpage for details), so to find out which
> permission bits are allowed, you have to use the reverse mask:
>
> >>> print "%04o" % (0777 & ~(066 & 027))
> 0751
>
> The 0751 allowed-bits mask is equivalent to:
>
> rwxr-x--x
>
> This means that with a umask of 027, you are effectivelly
> allowing only the bits in ``rwxr-x--x'' to be turned on by
> default for new files, and this doesn't include write permission
> for the group.
>
> I know that the whole `umask' concept is a bit tricky to grasp,
> since it depends on knowledge of numbering with an octal-base
> *AND* it works in the reverse order of that people usually think
> it does, but hopefully, with the help of our excellent manpages
> and a bit of experimentation, it will become more obvious :)
>
>
>>I apologize if I am being all the things suggested in my
>>subject heading.
>
>
> Nah! Never apologize for a question. There is no such thing as
> a stupid question for this list (well, unless the question refers
> to Windows, of course :P).
>
> - Giorgos
>
> ______________________________________________
Thanks Giorgos.
That's an excellent explanation on
computing the allowed bits. One of my
mistakes was logically-AND-ing with 0777.
Sincerely
--Duane
More information about the freebsd-questions
mailing list