2 <!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
3 <html><head><title>Python: module posix1e</title>
4 <style type="text/css"><!--
5 TT { font-family: lucidatypewriter, lucida console, courier }
6 --></style></head><body bgcolor="#f0f0f8">
8 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
10 <td valign=bottom> <br>
11 <font color="#ffffff" face="helvetica, arial"> <br><big><big><strong>posix1e</strong></big></big></font></td
12 ><td align=right valign=bottom
13 ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/iusty/work/pylibacl/build/lib.linux-i686-2.2/posix1e.so">/home/iusty/work/pylibacl/build/lib.linux-i686-2.2/posix1e.so</a></font></td></tr></table>
14 <p><tt>POSIX.1e ACLs manipulation<br>
16 This module provides support for manipulating POSIX.1e ACLS<br>
18 Depending on the operating system support for POSIX.1e, <br>
19 the <a href="#ACL">ACL</a> type will have more or less capabilities:<br>
20 - level 1, only basic support, you can create<br>
21 ACLs from files and text descriptions;<br>
22 once created, the type is immutable<br>
23 - level 2, complete support, you can alter<br>
24 the <a href="#ACL">ACL</a> once it is created<br>
26 Also, in level 2, more types are available, corresponding<br>
27 to acl_entry_t (<a href="#Entry">Entry</a> type), acl_permset_t (<a href="#Permset">Permset</a> type).<br>
30 >>> import posix1e<br>
31 >>> acl1 = posix1e.<a href="#ACL">ACL</a>(file="file.txt") <br>
32 >>> print acl1<br>
37 >>> b = posix1e.<a href="#ACL">ACL</a>(text="u::rx,g::-,o::-")<br>
38 >>> print b<br>
43 >>> b.applyto("file.txt")<br>
44 >>> print posix1e.<a href="#ACL">ACL</a>(file="file.txt")<br>
51 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
52 <tr bgcolor="#ee77aa">
53 <td colspan=3 valign=bottom> <br>
54 <font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
56 <tr><td bgcolor="#ee77aa"><tt> </tt></td><td> </td>
58 <dt><font face="helvetica, arial"><a href="__builtin__.html#object">__builtin__.object</a>
61 <dt><font face="helvetica, arial"><a href="posix1e.html#ACL">ACL</a>
62 </font></dt><dt><font face="helvetica, arial"><a href="posix1e.html#Entry">Entry</a>
63 </font></dt><dt><font face="helvetica, arial"><a href="posix1e.html#Permset">Permset</a>
68 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
69 <tr bgcolor="#ffc8d8">
70 <td colspan=3 valign=bottom> <br>
71 <font color="#000000" face="helvetica, arial"><a name="ACL">class <strong>ACL</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
73 <tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
74 <td colspan=2><tt>Type which represents a POSIX <a href="#ACL">ACL</a><br>
77 Only one keword parameter should be provided:<br>
78 - file="...", meaning create <a href="#ACL">ACL</a> representing<br>
79 the access <a href="#ACL">ACL</a> of that file<br>
80 - filedef="...", meaning create <a href="#ACL">ACL</a> representing<br>
81 the default <a href="#ACL">ACL</a> of that directory<br>
82 - fd=<int>, meaning create <a href="#ACL">ACL</a> representing<br>
83 the access <a href="#ACL">ACL</a> of that file descriptor<br>
84 - text="...", meaning create <a href="#ACL">ACL</a> from a <br>
85 textual description<br>
86 - acl=<<a href="#ACL">ACL</a> instance>, meaning create a copy<br>
87 of an existing <a href="#ACL">ACL</a> instance<br>
88 If no parameters are passed, create an empty <a href="#ACL">ACL</a>; this<br>
89 makes sense only when your OS supports <a href="#ACL">ACL</a> modification<br>
90 (i.e. it implements full POSIX.1e support)<br> </tt></td></tr>
91 <tr><td> </td>
92 <td width="100%">Methods defined here:<br>
93 <dl><dt><a name="ACL-__getstate__"><strong>__getstate__</strong></a>(...)</dt><dd><tt>Dumps the <a href="#ACL">ACL</a> to an external format.</tt></dd></dl>
95 <dl><dt><a name="ACL-__init__"><strong>__init__</strong></a>(...)</dt><dd><tt>x.<a href="#ACL-__init__">__init__</a>(...) initializes x; see x.__class__.__doc__ for signature</tt></dd></dl>
97 <dl><dt><a name="ACL-__iter__"><strong>__iter__</strong></a>(...)</dt><dd><tt>x.<a href="#ACL-__iter__">__iter__</a>() <==> iter(x)</tt></dd></dl>
99 <dl><dt><a name="ACL-__setstate__"><strong>__setstate__</strong></a>(...)</dt><dd><tt>Loads the <a href="#ACL">ACL</a> from an external format.</tt></dd></dl>
101 <dl><dt><a name="ACL-__str__"><strong>__str__</strong></a>(...)</dt><dd><tt>x.<a href="#ACL-__str__">__str__</a>() <==> str(x)</tt></dd></dl>
103 <dl><dt><a name="ACL-append"><strong>append</strong></a>(...)</dt><dd><tt>Append a new <a href="#Entry">Entry</a> to the <a href="#ACL">ACL</a> and return it.<br>
105 This is a convenience function to create a new <a href="#Entry">Entry</a> <br>
106 and append it to the <a href="#ACL">ACL</a>.<br>
107 If a parameter of type <a href="#Entry">Entry</a> instance is given, the <br>
108 entry will be a copy of that one (as if copied with <br>
109 <a href="#Entry">Entry</a>.copy()), otherwise, the new entry will be empty.</tt></dd></dl>
111 <dl><dt><a name="ACL-applyto"><strong>applyto</strong></a>(...)</dt><dd><tt>Apply the <a href="#ACL">ACL</a> to a file or filehandle.<br>
114 - either a filename or a file-like <a href="__builtin__.html#object">object</a> or an integer; this<br>
115 represents the filesystem <a href="__builtin__.html#object">object</a> on which to act<br>
116 - optional flag representing the type of <a href="#ACL">ACL</a> to set, either<br>
117 ACL_TYPE_ACCESS (default) or ACL_TYPE_DEFAULT</tt></dd></dl>
119 <dl><dt><a name="ACL-calc_mask"><strong>calc_mask</strong></a>(...)</dt><dd><tt>Compute the file group class mask.<br>
121 The <a href="#ACL-calc_mask">calc_mask</a>() method calculates and sets the permissions <br>
122 associated with the ACL_MASK <a href="#Entry">Entry</a> of the <a href="#ACL">ACL</a>.<br>
123 The value of the new permissions is the union of the permissions <br>
124 granted by all entries of tag type ACL_GROUP, ACL_GROUP_OBJ, or <br>
125 ACL_USER. If the <a href="#ACL">ACL</a> already contains an ACL_MASK entry, its <br>
126 permissions are overwritten; if it does not contain an ACL_MASK <br>
127 <a href="#Entry">Entry</a>, one is added.<br>
129 The order of existing entries in the <a href="#ACL">ACL</a> is undefined after this <br>
130 function.</tt></dd></dl>
132 <dl><dt><a name="ACL-delete_entry"><strong>delete_entry</strong></a>(...)</dt><dd><tt>Deletes an entry from the <a href="#ACL">ACL</a>.<br>
134 Note: Only with level 2<br>
136 - the <a href="#Entry">Entry</a> <a href="__builtin__.html#object">object</a> which should be deleted; note that after<br>
137 this function is called, that <a href="__builtin__.html#object">object</a> is unusable any longer<br>
138 and should be deleted</tt></dd></dl>
140 <dl><dt><a name="ACL-next"><strong>next</strong></a>(...)</dt><dd><tt>x.<a href="#ACL-next">next</a>() -> the next value, or raise StopIteration</tt></dd></dl>
142 <dl><dt><a name="ACL-valid"><strong>valid</strong></a>(...)</dt><dd><tt>Test the <a href="#ACL">ACL</a> for validity.<br>
144 This method tests the <a href="#ACL">ACL</a> to see if it is a valid <a href="#ACL">ACL</a><br>
145 in terms of the filesystem. More precisely, it checks:<br>
146 A valid <a href="#ACL">ACL</a> contains exactly one entry with each of the ACL_USER_OBJ,<br>
147 ACL_GROUP_OBJ, and ACL_OTHER tag types. Entries with ACL_USER and<br>
148 ACL_GROUP tag types may appear zero or more times in an <a href="#ACL">ACL</a>. An <a href="#ACL">ACL</a> that<br>
149 contains entries of ACL_USER or ACL_GROUP tag types must contain exactly<br>
150 one entry of the ACL_MASK tag type. If an <a href="#ACL">ACL</a> contains no entries of<br>
151 ACL_USER or ACL_GROUP tag types, the ACL_MASK entry is optional.<br>
153 All user ID qualifiers must be unique among all entries of ACL_USER tag<br>
154 type, and all group IDs must be unique among all entries of ACL_GROUP tag<br>
157 The method will return 1 for a valid <a href="#ACL">ACL</a> and 0 for an invalid one.<br>
158 This has been chosen because the specification for acl_valid in POSIX.1e<br>
159 documents only one possible value for errno in case of an invalid <a href="#ACL">ACL</a>, <br>
160 so we can't differentiate between classes of errors. Other suggestions <br>
161 are welcome.</tt></dd></dl>
164 Data and non-method functions defined here:<br>
165 <dl><dt><strong>__doc__</strong> = 'Type which represents a POSIX ACL<font color="#c040c0">\n\n</font>Parameters:<font color="#c040c0">\n</font> ...tion<font color="#c040c0">\n</font> (i.e. it implements full POSIX.1e support)<font color="#c040c0">\n</font>'<dd><tt>str(<a href="__builtin__.html#object">object</a>) -> string<br>
167 Return a nice string representation of the <a href="__builtin__.html#object">object</a>.<br>
168 If the argument is a string, the return value is the same <a href="__builtin__.html#object">object</a>.</tt></dl>
170 <dl><dt><strong>__new__</strong> = <built-in method __new__ of type object><dd><tt>T.<a href="#ACL-__new__">__new__</a>(S, ...) -> a new <a href="__builtin__.html#object">object</a> with type S, a subtype of T</tt></dl>
173 Methods inherited from <a href="__builtin__.html#object">__builtin__.object</a>:<br>
174 <dl><dt><a name="ACL-__delattr__"><strong>__delattr__</strong></a>(...)</dt><dd><tt>x.<a href="#ACL-__delattr__">__delattr__</a>('name') <==> del x.name</tt></dd></dl>
176 <dl><dt><a name="ACL-__getattribute__"><strong>__getattribute__</strong></a>(...)</dt><dd><tt>x.<a href="#ACL-__getattribute__">__getattribute__</a>('name') <==> x.name</tt></dd></dl>
178 <dl><dt><a name="ACL-__hash__"><strong>__hash__</strong></a>(...)</dt><dd><tt>x.<a href="#ACL-__hash__">__hash__</a>() <==> hash(x)</tt></dd></dl>
180 <dl><dt><a name="ACL-__reduce__"><strong>__reduce__</strong></a>(...)</dt><dd><tt>helper for pickle</tt></dd></dl>
182 <dl><dt><a name="ACL-__repr__"><strong>__repr__</strong></a>(...)</dt><dd><tt>x.<a href="#ACL-__repr__">__repr__</a>() <==> repr(x)</tt></dd></dl>
184 <dl><dt><a name="ACL-__setattr__"><strong>__setattr__</strong></a>(...)</dt><dd><tt>x.<a href="#ACL-__setattr__">__setattr__</a>('name', value) <==> x.name = value</tt></dd></dl>
187 Data and non-method functions inherited from <a href="__builtin__.html#object">__builtin__.object</a>:<br>
188 <dl><dt><strong>__class__</strong> = <type 'type'><dd><tt>the <a href="__builtin__.html#object">object</a>'s class</tt></dl>
191 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
192 <tr bgcolor="#ffc8d8">
193 <td colspan=3 valign=bottom> <br>
194 <font color="#000000" face="helvetica, arial"><a name="Entry">class <strong>Entry</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
196 <tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
197 <td colspan=2><tt>Type which represents an entry in an <a href="#ACL">ACL</a>.<br>
199 The type exists only if the OS has full support for POSIX.1e<br>
200 Can be created either by:<br>
201 e = posix1e.<a href="#Entry">Entry</a>(myACL) # this creates a new entry in the <a href="#ACL">ACL</a><br>
203 for entry in myACL:<br>
204 print entry<br>
206 Note that the <a href="#Entry">Entry</a> keeps a reference to its <a href="#ACL">ACL</a>, so even if <br>
207 you delete the <a href="#ACL">ACL</a>, it won't be cleaned up and will continue to <br>
208 exist until its <a href="#Entry">Entry</a>(ies) will be deleted.<br> </tt></td></tr>
209 <tr><td> </td>
210 <td width="100%">Methods defined here:<br>
211 <dl><dt><a name="Entry-__init__"><strong>__init__</strong></a>(...)</dt><dd><tt>x.<a href="#Entry-__init__">__init__</a>(...) initializes x; see x.__class__.__doc__ for signature</tt></dd></dl>
213 <dl><dt><a name="Entry-__str__"><strong>__str__</strong></a>(...)</dt><dd><tt>x.<a href="#Entry-__str__">__str__</a>() <==> str(x)</tt></dd></dl>
215 <dl><dt><a name="Entry-copy"><strong>copy</strong></a>(...)</dt><dd><tt>Copy an <a href="#ACL">ACL</a> entry.<br>
217 This method sets all the parameters to those of another<br>
218 entry, even one of another's <a href="#ACL">ACL</a><br>
220 - src, instance of type <a href="#Entry">Entry</a></tt></dd></dl>
223 Data and non-method functions defined here:<br>
224 <dl><dt><strong>__doc__</strong> = 'Type which represents an entry in an ACL.<font color="#c040c0">\n\n</font>The t... to <font color="#c040c0">\n</font>exist until its Entry(ies) will be deleted.<font color="#c040c0">\n</font>'<dd><tt>str(<a href="__builtin__.html#object">object</a>) -> string<br>
226 Return a nice string representation of the <a href="__builtin__.html#object">object</a>.<br>
227 If the argument is a string, the return value is the same <a href="__builtin__.html#object">object</a>.</tt></dl>
229 <dl><dt><strong>__new__</strong> = <built-in method __new__ of type object><dd><tt>T.<a href="#Entry-__new__">__new__</a>(S, ...) -> a new <a href="__builtin__.html#object">object</a> with type S, a subtype of T</tt></dl>
231 <dl><dt><strong>parent</strong> = <attribute 'parent' of 'posix1e.Entry' objects><dd><tt>The parent <a href="#ACL">ACL</a> of this entry</tt></dl>
233 <dl><dt><strong>permset</strong> = <attribute 'permset' of 'posix1e.Entry' objects><dd><tt>The permission set of this <a href="#ACL">ACL</a> entry</tt></dl>
235 <dl><dt><strong>qualifier</strong> = <attribute 'qualifier' of 'posix1e.Entry' objects><dd><tt>The qualifier of the current entry<br>
237 If the tag type is ACL_USER, this should be a user id.<br>
238 If the tag type if ACL_GROUP, this should be a group id.<br>
239 Else, it doesn't matter.</tt></dl>
241 <dl><dt><strong>tag_type</strong> = <attribute 'tag_type' of 'posix1e.Entry' objects><dd><tt>The tag type of the current entry<br>
243 This is one of:<br>
244 - ACL_UNDEFINED_TAG<br>
245 - ACL_USER_OBJ<br>
246 - ACL_USER<br>
247 - ACL_GROUP_OBJ<br>
248 - ACL_GROUP<br>
249 - ACL_MASK<br>
250 - ACL_OTHER</tt></dl>
253 Methods inherited from <a href="__builtin__.html#object">__builtin__.object</a>:<br>
254 <dl><dt><a name="Entry-__delattr__"><strong>__delattr__</strong></a>(...)</dt><dd><tt>x.<a href="#Entry-__delattr__">__delattr__</a>('name') <==> del x.name</tt></dd></dl>
256 <dl><dt><a name="Entry-__getattribute__"><strong>__getattribute__</strong></a>(...)</dt><dd><tt>x.<a href="#Entry-__getattribute__">__getattribute__</a>('name') <==> x.name</tt></dd></dl>
258 <dl><dt><a name="Entry-__hash__"><strong>__hash__</strong></a>(...)</dt><dd><tt>x.<a href="#Entry-__hash__">__hash__</a>() <==> hash(x)</tt></dd></dl>
260 <dl><dt><a name="Entry-__reduce__"><strong>__reduce__</strong></a>(...)</dt><dd><tt>helper for pickle</tt></dd></dl>
262 <dl><dt><a name="Entry-__repr__"><strong>__repr__</strong></a>(...)</dt><dd><tt>x.<a href="#Entry-__repr__">__repr__</a>() <==> repr(x)</tt></dd></dl>
264 <dl><dt><a name="Entry-__setattr__"><strong>__setattr__</strong></a>(...)</dt><dd><tt>x.<a href="#Entry-__setattr__">__setattr__</a>('name', value) <==> x.name = value</tt></dd></dl>
267 Data and non-method functions inherited from <a href="__builtin__.html#object">__builtin__.object</a>:<br>
268 <dl><dt><strong>__class__</strong> = <type 'type'><dd><tt>the <a href="__builtin__.html#object">object</a>'s class</tt></dl>
271 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
272 <tr bgcolor="#ffc8d8">
273 <td colspan=3 valign=bottom> <br>
274 <font color="#000000" face="helvetica, arial"><a name="Permset">class <strong>Permset</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
276 <tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
277 <td colspan=2><tt>Type which represents the permission set in an <a href="#ACL">ACL</a> entry<br>
279 The type exists only if the OS has full support for POSIX.1e<br>
280 Can be created either by:<br>
281 perms = myEntry.permset<br>
283 perms = posix1e.<a href="#Permset">Permset</a>(myEntry)<br>
285 Note that the <a href="#Permset">Permset</a> keeps a reference to its <a href="#Entry">Entry</a>, so even if <br>
286 you delete the entry, it won't be cleaned up and will continue to <br>
287 exist until its <a href="#Permset">Permset</a> will be deleted.<br> </tt></td></tr>
288 <tr><td> </td>
289 <td width="100%">Methods defined here:<br>
290 <dl><dt><a name="Permset-__init__"><strong>__init__</strong></a>(...)</dt><dd><tt>x.<a href="#Permset-__init__">__init__</a>(...) initializes x; see x.__class__.__doc__ for signature</tt></dd></dl>
292 <dl><dt><a name="Permset-__str__"><strong>__str__</strong></a>(...)</dt><dd><tt>x.<a href="#Permset-__str__">__str__</a>() <==> str(x)</tt></dd></dl>
294 <dl><dt><a name="Permset-add"><strong>add</strong></a>(...)</dt><dd><tt>Add a permission to the permission set.<br>
296 The <a href="#Permset-add">add</a>() function adds the permission contained in <br>
297 the argument perm to the permission set. An attempt <br>
298 to add a permission that is already contained in the <br>
299 permission set is not considered an error.<br>
301 - perm a permission (ACL_WRITE, ACL_READ, ACL_EXECUTE, ...<br>
302 Return value:<br>
304 Can raise: IOError</tt></dd></dl>
306 <dl><dt><a name="Permset-clear"><strong>clear</strong></a>(...)</dt><dd><tt>Clear all permissions from the permission set.</tt></dd></dl>
308 <dl><dt><a name="Permset-delete"><strong>delete</strong></a>(...)</dt><dd><tt>Delete a permission from the permission set.<br>
310 The <a href="#Permset-delete">delete</a>() function deletes the permission contained in <br>
311 the argument perm from the permission set. An attempt <br>
312 to delete a permission that is not contained in the <br>
313 permission set is not considered an error.<br>
315 - perm a permission (ACL_WRITE, ACL_READ, ACL_EXECUTE, ...<br>
316 Return value:<br>
318 Can raise: IOError</tt></dd></dl>
320 <dl><dt><a name="Permset-test"><strong>test</strong></a>(...)</dt><dd><tt>Test if a permission exists in the permission set.<br>
322 The <a href="#Permset-test">test</a>() function tests if the permission contained in <br>
323 the argument perm exits the permission set.<br>
325 - perm a permission (ACL_WRITE, ACL_READ, ACL_EXECUTE, ...<br>
326 Return value:<br>
328 Can raise: IOError</tt></dd></dl>
331 Data and non-method functions defined here:<br>
332 <dl><dt><strong>__doc__</strong> = 'Type which represents the permission set in an A...nue to <font color="#c040c0">\n</font>exist until its Permset will be deleted.<font color="#c040c0">\n</font>'<dd><tt>str(<a href="__builtin__.html#object">object</a>) -> string<br>
334 Return a nice string representation of the <a href="__builtin__.html#object">object</a>.<br>
335 If the argument is a string, the return value is the same <a href="__builtin__.html#object">object</a>.</tt></dl>
337 <dl><dt><strong>__new__</strong> = <built-in method __new__ of type object><dd><tt>T.<a href="#Permset-__new__">__new__</a>(S, ...) -> a new <a href="__builtin__.html#object">object</a> with type S, a subtype of T</tt></dl>
339 <dl><dt><strong>execute</strong> = <attribute 'execute' of 'posix1e.Permset' objects><dd><tt>Execute permsission<br>
341 This is a convenience method of access; the <br>
342 same effect can be achieved using the functions<br>
343 <a href="#Permset-add">add</a>(), <a href="#Permset-test">test</a>(), <a href="#Permset-delete">delete</a>(), and those can take any <br>
344 permission defined by your platform.</tt></dl>
346 <dl><dt><strong>read</strong> = <attribute 'read' of 'posix1e.Permset' objects><dd><tt>Read permsission<br>
348 This is a convenience method of access; the <br>
349 same effect can be achieved using the functions<br>
350 <a href="#Permset-add">add</a>(), <a href="#Permset-test">test</a>(), <a href="#Permset-delete">delete</a>(), and those can take any <br>
351 permission defined by your platform.</tt></dl>
353 <dl><dt><strong>write</strong> = <attribute 'write' of 'posix1e.Permset' objects><dd><tt>Write permsission<br>
355 This is a convenience method of access; the <br>
356 same effect can be achieved using the functions<br>
357 <a href="#Permset-add">add</a>(), <a href="#Permset-test">test</a>(), <a href="#Permset-delete">delete</a>(), and those can take any <br>
358 permission defined by your platform.</tt></dl>
361 Methods inherited from <a href="__builtin__.html#object">__builtin__.object</a>:<br>
362 <dl><dt><a name="Permset-__delattr__"><strong>__delattr__</strong></a>(...)</dt><dd><tt>x.<a href="#Permset-__delattr__">__delattr__</a>('name') <==> del x.name</tt></dd></dl>
364 <dl><dt><a name="Permset-__getattribute__"><strong>__getattribute__</strong></a>(...)</dt><dd><tt>x.<a href="#Permset-__getattribute__">__getattribute__</a>('name') <==> x.name</tt></dd></dl>
366 <dl><dt><a name="Permset-__hash__"><strong>__hash__</strong></a>(...)</dt><dd><tt>x.<a href="#Permset-__hash__">__hash__</a>() <==> hash(x)</tt></dd></dl>
368 <dl><dt><a name="Permset-__reduce__"><strong>__reduce__</strong></a>(...)</dt><dd><tt>helper for pickle</tt></dd></dl>
370 <dl><dt><a name="Permset-__repr__"><strong>__repr__</strong></a>(...)</dt><dd><tt>x.<a href="#Permset-__repr__">__repr__</a>() <==> repr(x)</tt></dd></dl>
372 <dl><dt><a name="Permset-__setattr__"><strong>__setattr__</strong></a>(...)</dt><dd><tt>x.<a href="#Permset-__setattr__">__setattr__</a>('name', value) <==> x.name = value</tt></dd></dl>
375 Data and non-method functions inherited from <a href="__builtin__.html#object">__builtin__.object</a>:<br>
376 <dl><dt><strong>__class__</strong> = <type 'type'><dd><tt>the <a href="__builtin__.html#object">object</a>'s class</tt></dl>
378 </td></tr></table></td></tr></table>
379 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
380 <tr bgcolor="#eeaa77">
381 <td colspan=3 valign=bottom> <br>
382 <font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
384 <tr><td bgcolor="#eeaa77"><tt> </tt></td><td> </td>
385 <td width="100%"><dl><dt><a name="-delete_default"><strong>delete_default</strong></a>(...)</dt><dd><tt>Delete the default <a href="#ACL">ACL</a> from a directory.<br>
387 This function deletes the default <a href="#ACL">ACL</a> associated with <br>
388 a directory (the <a href="#ACL">ACL</a> which will be ANDed with the mode<br>
389 parameter to the open, creat functions).<br>
391 - a string representing the directory whose default <a href="#ACL">ACL</a><br>
392 should be deleted</tt></dd></dl>
394 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
395 <tr bgcolor="#55aa55">
396 <td colspan=3 valign=bottom> <br>
397 <font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
399 <tr><td bgcolor="#55aa55"><tt> </tt></td><td> </td>
400 <td width="100%"><strong>ACL_EXECUTE</strong> = 1<br>
401 <strong>ACL_GROUP</strong> = 8<br>
402 <strong>ACL_GROUP_OBJ</strong> = 4<br>
403 <strong>ACL_MASK</strong> = 16<br>
404 <strong>ACL_OTHER</strong> = 32<br>
405 <strong>ACL_READ</strong> = 4<br>
406 <strong>ACL_TYPE_ACCESS</strong> = 32768<br>
407 <strong>ACL_TYPE_DEFAULT</strong> = 16384<br>
408 <strong>ACL_UNDEFINED_TAG</strong> = 0<br>
409 <strong>ACL_USER</strong> = 2<br>
410 <strong>ACL_USER_OBJ</strong> = 1<br>
411 <strong>ACL_WRITE</strong> = 2<br>
412 <strong>__file__</strong> = '/home/iusty/work/pylibacl/build/lib.linux-i686-2.2/posix1e.so'<br>
413 <strong>__name__</strong> = 'posix1e'</td></tr></table>