| 
									
										
										
										
											2007-08-15 14:28:22 +00:00
										 |  |  | :mod:`grp` --- The group database
 | 
					
						
							|  |  |  | =================================
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .. module:: grp
 | 
					
						
							|  |  |  |    :platform: Unix
 | 
					
						
							|  |  |  |    :synopsis: The group database (getgrnam() and friends).
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-11 15:02:54 -04:00
										 |  |  | --------------
 | 
					
						
							| 
									
										
										
										
											2007-08-15 14:28:22 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | This module provides access to the Unix group database. It is available on all
 | 
					
						
							|  |  |  | Unix versions.
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-02 21:00:41 +02:00
										 |  |  | .. include:: ../includes/wasm-notavail.rst
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-08-15 14:28:22 +00:00
										 |  |  | Group database entries are reported as a tuple-like object, whose attributes
 | 
					
						
							|  |  |  | correspond to the members of the ``group`` structure (Attribute field below, see
 | 
					
						
							| 
									
										
										
										
											2022-03-25 20:09:40 -04:00
										 |  |  | ``<grp.h>``):
 | 
					
						
							| 
									
										
										
										
											2007-08-15 14:28:22 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | +-------+-----------+---------------------------------+
 | 
					
						
							|  |  |  | | Index | Attribute | Meaning                         |
 | 
					
						
							|  |  |  | +=======+===========+=================================+
 | 
					
						
							|  |  |  | | 0     | gr_name   | the name of the group           |
 | 
					
						
							|  |  |  | +-------+-----------+---------------------------------+
 | 
					
						
							|  |  |  | | 1     | gr_passwd | the (encrypted) group password; |
 | 
					
						
							|  |  |  | |       |           | often empty                     |
 | 
					
						
							|  |  |  | +-------+-----------+---------------------------------+
 | 
					
						
							|  |  |  | | 2     | gr_gid    | the numerical group ID          |
 | 
					
						
							|  |  |  | +-------+-----------+---------------------------------+
 | 
					
						
							|  |  |  | | 3     | gr_mem    | all the group member's  user    |
 | 
					
						
							|  |  |  | |       |           | names                           |
 | 
					
						
							|  |  |  | +-------+-----------+---------------------------------+
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | The gid is an integer, name and password are strings, and the member list is a
 | 
					
						
							|  |  |  | list of strings. (Note that most users are not explicitly listed as members of
 | 
					
						
							|  |  |  | the group they are in according to the password database.  Check both databases
 | 
					
						
							| 
									
										
										
										
											2010-12-14 16:20:53 +00:00
										 |  |  | to get complete membership information.  Also note that a ``gr_name`` that
 | 
					
						
							|  |  |  | starts with a ``+`` or ``-`` is likely to be a YP/NIS reference and may not be
 | 
					
						
							|  |  |  | accessible via :func:`getgrnam` or :func:`getgrgid`.)
 | 
					
						
							| 
									
										
										
										
											2007-08-15 14:28:22 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | It defines the following items:
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-07-25 11:54:42 +02:00
										 |  |  | .. function:: getgrgid(id)
 | 
					
						
							| 
									
										
										
										
											2007-08-15 14:28:22 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |    Return the group database entry for the given numeric group ID. :exc:`KeyError`
 | 
					
						
							|  |  |  |    is raised if the entry asked for cannot be found.
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-12 19:22:06 +03:00
										 |  |  |    .. versionchanged:: 3.10
 | 
					
						
							|  |  |  |       :exc:`TypeError` is raised for non-integer arguments like floats or strings.
 | 
					
						
							| 
									
										
										
										
											2007-08-15 14:28:22 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | .. function:: getgrnam(name)
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    Return the group database entry for the given group name. :exc:`KeyError` is
 | 
					
						
							|  |  |  |    raised if the entry asked for cannot be found.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .. function:: getgrall()
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    Return a list of all available group entries, in arbitrary order.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .. seealso::
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    Module :mod:`pwd`
 | 
					
						
							|  |  |  |       An interface to the user database, similar to this.
 |