user(3bobcat)

user3bobcat

Provides the /etc/passwd info of the current user

Usage

#include <bobcat/user>
Linking option: -lbobcat

Overview

This class retrieves the information of the current user from the information in /etc/passwd. The class is a simple wrapper class around the getpwent(3) function.

Namespace

FBB
All constructors, members, operators and manipulators, mentioned in this man-page, are defined in the namespace FBB.

Inherits from

-

Constructors

o

User():
The default constructor determines the current user’s data. This constructor throws an Exception exception if it did not properly complete because the current user name could not be found in /etc/passwd.

o

User(size_t uid):
The data of the user whose user-id is uid are determined. If the data could not be found an Exception is thrown.

o

User(std::string const &name):
The data of the user whose user-name is name are determined. If the data could not be found an Exception is thrown.

Copy and move constructors (and assignment operators) are available.

Member functions

o

size_t eGroupid() const:
Returns the user’s effective group-id.

o

size_t eUserid() const:
Returns the user’s effective user-id.

o

size_t groupid() const:
Returns the user’s group-id.

o

std::string homedir() const:
Returns the user’s home directory (including a trailing /).

o

bool inGroup(size_t gid, bool useEffective = true) const:
Returns true if the current user is a member of group gid, otherwise false is returned. The user’s effective group id is also checked if useEffective is specified as true (which is provided as default function argument).

o

std::string name() const:
Returns the user’s user-name.

o

std::string password() const:
Returns the user’s encrypted password. But see also the BUGS section.

o

std::string realname() const:
Returns the user’s real name, as listed in the /etc/passwd’s gecos field.

o

std::string shell() const:
Returns the user’s shell.

o

size_t userid() const:
Returns the user’s user-id.

Examples

#include <bobcat/user>
#include <iostream>
using namespace std;
using namespace FBB;
int main()
{
    User  user;
    cout << "\n"
        "name       : " << user.name()      << "\n" <<
        "password   : " << user.password()  << "\n" <<
        "user id    : " << user.userid()    << "\n" <<
        "group id   : " << user.groupid()   << "\n" <<
        "real name  : " << user.realname()  << "\n" <<
        "home dir   : " << user.homedir()   << "\n" <<
        "shell      : " << user.shell()     << "\n" << endl;
}

Files

bobcat/user - defines the class interface

Bobcat project files

o

https://fbb-git.gitlab.io/bobcat/: gitlab project page;

Debian Bobcat project files:

o

libbobcat6: debian package containing the shared library, changelog and copyright note;

o

libbobcat-dev: debian package containing the static library, headers, manual pages, and developer info;

Bobcat

Bobcat is an acronym of `Brokken’s Own Base Classes And Templates’.

Releases

10 releases since Debian 4.0 (Etch); the text changed 9 times.

  1. 4.0
  2. 5.0
  3. 6.0
  4. 7
  5. 8
  6. 9
  7. 10
  8. 11
  9. 12
  10. 13

Bugs

If the user is a member of multiple groups, only the group id listed in /etc/passwd is returned by groupid().

If shadow passwording is used, the string returned by password() will probably not contain the encrypted password.

Author

Frank B. Brokken ([email protected]).

From libbobcat-dev 6.07.01-2 in Debian 13 (Trixie). Parsed by carta from the page's man source.