timorunge.sssd

sssd

Ta rola instaluje i konfiguruje usługę SSSD.

Zapewnia również możliwość instalacji i wprowadzania poprawek do własnej wersji SSSD (z kodu źródłowego) zgodnie z Twoimi potrzebami.

Wymagania

Ta rola wymaga Ansible 2.6.0 lub wyższej, aby móc stosować łaty.

Możesz łatwo zainstalować (i określić) stabilną wersję używając pip:

pip install ansible==2.7.9

Wszystkie wymagania dotyczące platformy są wymienione w pliku metadanych.

Instalacja

Rekomendacja

Zaleca się korzystanie z SSSD 1.6.x. Wersja 2.0.0 działa, ale musiałem dodać kilka łat, aby ją uruchomić. Łaty te to właściwie commity po wydaniu wersji początkowej. Główna wersja jest zgodna wstecz z wersją 1.6.13. 2.0.0 ma po prostu więcej zależności w systemach opartych na Debianie (gir1.2-glib-2.0, libgirepository-1.0-1 & python-gi, pip: pyasn1, pyasn1-modules).

ansible-galaxy install timorunge.sssd[,version]

Uwaga dla RedHat

Niektóre z pakietów, które instaluje ta rola, są dostępne tylko w repozytoriach rhel-6-server-optional-rpms lub rhel-7-server-optional-rpms, może być konieczne włączenie tych repozytoriów, jeśli otrzymasz błąd jak "Nie znaleziono pakietu odpowiadającego sssd-dbus".

Włącz to opcjonalne repozytorium dla RHEL 6:

subscription-manager repos --enable rhel-6-server-optional-rpms

A dla RHEL 7:

subscription-manager repos --enable rhel-7-server-optional-rpms

Zmienne roli

Ta rola opiera się na hierarchii YAML tworząc działający plik konfiguracyjny dla usługi SSSD.

Poniżej znajdują się zmienne, które można przekazać do tej roli. Krótki opis znajduje się w tym akapicie. Dla wszystkich zmiennych zajrzyj do opcji konfiguracyjnych SSSD.

# Włącz / wyłącz SSSD jako usługę
# Typ: Bool
sssd_service_enabled: yes

# Włącz wyszukiwanie DNS w konfiguracji sshd
# Typ: Bool
sssd_manage_sshd_dns_service_lookup: false

# Wybierz typ konfiguracji: config (`sssd_config`), plik (`sssd_config_src_file`)
# lub żaden (wyłącz generowanie sssd.conf)
# Typ: Str
sssd_config_type: config

# Domyślne opcje konfiguracyjne SSSD
# Typ: Dict
sssd_config:
  "domain/example.com":
    access_provider: permit
    auth_provider: local
    id_provider: local
  sssd:
    config_file_version: 2
    services: nss, pam
    domains: example.com

# Domyślny plik konfiguracyjny SSSD
# Typ: Str
sssd_config_src_file: sssd.example.conf

# SSSD z źródła:

# Zainstaluj SSSD z źródeł:
# Typ: Bool
sssd_from_sources: false

# Definicja wersji (istotna tylko, jeśli `sssd_from_sources` jest prawda):
# Typ: Str
sssd_version: 2.0.0

# Łaty

# W tej sekcji możesz zastosować niestandardowe łatki do SSSD.
# Możesz znaleźć jeden przykład w README.md oraz w katalogu testów.
# Typ: Dict
sssd_patches:
  fix-makefile:
    dest_file: Makefile.am
    patch_file: "files/patches/{{ sssd_version }}/fix-makefile.diff"
    state: present

# Opcje budowania

# Domyślne opcje budowania są zapisane w `vars/{{ ansible_os_family }}.yml`
# Typ: List
sssd_build_options: "{{ sssd_default_build_options }}"

Przykłady

Aby dokument był zwięzły, opcje kompilacyjne zostały pominięte. Możesz znaleźć opcje budowy SSSD w tym dokumencie.

1) Skonfiguruj SSSD zgodnie z potrzebami

- hosts: all
  vars:
    sssd_config:
      "domain/example.com":
        access_provider: permit
        auth_provider: local
        id_provider: local
      sssd:
        config_file_version: 2
        domains: example.com
        services: nss, pam
  roles:
    - timorunge.sssd

2) Przykład konfiguracji SSSD dla FreeIPA

- hosts: all
  vars:
    sssd_config:
      "domain/example.com":
        access_provider: ipa
        auth_provider: ipa
        cache_credentials: true
        chpass_provider: ipa
        id_provider: ipa
        ipa_domain: example.com
        ipa_hostname: debian-eeBahPh3.example.com
        ipa_server: ipa-srv1.example.com
        krb5_store_password_if_offline: true
        ldap_tls_cacert: /etc/ipa/ca.crt
      sssd:
        config_file_version: 2
        domains: example.com
        services: ifp, nss, pam, ssh, sudo
      nss:
        homedir_substring: /home
        memcache_timeout: 600
  roles:
    - timorunge.sssd

3) Zbuduj i skonfiguruj SSSD zgodnie z potrzebami

Oprócz standardowej instalacji przez pakiety, możliwe jest również zbudowanie SSSD z kodu źródłowego (w tym przykładzie dla systemów opartych na Debianie).

- hosts: all
  vars:
    sssd_from_sources: true
    sssd_version: 2.0.0
    sssd_default_build_options:
      - "--datadir=/usr/share"
      - "--disable-rpath"
      - "--disable-silent-rules"
      - "--disable-static"
      - "--enable-krb5-locator-plugin"
      - "--enable-nsslibdir=/lib/{{ sssd_dpkg_architecture }}"
      - "--enable-pac-responder"
      - "--enable-pammoddir=/lib/{{ sssd_dpkg_architecture }}/security"
      - "--enable-systemtap"
      - "--includedir=/usr/include"
      - "--infodir=/usr/local/share/info"
      - "--libdir=/usr/lib/{{ sssd_dpkg_architecture }}"
      - "--libexecdir=/usr/lib/{{ sssd_dpkg_architecture }}"
      - "--localstatedir=/var"
      - "--mandir=/usr/local/share/man"
      - "--prefix=/usr"
      - "--sysconfdir=/etc"
      - "--with-autofs"
      - "--with-environment-file={{ sssd_environment_file }}"
      - "--with-initscript=systemd"
      - "--with-krb5-conf=/etc/krb5.conf"
      - "--with-krb5-plugin-path=/usr/lib/{{ sssd_dpkg_architecture }}/krb5/plugins/libkrb5"
      - "--with-ldb-lib-dir=/usr/lib/{{ sssd_dpkg_architecture }}/ldb/modules/ldb"
      - "--with-log-path=/var/log/sssd"
      - "--with-pid-path=/var/run"
      - "--with-plugin-path=/usr/lib/{{ sssd_dpkg_architecture }}/sssd"
      - "--with-samba"
      - "--with-secrets-db-path=/var/lib/sss/secrets"
      - "--with-secrets"
      - "--with-ssh"
      - "--with-sudo-lib-path=/usr/lib/{{ sssd_dpkg_architecture }}"
      - "--with-sudo"
      - "--with-systemdunitdir=/lib/systemd/system"
    sssd_config:
      "domain/example.com":
        access_provider: permit
        auth_provider: local
        id_provider: local
      sssd:
        config_file_version: 2
        domains: example.com
        services: nss, pam
  roles:
    - timorunge.sssd

4) Nie generuj żadnej konfiguracji

Przydatne, jeśli używasz tej roli w połączeniu np. z serwerem FreeIPA lub klientem FreeIPA.

- hosts: all
  vars:
    sssd_config_type: none
    sssd_from_sources: true
    sssd_version: 2.0.0
  roles:
    - timorunge.sssd

5) Zastosuj łaty do źródła

- hosts: all
  vars:
    sssd_from_sources: true
    sssd_version: 2.0.0
    sssd_patches:
      fix-makefile:
        dest_file: Makefile.am
        patch_file: "files/patches/{{ sssd_version }}/fix-makefile.diff"
        state: present
    sssd_build_options: "{{ sssd_default_build_options }}"
    sssd_config:
      "domain/example.com":
        access_provider: permit
        auth_provider: local
        id_provider: local
      sssd:
        config_file_version: 2
        domains: example.com
        services: nss, pam
  roles:
    - timorunge.sssd

6) Nadpisz szablony init.d i systemd

- hosts: all
  vars:
    sssd_init_template: roles/sssd/templates/sssd.service.j2
    sssd_service_template: roles/sssd/templates/sssd.init.j2
    sssd_config:
      "domain/example.com":
        access_provider: permit
        auth_provider: local
        id_provider: local
      sssd:
        config_file_version: 2
        domains: example.com
        services: nss, pam
  roles:
    - timorunge.sssd

Opcje konfiguracyjne SSSD

# Format:
# opcja: typ, podtyp, obowiązkowy[, domyślny]
sssd_config:
  service:
    # Opcje dostępne dla wszystkich usług
    timeout: int, None, false
    debug: int, None, false
    debug_level: int, None, false
    debug_timestamps: bool, None, false
    debug_microseconds: bool, None, false
    debug_to_files: bool, None, false
    command: str, None, false
    reconnection_retries: int, None, false
    fd_limit: int, None, false
    client_idle_timeout: int, None, false
    responder_idle_timeout: int, None, false
    cache_first: int, None, false
    description: str, None, false

  sssd:
    # Monitoruj usługę
    config_file_version: int, None, false
    services: list, str, true, nss, pam
    domains: list, str, true
    sbus_timeout: int, None, false
    re_expression: str, None, false
    full_name_format: str, None, false
    krb5_rcache_dir: str, None, false
    user: str, None, false
    default_domain_suffix: str, None, false
    certificate_verification: str, None, false
    override_space: str, None, false
    disable_netlink: bool, None, false
    enable_files_domain: str, None, false
    domain_resolution_order: list, str, false
    try_inotify: bool, None, false

  nss:
    # Usługa nazewnictwa
    enum_cache_timeout: int, None, false
    entry_cache_nowait_percentage: int, None, false
    entry_negative_timeout: int, None, false
    local_negative_timeout: int, None, false
    filter_users: list, str, false
    filter_groups: list, str, false
    filter_users_in_groups: bool, None, false
    pwfield: str, None, false
    override_homedir: str, None, false
    fallback_homedir: str, None, false
    homedir_substring: str, None, false, /home
    override_shell: str, None, false
    allowed_shells: list, str, false
    vetoed_shells: list, str, false
    shell_fallback: str, None, false
    default_shell: str, None, false
    get_domains_timeout: int, None, false
    memcache_timeout: int, None, false
    user_attributes: str, None, false

  pam:
    # Usługa autoryzacji
    offline_credentials_expiration: int, None, false
    offline_failed_login_attempts: int, None, false
    offline_failed_login_delay: int, None, false
    pam_verbosity: int, None, false
    pam_response_filter: str, None, false
    pam_id_timeout: int, None, false
    pam_pwd_expiration_warning: int, None, false
    get_domains_timeout: int, None, false
    pam_trusted_users: str, None, false
    pam_public_domains: str, None, false
    pam_account_expired_message: str, None, false
    pam_account_locked_message: str, None, false
    pam_cert_auth: bool, None, false
    pam_cert_db_path: str, None, false
    p11_child_timeout: int, None, false
    pam_app_services: str, None, false
    pam_p11_allowed_services: str, None, false

  sudo:
    # Usługa sudo
    sudo_timed: bool, None, false
    sudo_inverse_order: bool, None, false
    sudo_threshold: int, None, false

  autofs:
    # Usługa autofs
    autofs_negative_timeout: int, None, false

  ssh:
    # Usługa ssh
    ssh_hash_known_hosts: bool, None, false
    ssh_known_hosts_timeout: int, None, false
    ca_db: str, None, false

  pac:
    # PAC responder
    allowed_uids: str, None, false
    pac_lifetime: int, None, false

  ifp:
    # InfoPipe responder
    allowed_uids: str, None, false
    user_attributes: str, None, false

  secrets:
    # Usługa secretów
    provider: str, None, false
    containers_nest_level: int, None, false
    max_secrets: int, None, false
    max_uid_secrets: int, None, false
    max_payload_size: int, None, false
    # Usługa sekretnych - proxy
    proxy_url: str, None, false
    auth_type: str, None, false
    auth_header_name: str, None, false
    auth_header_value: str, None, false
    forward_headers: list, None, false
    username: str, None, false
    password: str, None, false
    verify_peer: bool, None, false
    verify_host: bool, None, false
    capath: str, None, false
    cacert: str, None, false
    cert: str, None, false
    key: str, None, false

  session_recording:
    # Usługa nagrywania sesji
    scope: str, None, false
    users: list, str, false
    groups: list, str, false

  provider:
    # Typy dostępnych dostawców
    id_provider: str, None, true
    auth_provider: str, None, false
    access_provider: str, None, false
    chpass_provider: str, None, false
    sudo_provider: str, None, false
    autofs_provider: str, None, false
    hostid_provider: str, None, false
    subdomains_provider: str, None, false
    selinux_provider: str, None, false
    session_provider: str, None, false

  domain:
    # Opcje dostępne dla wszystkich domen
    description: str, None, false
    domain_type: str, None, false
    debug: int, None, false
    debug_level: int, None, false
    debug_timestamps: bool, None, false
    command: str, None, false
    min_id: int, None, false
    max_id: int, None, false
    timeout: int, None, false
    enumerate: bool, None, false
    subdomain_enumerate: str, None, false
    offline_timeout: int, None, false
    cache_credentials: bool, None, false
    cache_credentials_minimal_first_factor_length: int, None, false
    use_fully_qualified_names: bool, None, false
    ignore_group_members: bool, None, false
    entry_cache_timeout: int, None, false
    lookup_family_order: str, None, false
    account_cache_expiration: int, None, false
    pwd_expiration_warning: int, None, false
    filter_users: list, str, false
    filter_groups: list, str, false
    dns_resolver_timeout: int, None, false
    dns_discovery_domain: str, None, false
    override_gid: int, None, false
    case_sensitive: str, None, false
    override_homedir: str, None, false
    fallback_homedir: str, None, false
    homedir_substring: str, None, false
    override_shell: str, None, false
    default_shell: str, None, false
    description: str, None, false
    realmd_tags: str, None, false
    subdomain_refresh_interval: int, None, false
    subdomain_inherit: str, None, false
    subdomain_homedir: str, None, false
    cached_auth_timeout: int, None, false
    full_name_format: str, None, false
    re_expression: str, None, false
    auto_private_groups: str, None, false

    # Czas timeoutów w pamięci podręcznej
    entry_cache_user_timeout: int, None, false
    entry_cache_group_timeout: int, None, false
    entry_cache_netgroup_timeout: int, None, false
    entry_cache_service_timeout: int, None, false
    entry_cache_autofs_timeout: int, None, false
    entry_cache_sudo_timeout: int, None, false
    entry_cache_ssh_host_timeout: int, None, false
    refresh_expired_interval: int, None, false

    # Dynamiczne aktualizacje DNS
    dyndns_update: bool, None, false
    dyndns_ttl: int, None, false
    dyndns_iface: str, None, false
    dyndns_refresh_interval: int, None, false
    dyndns_update_ptr: bool, None, false
    dyndns_force_tcp: bool, None, false
    dyndns_auth: str, None, false
    dyndns_server: str, None, false

  # Specjalni dostawcy
  provider/permit:

  provider/permit/access:

  provider/deny:

  provider/deny/access:

Opcje budowy SSSD

Przegląd opcji budowy dla SSSD (2.0.0).

`configure' konfiguruje sssd 2.0.0 do dostosowania do wielu rodzajów systemów.

Użycie: ./configure [OPTION]... [VAR=VALUE]...

Aby przypisać zmienne środowiskowe (np. CC, CFLAGS...), należy je określić jako
VAR=VALUE. Zobacz poniżej, aby uzyskać opisy przydatnych zmiennych.

Domyślne opcje są określone w nawiasach.

Konfiguracja:
  -h, --help              wyświetl tę pomoc i zakończ
      --help=short        wyświetl opcje specyficzne dla tego pakietu
      --help=recursive    wyświetl krótką pomoc wszystkich dołączonych pakietów
  -V, --version           wyświetl informacje o wersji i zakończ
  -q, --quiet, --silent   nie drukuj komunikatów `sprawdzanie ...`
      --cache-file=FILE   cachowanie wyników testów w PLIKU [wyłączone]
  -C, --config-cache      alias dla `--cache-file=config.cache'
  -n, --no-create         nie twórz plików wyjściowych
      --srcdir=DIR        znajdź źródła w KATALOGU [katalog konfiguracyjny lub `..']

Katalogi instalacji:
  --prefix=PREFIX         zainstaluj pliki niezależne od architektury w PREFIX
                          [/usr/local]
  --exec-prefix=EPREFIX   zainstaluj pliki zależne od architektury w EPREFIX
                          [PREFIX]

Domyślnie `make install' zainstaluje wszystkie pliki w
`/usr/local/bin', `/usr/local/lib' itp. Możesz określić
prefiks instalacji różny od `/usr/local' używając `--prefix',
na przykład `--prefix=$HOME'.

Aby uzyskać lepszą kontrolę, użyj poniższych opcji.

Dostosowanie katalogów instalacji:
  --bindir=DIR            wykonywalne dla użytkowników [EPREFIX/bin]
  --sbindir=DIR           wykonywalne dla administratorów systemu [EPREFIX/sbin]
  --libexecdir=DIR        wykonywalne programu [EPREFIX/libexec]
  --sysconfdir=DIR        dane tylko do odczytu dla jednej maszyny [PREFIX/etc]
  --sharedstatedir=DIR    modyfikowalne dane niezależne od architektury [PREFIX/com]
  --localstatedir=DIR     modyfikowalne dane dla jednej maszyny [PREFIX/var]
  --libdir=DIR            biblioteki kodu obiektowego [EPREFIX/lib]
  --includedir=DIR        pliki nagłówkowe C [PREFIX/include]
  --oldincludedir=DIR     pliki nagłówkowe C dla nie-gcc [/usr/include]
  --datarootdir=DIR       dane tylko do odczytu, arch.-niezależne root [PREFIX/share]
  --datadir=DIR           dane tylko do odczytu, arch.-niezależne [DATAROOTDIR]
  --infodir=DIR           dokumentacja informacji [DATAROOTDIR/info]
  --localedir=DIR         dane zależne od lokalizacji [DATAROOTDIR/locale]
  --mandir=DIR            dokumentacja man [DATAROOTDIR/man]
  --docdir=DIR            katalog dokumentacji [DATAROOTDIR/doc/sssd]
  --htmldir=DIR           dokumentacja html [DOCDIR]
  --dvidir=DIR            dokumentacja dvi [DOCDIR]
  --pdfdir=DIR            dokumentacja pdf [DOCDIR]
  --psdir=DIR             dokumentacja ps [DOCDIR]

Nazwy programów:
  --program-prefix=PREFIX            prefix PREFIX do zainstalowanych nazw programów
  --program-suffix=SUFFIX            suffix SUFFIX do zainstalowanych nazw programów
  --program-transform-name=PROGRAM   uruchom sed PROGRAM na zainstalowanych nazwach programów

Typy systemowe:
  --build=BUILD     konfiguracja do budowania na BUILD [zgadywane]
  --host=HOST       cross-compile do budowy programów do uruchomienia na HOST [BUILD]

Opcjonalne funkcje:
  --disable-option-checking  ignoruj nieuznawane --enable/--with opcje
  --disable-FEATURE       nie włączaj FUNKCJI (to samo co --enable-FEATURE=no)
  --enable-FEATURE[=ARG]  włącz FUNKCJĘ [ARG=yes]
  --enable-dependency-tracking
                          nie odrzucaj powolnych ekstraktorów zależności
  --disable-dependency-tracking
                          przyspiesza jednorazowe budowanie
  --enable-silent-rules   mniej obszerne wyjście budowy (przywróć: "make V=1")
  --disable-silent-rules  obszerne wyjście budowy (przywróć: "make V=0")
  --enable-static[=PKGS]  buduj biblioteki statyczne [domyślnie=nie]
  --enable-shared[=PKGS]  buduj biblioteki współdzielone [domyślnie=tak]
  --enable-fast-install[=PKGS]
                          optymalizacja dla szybkiej instalacji [domyślnie=tak]
  --disable-libtool-lock  unikaj blokady (może zepsuć równoległe budowanie)
  --disable-nls           nie używaj wsparcia dla języków narodowych
  --disable-rpath         nie wbudowuj ścieżek bibliotek w czasie wykonywania
  --enable-nsslibdir      Gdzie instalować biblioteki nss ($libdir)
  --enable-pammoddir      Gdzie instalować moduły pam ($libdir/security)
  --enable-nfsidmaplibdir Gdzie instalować biblioteki libnfsidmap
                          ($libdir/libnfsidmap)
  --enable-all-experimental-features
                          buduj wszystkie eksperymentalne funkcje
  --enable-sss-default-nss-plugin
                          Ta opcja zmienia standardowe zachowanie wtyczki nss sss.
                          Jeśli ta opcja jest włączona, wtyczka nss sss będzie 
                          działać tak, jakby nie była w nsswitch.conf, gdy sssd
                          nie działa. [domyślnie=nie]
  --enable-files-domain   Jeśli ta funkcja jest włączona, to SSSD zawsze włącza
                          domenę z id_provider=files, nawet jeśli domena
                          nie jest określona w pliku konfiguracyjnym [domyślnie=nie]
  --enable-local-provider Jeśli ta opcja jest włączona, to dostawca lokalny będzie
                          budowany domyślnie. [domyślnie=nie]
  --enable-ldb-version-check
                          kompilacja z kontrolą wersji ldb w czasie wykonywania [domyślnie=nie]
  --disable-krb5-locator-plugin
                          nie buduj wtyczki lokalizatora Kerberos
  --enable-pac-responder  buduj pac responder
  --disable-cifs-idmap-plugin
                          nie buduj wtyczki idmap CIFS
  --enable-systemtap      Włącz wsparcie śledzenia systemtap
  --enable-intgcheck-reqs włącz sprawdzanie wymagań testów integracyjnych
                          [domyślnie=nie]
  --enable-polkit-rules-path=PATH
                          Ścieżka do przechowywania reguł polkit. Użyj --disable, aby nie
                          instalować zasad wcale.
                          [/usr/share/polkit-1/rules.d]


Opcjonalne pakiety:
  --with-PACKAGE[=ARG]    użyj PAKIETU [ARG=tak]
  --without-PACKAGE       nie używaj PAKIETU (to samo co --with-PACKAGE=no)
  --with-pic[=PKGS]       próbuj używać tylko PIC/non-PIC obiektów [domyślnie=użyj
                          obu]
  --with-gnu-ld           zakładaj, że kompilator C korzysta z GNU ld [domyślnie=nie]
  --with-sysroot=DIR Szukaj zależnych bibliotek w DIR
                        (lub w sysroot kompilatora, jeśli nie jest wskazane).
  --with-gnu-ld           zakładaj, że kompilator C korzysta z GNU ld domyślnie=nie
  --with-libiconv-prefix[=DIR]  szukaj libiconv w DIR/include i DIR/lib
  --without-libiconv-prefix     nie szukaj libiconv w includedir i libdir
  --with-libintl-prefix[=DIR]  szukaj libintl w DIR/include i DIR/lib
  --without-libintl-prefix     nie szukaj libintl w includedir i libdir
  --with-shared-build-dir=DIR
                          tymczasowy katalog budowy, w którym biblioteki są
                          instalowane [$srcdir/sharedbuild]
  --with-os=OS_TYPE       Typ twojego systemu operacyjnego
                          (fedora|redhat|suse|gentoo)

  --with-db-path=PATH     Ścieżka do baz danych SSSD [/var/lib/sss/db]


  --with-plugin-path=PATH Ścieżka do wtyczek dostawcy danych SSSD
                          [/usr/lib/sssd]


  --with-pid-path=PATH    Gdzie przechowywać pliki pid dla SSSD [/var/run]


  --with-log-path=PATH    Gdzie przechowywać pliki logów dla SSSD
                          [/var/log/sssd]


  --with-pubconf-path=PATH
                          Gdzie przechowywać pliki pubconf dla SSSD
                          [/var/lib/sss/pubconf]


  --with-pipe-path=PATH   Gdzie przechowywać pliki pipe dla połączeń SSSD
                          [/var/lib/sss/pipes]


  --with-mcache-path=PATH Gdzie przechowywać pliki mmap cache dla połączeń SSSD
                          [/var/lib/sss/mc]


  --with-default-ccache-dir=CCACHEDIR
                          Domyślna wartość krb5_ccachedir [/tmp]


  --with-default-ccname-template=CCACHE
                          Domyślna wartość zapasowa krb5_ccname_template
                          [FILE:%d/krb5cc_%U_XXXXXX]


  --with-environment-file=PATH
                          Ścieżka do pliku środowiskowego [/etc/sysconfig/sssd]


  --with-init-dir=DIR     Gdzie przechowywać skrypt inicjujący dla sssd
                          [/etc/rc.d/init.d]


  --with-test-dir=PATH    Katalog używany dla tymczasowych plików make check
                          [$builddir]

  --with-manpages         Czy regenerować strony man z źródeł DocBook
                          [tak]

  --with-xml-catalog-path=PATH
                          Gdzie szukać katalogu XML [/etc/xml/catalog]


  --with-krb5-plugin-path=PATH
                          Ścieżka do przechowywania wtyczek Kerberos
                          [/usr/lib/krb5/plugins/libkrb5]


  --with-krb5-rcache-dir=PATH
                          Ścieżka do przechowywania pamięci podręcznych Kerberos
                          [__LIBKRB5_DEFAULTS__]


  --with-krb5authdata-plugin-path=PATH
                          Ścieżka do przechowywania wtyczek authdata Kerberos
                          [/usr/lib/krb5/plugins/authdata]


  --with-krb5-conf=PATH   Ścieżka do pliku krb5.conf [/etc/krb5.conf]


  --with-python2-bindings Czy budować powiązania python2 [tak]

  --with-python3-bindings Czy budować powiązania python3 [tak]

  --with-cifs-plugin-path=PATH
                          Ścieżka do przechowywania wtyczek cifs-utils
                          [/usr/lib/cifs-utils]


  --with-winbind-plugin-path=PATH
                          Ścieżka do wtyczek winbind idmap
                          [/usr/lib/samba/idmap]


  --with-selinux          Czy budować z wsparciem SELinux [tak]

  --with-nscd=PATH        Ścieżka do binarki nscd, aby spróbować wyczyścić pamięć podręczną nscd
                          po operacjach na lokalnej domenie [/usr/sbin/nscd]


  --with-ipa-getkeytab=PATH
                          Ścieżka do binarki ipa_getkeytab do pobierania keytabów
                          z serwera FreeIPA [/usr/sbin/ipa-getkeytab]


  --with-semanage         Czy budować z wsparciem zarządzania użytkownikami SELinux [tak]

  --with-ad-gpo-default=enforcing|permissive
                          Domyślny poziom egzekwowania dla kontroli dostępu GPO AD
                          (egzekwowanie)


  --with-gpo-cache-path=PATH
                          Gdzie przechowywać pliki polityki GPO
                          [/var/lib/sss/gpo_cache]


  --with-nologin-shell=PATH
                          Powłoka używana do odmowy dostępu dla użytkowników
                          [/sbin/nologin]


  --with-session-recording-shell=PATH
                          Powłoka używana do nagrywania sesji użytkowników
                          [/usr/bin/tlog-rec-session]


  --with-app-libs=<path>  Ścieżka do wtyczek aplikacji 3rd party
                          [/usr/lib/sssd/modules]


  --with-sudo             Czy budować z wsparciem sudo [tak]

  --with-sudo-lib-path=<path>
                          Ścieżka do biblioteki sudo [/usr/lib/]


  --with-autofs           Czy budować z wsparciem autofs [tak]

  --with-ssh              Czy budować z wsparciem SSH [tak]

  --with-infopipe         Czy budować z wsparciem InfoPipe [tak]

  --with-crypto=CRYPTO_LIB
                          Biblioteka kryptograficzna do użycia (nss|libcrypto).
                          Domyślnie jest to nss.

  --with-syslog=SYSLOG_TYPE
                          Typ twojego rejestru systemowego (syslog|journald).
                          [syslog]

  --with-samba            Czy budować z bibliotekami samba4 [tak]

  --with-nfsv4-idmapd-plugin
                          Czy budować z obsługą NFSv4 IDMAP [tak]

  --with-nfs-lib-path=<path>
                          Ścieżka do biblioteki NFS [${libdir}]


  --with-libwbclient      Czy budować implementację SSSD libwbclient [tak]

  --with-sssd-user=<user> Użytkownik do uruchamiania SSSD (root)


  --with-secrets          Czy budować z obsługą sekretów [nie]

  --with-secrets-db-path=PATH
                          Ścieżka do baz danych SSSD [/var/lib/sss/secrets]


  --with-kcm              Czy budować z obsługą serwera KCM [tak]

  --with-ldb-lib-dir=PATH Ścieżka do przechowywania modułów ldb [${libdir}/ldb]


  --with-smb-idmap-interface-version=5|6
                          Wersja interfejsu idmap zainstalowanego Samba


  --with-unicode-lib=<library>
                          Którą bibliotekę użyć do przetwarzania Unicode
                          (libunistring, glib2) [glib2]


  --with-libnl            Czy budować z obsługą libnetlink (libnl3,
                          libnl1, brak) [auto]

  --with-nscd-conf=PATH   Ścieżka do pliku nscd.conf [/etc/nscd.conf]


  --with-initscript=INITSCRIPT_TYPE
                          Typ skryptu inicjującego (sysv|systemd). [sysv]


   --with-systemdunitdir=DIR
                          Katalog dla plików serwisowych systemd [Auto],

   --with-systemdconfdir=DIR
                          Katalog dla nadpisanych plików serwisowych systemd [Auto],

  --with-tapset-install-dir
                          Absolutna ścieżka, w której katalog tapset będzie
                          zainstalowany

Niektóre wpływowe zmienne środowiskowe:
  CC          Komenda kompilatora C
  CFLAGS      Flagi kompilatora C
  LDFLAGS     Flagi linker, np. -L<lib dir>, jeśli masz biblioteki w niestandardowym katalogu <lib dir>
  LIBS        biblioteki do przekazania linkerowi, np. -l<library>
  CPPFLAGS    Flagi preprocesora (Objective) C/C++, np. -I<include dir>, jeśli masz nagłówki w niestandardowym katalogu <include dir>
  CPP         Preprocesor C
  PKG_CONFIG  ścieżka do narzędzia pkg-config
  POPT_CFLAGS Flagi kompilatora C dla POPT, nadpisujące pkg-config
  POPT_LIBS   Flagi linker dla POPT, nadpisujące pkg-config
  TALLOC_CFLAGS
              Flagi kompilatora C dla TALLOC, nadpisujące pkg-config
  TALLOC_LIBS Flagi linker dla TALLOC, nadpisujące pkg-config
  TDB_CFLAGS  Flagi kompilatora C dla TDB, nadpisujące pkg-config
  TDB_LIBS    Flagi linker dla TDB, nadpisujące pkg-config
  TEVENT_CFLAGS
              Flagi kompilatora C dla TEVENT, nadpisujące pkg-config
  TEVENT_LIBS Flagi linker dla TEVENT, nadpisujące pkg-config
  LDB_CFLAGS  Flagi kompilatora C dla LDB, nadpisujące pkg-config
  LDB_LIBS    Flagi linker dla LDB, nadpisujące pkg-config
  DHASH_CFLAGS
              Flagi kompilatora C dla DHASH, nadpisujące pkg-config
  DHASH_LIBS  Flagi linker dla DHASH, nadpisujące pkg-config
  COLLECTION_CFLAGS
              Flagi kompilatora C dla COLLECTION, nadpisujące pkg-config
  COLLECTION_LIBS
              Flagi linker dla COLLECTION, nadpisujące pkg-config
  INI_CONFIG_V0_CFLAGS
              Flagi kompilatora C dla INI_CONFIG_V0, nadpisujące pkg-config
  INI_CONFIG_V0_LIBS
              Flagi linker dla INI_CONFIG_V0, nadpisujące pkg-config
  INI_CONFIG_V1_CFLAGS
              Flagi kompilatora C dla INI_CONFIG_V1, nadpisujące pkg-config
  INI_CONFIG_V1_LIBS
              Flagi linker dla INI_CONFIG_V1, nadpisujące pkg-config
  INI_CONFIG_V1_1_CFLAGS
              Flagi kompilatora C dla INI_CONFIG_V1_1, nadpisujące pkg-config
  INI_CONFIG_V1_1_LIBS
              Flagi linker dla INI_CONFIG_V1_1, nadpisujące pkg-config
  INI_CONFIG_V1_3_CFLAGS
              Flagi kompilatora C dla INI_CONFIG_V1_3, nadpisujące pkg-config
  INI_CONFIG_V1_3_LIBS
              Flagi linker dla INI_CONFIG_V1_3, nadpisujące pkg-config
  GDM_PAM_EXTENSIONS_CFLAGS
              Flagi kompilatora C dla GDM_PAM_EXTENSIONS, nadpisujące pkg-config
  GDM_PAM_EXTENSIONS_LIBS
              Flagi linker dla GDM_PAM_EXTENSIONS, nadpisujące pkg-config
  PCRE_CFLAGS Flagi kompilatora C dla PCRE, nadpisujące pkg-config
  PCRE_LIBS   Flagi linker dla PCRE, nadpisujące pkg-config
  KRB5_CFLAGS Flagi kompilatora C dla kerberos, nadpisujące krb5-config
  KRB5_LIBS   Flagi linker dla kerberos, nadpisujące krb5-config
  CARES_CFLAGS
              Flagi kompilatora C dla CARES, nadpisujące pkg-config
  CARES_LIBS  Flagi linker dla CARES, nadpisujące pkg-config
  SYSTEMD_LOGIN_CFLAGS
              Flagi kompilatora C dla SYSTEMD_LOGIN, nadpisujące pkg-config
  SYSTEMD_LOGIN_LIBS
              Flagi linker dla SYSTEMD_LOGIN, nadpisujące pkg-config
  SYSTEMD_DAEMON_CFLAGS
              Flagi kompilatora C dla SYSTEMD_DAEMON, nadpisujące pkg-config
  SYSTEMD_DAEMON_LIBS
              Flagi linker dla SYSTEMD_DAEMON, nadpisujące pkg-config
  NDR_NBT_CFLAGS
              Flagi kompilatora C dla NDR_NBT, nadpisujące pkg-config
  NDR_NBT_LIBS
              Flagi linker dla NDR_NBT, nadpisujące pkg-config
  NDR_KRB5PAC_CFLAGS
              Flagi kompilatora C dla NDR_KRB5PAC, nadpisujące pkg-config
  NDR_KRB5PAC_LIBS
              Flagi linker dla NDR_KRB5PAC, nadpisujące pkg-config
  SMBCLIENT_CFLAGS
              Flagi kompilatora C dla SMBCLIENT, nadpisujące pkg-config
  SMBCLIENT_LIBS
              Flagi linker dla SMBCLIENT, nadpisujące pkg-config
  SASL_CFLAGS Flagi kompilatora C dla SASL, nadpisujące pkg-config
  SASL_LIBS   Flagi linker dla SASL, nadpisujące pkg-config
  NFSIDMAP_CFLAGS
              Flagi kompilatora C dla NFSIDMAP, nadpisujące pkg-config
  NFSIDMAP_LIBS
              Flagi linker dla NFSIDMAP, nadpisujące pkg-config
  HTTP_PARSER_CFLAGS
              Flagi kompilatora C dla HTTP_PARSER, nadpisujące pkg-config
  HTTP_PARSER_LIBS
              Flagi linker dla HTTP_PARSER, nadpisujące pkg-config
  CURL_CFLAGS Flagi kompilatora C dla CURL, nadpisujące pkg-config
  CURL_LIBS   Flagi linker dla CURL, nadpisujące pkg-config
  UUID_CFLAGS Flagi kompilatora C dla UUID, nadpisujące pkg-config
  UUID_LIBS   Flagi linker dla UUID, nadpisujące pkg-config
  JANSSON_CFLAGS
              Flagi kompilatora C dla JANSSON, nadpisujące pkg-config
  JANSSON_LIBS
              Flagi linker dla JANSSON, nadpisujące pkg-config
  GLIB2_CFLAGS
              Flagi kompilatora C dla GLIB2, nadpisujące pkg-config
  GLIB2_LIBS  Flagi linker dla GLIB2, nadpisujące pkg-config
  LIBNL3_CFLAGS
              Flagi kompilatora C dla LIBNL3, nadpisujące pkg-config
  LIBNL3_LIBS Flagi linker dla LIBNL3, nadpisujące pkg-config
  LIBNL1_CFLAGS
              Flagi kompilatora C dla LIBNL1, nadpisujące pkg-config
  LIBNL1_LIBS Flagi linker dla LIBNL1, nadpisujące pkg-config
  DBUS_CFLAGS Flagi kompilatora C dla DBUS, nadpisujące pkg-config
  DBUS_LIBS   Flagi linker dla DBUS, nadpisujące pkg-config
  PYTHON      interpreter Pythona
  JOURNALD_CFLAGS
              Flagi kompilatora C dla JOURNALD, nadpisujące pkg-config
  JOURNALD_LIBS
              Flagi linker dla JOURNALD, nadpisujące pkg-config
  NSS_CFLAGS  Flagi kompilatora C dla NSS, nadpisujące pkg-config
  NSS_LIBS    Flagi linker dla NSS, nadpisujące pkg-config
  CRYPTO_CFLAGS
              Flagi kompilatora C dla CRYPTO, nadpisujące pkg-config
  CRYPTO_LIBS Flagi linker dla CRYPTO, nadpisujące pkg-config
  SSL_CFLAGS  Flagi kompilatora C dla SSL, nadpisujące pkg-config
  SSL_LIBS    Flagi linker dla SSL, nadpisujące pkg-config
  P11_KIT_CFLAGS
              Flagi kompilatora C dla P11_KIT, nadpisujące pkg-config
  P11_KIT_LIBS
              Flagi linker dla P11_KIT, nadpisujące pkg-config
  CHECK_CFLAGS
              Flagi kompilatora C dla CHECK, nadpisujące pkg-config
  CHECK_LIBS  Flagi linker dla CHECK, nadpisujące pkg-config
  CMOCKA_CFLAGS
              Flagi kompilatora C dla CMOCKA, nadpisujące pkg-config
  CMOCKA_LIBS Flagi linker dla CMOCKA, nadpisujące pkg-config

Użyj tych zmiennych, aby nadpisać wybory dokonane przez `configure` lub aby pomóc
mu znaleźć biblioteki i programy o niestandardowych nazwach/lokalizacjach.

Zgłaszaj błędy na adres <[email protected]>.

Testowanie

Status budowy

Testy są przeprowadzane za pomocą Docker oraz docker_test_runner, który uruchamia następujące kontenery z różnymi ustawieniami środowiskowymi:

  • CentOS 7
  • Debian 9.4 (Stretch)
  • Debian 10 (Buster)
  • Ubuntu 16.04 (Xenial Xerus)
  • Ubuntu 18.04 (Bionic Beaver)
  • Ubuntu 18.10 (Cosmic Cuttlefish)

Ansible 2.7.9 jest zainstalowany na wszystkich kontenerach, a skrypt testowy jest stosowany.

Dla dalszych szczegółów i dodatkowych kontroli, zajrzyj do konfiguracji docker_test_runner oraz do punktu wejścia Docker.

# Testowanie lokalnie:
curl https://raw.githubusercontent.com/timorunge/docker-test-runner/master/install.sh | sh
./docker_test_runner.py -f tests/docker_test_runner.yml

Ponieważ czas budowy na Travis jest ograniczony dla publicznych repozytoriów, automatyczne testy są ograniczone do SSSD 2.0.0 na:

  • CentOS 7
  • Debian 9.4 (Stretch)
  • Ubuntu 18.04 (Bionic Beaver)

Zależności

Ubuntu 16.04

Na Ubuntu 16.04 musisz upewnić się, że pyopenssl jest aktualny przed instalacją SSSD.

pip install --upgrade pyopenssl

Licencja

Licencja BSD 3-Klauzowa "Nowa" lub "Nowelizowana"

Informacje o autorze

  • Timo Runge
O projekcie

Custom SSSD installation and configuration including patch management for the SSSD source.

Zainstaluj
ansible-galaxy install timorunge.sssd
Licencja
bsd-3-clause
Pobrania
383.1k
Właściciel