FBB::User - Provides the /etc/passwd info of the current
user
#include <bobcat/user>
Linking option: -lbobcat
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.
FBB
All constructors, members, operators and manipulators, mentioned in this
man-page, are defined in the namespace FBB.
- 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.
- 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.
#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;
}
bobcat/user - defines the class interface
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.
- o
- https://fbb-git.gitlab.io/bobcat/: gitlab project page;
- o
- bobcat_5.07.00-x.dsc: detached signature;
- o
- bobcat_5.07.00-x.tar.gz: source archive;
- o
- bobcat_5.07.00-x_i386.changes: change log;
- o
- libbobcat1_5.07.00-x_*.deb: debian package containing the
libraries;
- o
- libbobcat1-dev_5.07.00-x_*.deb: debian package containing the
libraries, headers and manual pages;
Bobcat is an acronym of `Brokken’s Own Base Classes And
Templates’.
This is free software, distributed under the terms of the GNU
General Public License (GPL).
Frank B. Brokken (f.b.brokken@rug.nl).