Replacement for old libnss-mysql as naming service library in Linux.
You can store user information in MariaDB/MySQL database. E.g. `ls` then automatically shows user name from the database, `getent` shows users and groups.
## Features
- implements `password`, `shadow` and `group` getters
- `cmake` build system
- `libconfig` for configuration
- uses direct queries and `real_escape_string`
- uses `threads.c` from `C11`
- requirements: `Glibc 2.28`, `GCC 8`, equivalent of `Debian 10` (*Buster*) and newer, `MySQL 5.5+`/`MariaDB 10.0+`, `mariadb-connector-c`/`libmysqlclient`. Might work or compile on older systems, but it's untested
- tested systems - latest `Archlinux`, `CentOS`, `Debian`, `Fedora`, `Ubuntu` and `Ubuntu LTS`
- both *unix socket* and *hostname* + *port* are supported
- accepts custom mysql client configuration
- shouldn't be used with SUID programs
Homepage
Download
Recent Releases
1.021 Nov 2021 13:15
major bugfix:
## 1.0 - 2021-11-21
### Added
- mysql 8 compatibility
### Fixed
- segfault when cannot connect to the database - related to unix_socket value
- segfault when a config file is unreadable - happened everywhere listing and also find by name
- do not use uninitialized value - unix_socket config field
### Changed
- logger buffer value increased from 4k to 10k bytes
- do not log when root config is not readable
- add newlines to some log lines
### Removed
- remove config_db_settings binary
0.9418 Sep 2021 20:01
minor bugfix:
Memory leak in config load thx bassbot123
0.9205 Oct 2020 10:25
minor feature:
Allow running build script from outside script dir
.
Add support for whitespace in path in build script.
.
errornous paths in README.md to./scripts/.
.
Release v0.91.
.
#8 Set client character encoding to UTF-8.
0.9110 Jul 2020 03:15
minor feature:
Add logo
.
Make logo bigger.
.
Use tag for image to set dimensions.
.
Add changelog.
.
Set env as noninteractive for *debian.
.
Add link to freshcode page.
.
centos build.
.
Handle CentOS.
.
Travis try Focal Fossa as host.
.
Update docker package name.
.
Update priorities.
.
get docker tests running.
.
Refresh connection before next query.
.
Run integration tests on Travis + update Readme.
.
Travis config warnings.
.
Remove links from docker-compose file.
.
Remove mariadb-server from Dockerfiles, keep client only.
.
Allow to set source config file via env variable.
.
Rename PRODUCTION variable to RELEASE to follow cmake terms.
.
Remove superfluous commands in Dockerfiles.
.
Add support for unix socket.
.
Check sizes of uid_t and gid_t.
.
Separate privileges for pwd+grp and sp queries.
.
Allow custom mariadb/mysql configuration.
.
Update changelog.
.
Rewind queries when buffer is too short.
.
Read root config file only for shadow queries.
.
Release v0.91.
0.912 Feb 2020 20:40
major feature:
Initial beta release