/etc/passwd
- obsahuje jméno uživatele, uid, gid a shell/etc/shadow
- obsahuje zahešovaná hesla, jen root a suid programy/etc/group
- obsahuje jméno skupiny, gid a seznam uživatelůumožňuje brát inforamce o uživetelích a skupinách nejen z /etc/passwd /etc/shadow
. Specifikuje kde se mají hledat
vypisuje "databáze" a kde je hledat. Databáze může být třeba passwd, shadow, group, hosts, ... .
Pak následuje jeden nebo více zdrojů kde je hledat - vezme se první který vyhoví. To jak funguje
je specifikováno v /lib/libnss_*zdroj*.so.X
Nebo akce ve formátu [!]status = akce
(!status
- všechny kromě toho statusu)
statusy jsou:
akce zamenají:
příklad
hosts: dns files ethers: nisplus [NOTFOUND=return] db files
zdroje nemusí být vždycky k dispozici, proto se používají cashe - sssd, ...
protokol na kominikaci; centrální NIS server, ukládá autentizační informace
sdílené moduly pro su, sshd, ftpd, ... . Musí implemontovat api libpam.so
služba(/etc/pam.conf) typ control modul parametry
# PAM configuration for the Secure Shell service @include common-auth account required pam_nologin.so @include common-account session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so close session required pam_loginuid.so session optional pam_keyinit.so force revoke @include common-session session optional pam_motd.so motd=/run/motd.dynamic session optional pam_motd.so noupdate session optional pam_mail.so standard noenv # [1] session required pam_limits.so session required pam_env.so # [1] session required pam_env.so user_readenv=1 envfile=/etc/default/locale session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so open @include common-password
def. /etc/nologin
/etc/security/limits.d/
~/.yubico/authorized_yubikeys
je to protokol (port 389, LDAPS 636) pro komunikaci s databází, je na LDAP serveru jak ta databáze bude vypadat. Neukládá jenom jména, hesla ale může vše (konfigurace služeb).
záznamům se říká objekt a ten má atributy které mají typ a jednu nebo více hodnot.
schéma je definice všech tříd objektů a atributů. Třída (objectClass) je vytvořitelná kolekce objektů.
odkaz na wiki - seznam tříd
DN - distinguished name - unikátně identifikuje, něco jako (absolutní) cesta k souboru ve filesystému (čteme zleva doprava)
obsahuje RDN - atribut=hodnota+atribut2=hodnota2+... ; oddělené čárkami (relativní cesta)
dn: cn=John Doe,dc=example,dc=com
autentizace/autentizace klienta, dále ssl/TLS, SASL, ...
administrativní uživatel cn=admin,to co zadáte při instalaci
nastavení démona pomocí cn=config,to co zadáte při instalaci
/etc/ldap/slapd.d/
- výpis configů ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=config dn
cn=module,cn=config
dynamicky načtené moduly;
cn=schema,cn=config
definice schémat - děti jsou uživatelsky definované schémata; (/etc/ldap/schema)
olcBackend=xxx,cn=config
nastavení backendu;
olcDatabase=xxx,cn=config
nastavení databází;
LDAP není šifrováný je nutno použít TLS/SSL pro LDAPS
pro každou databázi je admin uživatel zvlášť (olcRootDN a olcRootPW)
pro každou databázi je ACL zvlášť (olcAccess)
olcAccess: {1}to attrs=loginShell,gecos
by dn="cn=admin,dc=example,dc=com" write
by self write
by * read
poskytuje autentizaci a bezpočnostní vrstvu pro různé služby. Funguje tak, že server poskytne list podporovaných
autentiačních mechanizmů a client si vybere
některé: ANONYMOUS, DIGEST-MD5, GSSAPI, PLAIN, NMAS_LOGIN, SPNEGO
v /etc/ldap/slapd.d/
složce se nacházejí složky a soubory podle jmenného modelu
příklad použití:
ldapadd -x -D cn=admin,dc=practice,dc=net -W -f soubor_na_prodani.ldif
dn: ou=Groups,dc=practice,dc=net
objectClass: organizationalUnit
ou: Groups
dn: cn=developers,ou=Groups,dc=practice,dc=net
objectClass: posixGroup
cn: developers
gidNumber: 5000
dn: uuid=freddy,ou=employee,dc=practice,dc=net
objectClass: posixAccount
uuid: freddy
gidNumber: 5000
příklad použití:
ldapmodify -x -D cn=admin,dc=practice,dc=net -W -f soubor_s_upravama.ldif
dn: uuid=freddy,ou=employee,dc=practice,dc=net
changeType: modify
replace: uuid
uuid: kuba
/etc/nslcd.conf
na vše se zeptá při instalaci; je jednodužší ale novější
/etc/libnss-ldap.conf
je nutné ručně nakonfigurovat; je starší ale komplikovanější /etc/nsswitch.conf
přidat ldap až za files
/etc/nslcd.conf
na vše se zeptá při instalaci; @include
, automaticky upraví /etc/pam.d/common-*
/etc/pam_ldap.conf
je nutné ručně nakonfigurovat; /etc/pam.d/common-*
podle dokumentace