PAM mit SSSD konfigurieren

Konfigurieren Sie PAM unter Linux mit dem SSSD-Service.

  • Der SSSD-Service muss installiert sein. Installieren Sie ihn andernfalls mit sudo yum install sssd.
  • Der Service muss so konfiguriert sein, dass er beim Neustart des Systems gestartet wird. Sie können diese Konfiguration mit sudo chkconfig sssd on konfigurieren.
  • Führen Sie die Schritte SELinux durchsetzen aus, wenn die Eigenschaft SELINUX in Datei /etc/selinux/config wie durchgesetzt festgelegt festgelegt ist.

    Sie können auch SELINUX=permissive oder SELINUX=disabled festlegen. In diesem Fall ist das Durchsetzen von SELinux nicht erforderlich

    Hinweis

    Starten Sie Linux neu, wenn Sie /etc/selinux/config aktualisieren.
  1. Überprüfen Sie, ob die Datei /etc/sssd/sssd.conf vorhanden ist und 600 Berechtigungen enthält und ob der Root-Benutzer der Eigentümer ist. Wenn die Datei nicht vorhanden ist, erstellen Sie sie wie folgt, und führen Sie chmod 600 /etc/sssd/sssd.conf aus.

    /etc/sssd/sssd.conf

    [sssd]
    config_file_version = 2
    services = nss, pam
    ### domains specify the look up order, 
    ### which should always be LOCAL and then IDCS.
    domains = LOCAL,IDCS
     
    [nss]
    #Backfill cache at 75%, do not cache bad lookups,
    # no in-mem cache
    entry_cache_nowait_percentage = 75
    ### 1 Hour caching for non existent user
    entry_negative_timeout = 3600
     
    [pam]
    pam_id_timeout = 600
     
    [domain/LOCAL]
    # Prior to 1.15, must use older files provider
    id_provider = proxy
    proxy_lib_name = files
    # Disable authentication, files provider 
    # always provides local access, enumerate files
    auth_provider = none
    access_provider = permit
    enumerate = true
     
    [domain/IDCS]
    re_expression = (?P<domain>[^\\]*?)\\?(?P<name>[^\\]+$)
    auth_provider =  proxy
    id_provider = proxy
    proxy_lib_name = oracle_cloud
    proxy_pam_target = sssd_proxy_oracle_cloud
    enumerate =  false
    cache_credentials = true
    # Default cache timeout 90 mins for user/group info entries, 
    #before it reaches to IDCS for new updates
    entry_cache_timeout = 5400
    Optional können Sie E-Mail-Adressen als SSO-Benutzernamen konfigurieren. Fügen Sie dazu die Zeile in Fettdruck in die Datei /etc/sssd/sssd.conf ein, um den regulären Ausdruck anzugeben.
    ...
    [pam]
    [domain/proxy_proxy]
    re_expression = (?P<domain>[^\\]*?)\\?(?P<name>[^\\]+$)
    auth_provider =  proxy
    id_provider = proxy
    ...
  2. Prüfen Sie, ob die Datei /etc/pam.d/sssd_proxy_oracle_cloud vorhanden ist und ob der Eigentümer des Root-Benutzers ist. Wenn die Datei nicht vorhanden ist, erstellen Sie sie als Root-Benutzer, und fügen Sie Folgendes hinzu:

    /etc/pam.d/sssd_proxy_oracle_cloud file

    auth          required      pam_oracle_cloud.so
    account       required      pam_oracle_cloud.so
    password      required      pam_oracle_cloud.so
    session       required      pam_oracle_cloud.so
  3. Bearbeiten Sie die Datei /etc/pam.d/sshd, und fügen Sie das Modul pam_oracle_cloud hinzu:

    /etc/pam.d/sshd

    auth sufficient pam_oracle_cloud.so
    Hinweis

    Fügen Sie dies entweder vor der Zeile auth include password-auth oder auth substack password-auth* hinzu.
  4. Bearbeiten Sie die Datei /etc/ssh/sshd_config, um sshd so zu konfigurieren, dass Multifaktor-Authentifizierung (MFA) zulässig ist:

    /etc/ssh/sshd_config

    Suchen Sie die Eigenschaft ChallengeResponseAuthentication, und setzen Sie sie auf yes. Wenn die Eigenschaft nicht in der Konfigurationsdatei enthalten ist, fügen Sie sie hinzu.

  5. Bearbeiten Sie die /etc/opc.conf, damit das Plug-in mit IAM interagieren kann:

    /etc/opc.conf

    #This is sample format of opc.conf file, please use the correct information to configure this file.
    #Enter the Oracle Identity Cloud Service tenancy base url.
    base_url = https://identity-cloud-service-instance-url
    #There is no need to change value of scope.
    scope = urn:opc:idm:__myscopes__
    #Enter the location of the wallet.
    wallet_location = /etc/opc-wallet
    #Enter the log level, this is optional and the default is 0, which means no log. 0 - None, 1 - Error, 2 - Info, 3 - Debug.
    log_level = 0
    #Enter the log file path, this is optional and defaults to /var/log/opc/pam_nss.log
    log_file_path = /var/log/opc/pam_nss.log
    #Enter the value for proxy usage to connect to Oracle Identity Cloud Service.
    #Set the value to 1 to use a proxy and 0 to not use a proxy.
    use_proxy=0
    #Enter the information below if you set: use_proxy=1
    #Enter the proxy url
    #proxy_url=http://proxy.example.com
    #Enter the proxy port
    #proxy_port=80#Enter the username to connect to the proxy url.
    #proxy_username=username_example
    #Enter the password of username to connect proxy url.
    #proxy_pwd=pwd_example
  6. Starten Sie sssd und sshd neu:
    1. Für OEL6 & OEL7: authconfig --enablemkhomedir --enablepamaccess --update.
    2. Für OEL8: authselect select sssd with-mkhomedir with-pamaccess.
    3. Führen Sie Folgendes aus: service sshd restart.
    4. Führen Sie Folgendes aus: service sssd restart.