mirror of
https://gogs.blitter.com/RLabs/goutmp
synced 2024-08-14 19:26:41 +00:00
Go bindings to maintain the traditional UNIX utmp/utmpx and lastlog, used for tracking remote terminal sessions.
main | ||
go.mod | ||
goutmp_bsd.go | ||
goutmp_linux.go | ||
LICENSE.mit | ||
README.md |
goutmp - Minimal bindings to C stdlib pututmpx(), getutmpx() (/var/log/wtmp) and /var/log/lastlog
Any Go program which allows user shell access should update the standard UNIX files which track user sessions: /var/log/wtmp (for the 'w' and 'who' commands), and /var/log/lastlog (the 'last' and 'lastlog' commands).
$ go doc -all
package goutmp // import "blitter.com/go/goutmp"
Golang bindings for basic login/utmp accounting
FUNCTIONS
func GetHost(addr string) (h string)
return remote client hostname or IP if host lookup fails addr is expected to
be of the format given by net.Addr.String() eg., "127.0.0.1:80" or
"[::1]:80"
func Put_lastlog_entry(app, usr, ptsname, host string)
Put the login app, username and originating host/IP to lastlog
func Unput_utmp(entry UtmpEntry)
Remove a username/host entry from utmp
TYPES
type UtmpEntry struct {
// Has unexported fields.
}
UtmpEntry wraps the C struct utmp
func Put_utmp(user, ptsName, host string) UtmpEntry
Put a username and the originating host/IP to utmp