Создание локальных групп Unix для пользователей AD

Точка означает выполнение scirpt в текущей оболочке. Обычно сценарии оболочки выполняются в подоболочке, но когда вы выходите из сценария, вы теряете все переменные, установленные внутри. Таким образом (с точкой) можно сохранить значения переменных, измененные каталоги и т. Д.

3
02.03.2018, 20:44
1 ответ

Encontré la respuesta, simplemente no encontré el tiempo para publicarla. Aquí hay una descripción completa de cómo implementar la autenticación de contraseña para usuarios contra samba 4 AD:

  • instalar libnss -ldapd
  • obtenga el certificado de samba 4 AD y agréguelo a su CA
  • actualizar -ca -certificados
  • comprobar con ldapsearch la conectividad
  • pam -auth -actualice y seleccione los servicios que deben usar LDAP
  • use crear inicio al iniciar sesión si es necesario
  • abre /etc/nslcd.confy modifícalo de la siguiente manera:

    # /etc/nslcd.conf
    
    # nslcd configuration file. See nslcd.conf(5)
    # for details.
    
    # The user and group nslcd should run as.
    uid nslcd
    gid nslcd
    
    # The location at which the LDAP server(s) should be reachable.
    uri ldaps://dc.example.com:636/
    
    # The search base that will be used for all queries.
    base DC=example,DC=com
    
    # The LDAP protocol version to use.
    #ldap_version 3
    
    # The DN to bind with for normal lookups.
    #binddn nslcd
    binddn CN=binduser,CN=Users,DC=example,DC=com
    bindpw yourpassword
    
    # The DN used for password modifications by root.
    #rootpwmoddn cn=admin,dc=example,dc=com
    
    # SSL options
    #ssl start_tls
    #tls_reqcert never
    ssl on
    tls_cacertfile /etc/ssl/certs/ca.pem
    #tls_cacertfile /etc/ssl/certs/ca-certificates.crt
    
    # The search scope.
    scope sub
    
    filter passwd (&(objectClass=user)(!(objectClass=computer))(uidNumber=*)(unixHomeDirectory=*))
    map    passwd   uid                 sAMAccountName
    map    passwd   homeDirectory       unixHomeDirectory
    map    passwd   gecos               displayName
    filter passwd (&(objectClass=user)(!(objectClass=computer))(uidNumber=*)(unixHomeDirectory=*))
    map    shadow   uid                 sAMAccountName
    map    shadow   shadowLastChange    pwdLastSet
    filter passwd (&(objectClass=user)(!(objectClass=computer))(uidNumber=*)(unixHomeDirectory=*))
    map    group    cn                  sAMAccountName
    map    group    gidNumber           uidNumber
    map    group    memberUid           sAMAccountName
    
  • pruebe el inicio de sesión y verá:

    user@test [Home]:~$  ll /home/
    drwxr-xr-x  3 user user 4096 May 20 01:41 user/
    user@test [Home]:~$
    user@test [Home]:~$
    user@test [Home]:~$  ll /home/user/
    total 28
    drwxr-xr-x 3 user user 4096 May 20 01:41./
    drwxr-xr-x 4 root root 4096 May 19 23:35../
    -rw-r--r-- 1 user user  220 May 19 23:35.bash_logout
    -rw-r--r-- 1 user user 3771 May 19 23:35.bashrc
    drwx------ 2 user user 4096 May 19 23:35.cache/
    -rw-r--r-- 1 user user  655 May 19 23:35.profile
    -rw------- 1 user user  568 May 20 01:41.viminfo
    

Para la autenticación de clave pública, o copia las claves públicas de todos los usuarios a todos los servidores y también a cada nuevo usuario, lo cual es difícil de lograr y muy propenso a errores -o simplemente firma la clave pública ssh de todos los usuarios y todo también alberga claves públicas, lo que también suena difícil. Creé una CA de usuarios y una CA de hosts y las implementé en todos los servidores y firmé todas las claves públicas de los hosts con una marioneta, los usuarios deberían ser responsables de firmar sus claves, tal vez colocar la CA de los usuarios en una aplicación web y usar curl.

0
27.01.2020, 21:35

Теги

Похожие вопросы