Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Mail Systems
Eclipse Documentation

How To Guides
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Problem Solutions
Privacy Policy




29.12.3 Logging In and Out

These functions, derived from BSD, are available in the separate libutil library, and declared in utmp.h. Note that the ut_user member of struct utmp is called ut_name in BSD. Therefore, ut_name is defined as an alias for ut_user in utmp.h.

— Function: int login_tty (int filedes)

This function makes filedes the controlling terminal of the current process, redirects standard input, standard output and standard error output to this terminal, and closes filedes.

This function returns 0 on successful completion, and -1 on error.

— Function: void login (const struct utmp *entry)

The login functions inserts an entry into the user accounting database. The ut_line member is set to the name of the terminal on standard input. If standard input is not a terminal login uses standard output or standard error output to determine the name of the terminal. If struct utmp has a ut_type member, login sets it to USER_PROCESS, and if there is an ut_pid member, it will be set to the process ID of the current process. The remaining entries are copied from entry.

A copy of the entry is written to the user accounting log file.

— Function: int logout (const char *ut_line)

This function modifies the user accounting database to indicate that the user on ut_line has logged out.

The logout function returns 1 if the entry was successfully written to the database, or 0 on error.

— Function: void logwtmp (const char *ut_line, const char *ut_name, const char *ut_host)

The logwtmp function appends an entry to the user accounting log file, for the current time and the information provided in the ut_line, ut_name and ut_host arguments.

Portability Note: The BSD struct utmp only has the ut_line, ut_name, ut_host and ut_time members. Older systems do not even have the ut_host member.

  Published under the terms of the GNU General Public License Design by Interspire