chmod g+ Equivalent
Steve Holden
steve at holdenweb.com
Tue Aug 14 19:30:01 EDT 2007
milan_sanremo wrote:
> On Aug 13, 8:06 pm, Steve Holden <st... at holdenweb.com> wrote:
>> milan_sanremo wrote:
>>> I've read the documentation on os.chmod() and can implement all the
>>> standard commands, but what is the syntax for the equivalent of chmod g
>>> + to set the group id?
>> I assume when you say "to set the group id" you actually mean "to assert
>> the setgid bit"? I further presume that when you say "chmod g+" you
>> actually mean "chmod g+s".
>
> The g+s was an omission on my part. I can see how it would confuse
> the issue.
>
> I'm not sure if I mean "to assert the setgid bit". My SUN docs refer
> to it being 'on'.
> http://docs.sun.com/app/docs/doc/819-3321/6n5i4b767?l=en&a=view&q=setgid+bit
>
>> You can't have read the documentation very thoroughly. It says right at
>> the top:
>>
>> S_ISUID
>> S_ISGID
>
> I did see this in the documentation:
>
> Change the mode of path to the numeric mode. mode may take one of the
> following values (as defined in the stat module) or bitwise or-ed
> combinations of them:
>
> * S_ISUID
> * S_ISGID
>
> Which refers to:
> http://docs.python.org/lib/module-stat.html
>
> After which it was still unclear.
>
> My question is in the command os.chmod(myDirectory, ?) what is the
> value for ? to turn on the setgid bit.
>
> Contrary to your presumption, I did read the documentation
> thoroughly. It is inability to understand the concept which prompted
> me to post the question here.
>
Well, you don't tell us what (if anything) you have tried so far. Python
has an interpreter that's very easy to use interactively. Why don't you try
os.chmod(my_directory, os.S_ISGID)
and see if it does what you want? You can often save time by trying such
things for yourself. Though it needn't be a substitute for asking
questions on this list, it can make your questions better-informed.
In this particular case, now I understand your needs a little better,
since you want to *add* a bit setting you will likely have to use
something like
current_permissions = os.fstat(my_directory).ST_MODE
to read the directory's current permission bits. Then you will need to
execute
os.chmod(my_directory, current_permissions | stat.S_ISGID)
Please don't take this as gospel, though, as I am currently on the road
with only a Windows computer available, but I think it should get you
closer to where you want to be.
regards
Steve
--
Steve Holden +1 571 484 6266 +1 800 494 3119
Holden Web LLC/Ltd http://www.holdenweb.com
Skype: holdenweb http://del.icio.us/steve.holden
--------------- Asciimercial ------------------
Get on the web: Blog, lens and tag the Internet
Many services currently offer free registration
----------- Thank You for Reading -------------
More information about the Python-list
mailing list