• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

.github/H22-Dec-2021-119106

debian/H22-Dec-2021-943589

examples/H22-Dec-2021-332251

nss_cache/H03-May-2022-15,22010,891

rpm/H22-Dec-2021-97

tests/H22-Dec-2021-412266

.coveragercH A D22-Dec-202170 75

.gitignoreH A D22-Dec-2021453 3534

CODE_OF_CONDUCT.mdH A D22-Dec-20213.1 KiB4728

CONTRIBUTING.mdH A D22-Dec-20211.8 KiB3930

COPYINGH A D22-Dec-202117.6 KiB341281

DockerfileH A D22-Dec-2021245 119

MANIFEST.inH A D22-Dec-2021179 109

MakefileH A D22-Dec-2021513 2012

README.mdH A D22-Dec-20212.4 KiB3518

THANKSH A D22-Dec-2021503 2018

nsscacheH A D22-Dec-20211.3 KiB3715

nsscache.1H A D22-Dec-20212.9 KiB106105

nsscache.confH A D03-May-20226 KiB22127

nsscache.conf.5H A D03-May-202211.1 KiB434359

nsscache.cronH A D22-Dec-2021558 2015

nsscache.shH A D22-Dec-20213.3 KiB112101

nsscache.specH A D22-Dec-20211.1 KiB4535

release.shH A D22-Dec-2021685 2215

setup.cfgH A D22-Dec-2021264 1914

setup.pyH A D22-Dec-20212.1 KiB6139

README.md

1nsscache - Asynchronously synchronise local NSS databases with remote directory services
2========================================================================================
3
4![ci](https://github.com/google/nsscache/workflows/CI/badge.svg)
5[![codecov](https://codecov.io/gh/google/nsscache/branch/master/graph/badge.svg)](https://codecov.io/gh/google/nsscache)
6
7*nsscache* is a commandline tool and Python library that synchronises a local NSS cache from a remote directory service, such as LDAP.
8
9As soon as you have more than one machine in your network, you want to share usernames between those systems. Linux administrators have been brought up on the convention of LDAP or NIS as a directory service, and `/etc/nsswitch.conf`, `nss_ldap.so`, and `nscd` to manage their nameservice lookups.
10
11Even small networks will have experienced intermittent name lookup failures, such as a mail receiver sometimes returning "User not found" on a mailbox destination because of a slow socket over a congested network, or erratic cache behaviour by `nscd`. To combat this problem, we have separated the network from the NSS lookup codepath, by using an asynchronous cron job and a glorified script, to improve the speed and reliability of NSS lookups. We presented a talk at [linux.conf.au 2008](http://lca2008.linux.org.au/) ([PDF slides](http://mirror.linux.org.au/linux.conf.au/2008/slides/056-posix-jaq-v.pdf)) on the problems in NSS and the requirements for a solution.
12
13Here, we present to you this glorified script, which is just a little more extensible than
14
15    ldapsearch | awk > /etc/passwd
16
17Read the [Google Code blog announcement](http://www.anchor.com.au/blog/2009/02/nsscache-and-ldap-reliability/) for nsscache, or more about the [motivation behind this tool](https://github.com/google/nsscache/wiki/MotivationBehindNssCache).
18
19Here's a [testimonial from Anchor Systems](http://www.anchor.com.au/blog/2009/02/nsscache-and-ldap-reliability/) on their deployment of nsscache.
20
21
22Pair *nsscache* with https://github.com/google/libnss-cache to integrate the local cache with your name service switch.
23
24---
25
26Mailing list: https://groups.google.com/forum/#!forum/nsscache-discuss
27
28Issue history is at https://code.google.com/p/nsscache/issues/list
29
30---
31
32# Contributions
33
34Please format your code with https://github.com/google/yapf (installable as `pip install yapf` or the `yapf3` package on Debian systems) before sending pull requests.
35