ADユーザー用のUnixローカルグループの作成

ADユーザー用のUnixローカルグループの作成

Linuxサーバーへの管理者ログイン用にSamba 4 ADにLDAP認証を実装しています。

libpam-ldapdPAMが正常に構成され、libnss_ldapdユーザーのホームディレクトリが自動的に作成されました。今直面している問題は、ユーザーがgidNumberローカルにまったく存在しない基本グループにマップされたSambaを持っていることです。現状は/homeディレクトリが次のとおりです(ユーザーのデフォルトグループを参照)。

drwxr-xr-x 2 user 1005 4096 Okt 13 16:01 user/

問題は、sssdドメインがSamba 4 ADに参加する必要があることです。これは現在でも、将来もないでしょう。何百ものGaneti VMがあるので、ほとんどは非常に重要です!

管理者(特定のADグループのメンバー)と署名されたSSH公開鍵を持つ管理者がこれらのコンピュータにログインできるようにします。

私にとって必要なのは、ユーザーに基づいてグループの名前を変更し、これらのグループをローカルで自動的に作成することです。wbinfoand を使用して名前を変更できる必要があることをどこかで読みましたrip map。しかし、どうすればいいのかわかりません。管理者グループを作成してすべてを追加するので、ローカルでグループを作成するのは副次的な作業です。

主な質問は次のとおりです。

ユーザーのデフォルトグループ名をgidNumberからどのように変更しますかuid

ありがとうございます。

ベストアンサー1

答えを見つけましたが、投稿する時間がありませんでした。 Samba 4 ADのユーザーパスワード認証を実装する完全な方法は次のとおりです。

  • libnss-ldapdのインストール
  • Samba 4 ADの証明書を取得してCAに追加します。
  • CA証明書の更新
  • ldapsearchを使用して接続を確認する
  • pam-auth-updateとLDAPを使用する必要があるサービスの選択
  • 必要に応じて、ログイン時にホームページの作成を利用してください。
  • 開き、/etc/nslcd.conf次のように修正します。

    # /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
    
  • ログインをテストすると、次のようになります。

    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
    

公開鍵認証では、すべてのユーザーの公開鍵をすべてのサーバーとすべての新規ユーザーにコピーします。これは実装が難しく、エラーが発生しやすい。あるいは、すべてのユーザーのSSH公開鍵とすべてのホストの公開鍵に署名するだけです。これも難しいようです。 。ユーザーCAとホストCAを作成し、それをすべてのサーバーにデプロイし、人形を使用してすべてのホスト公開鍵に署名しました。ユーザーはキー署名を担当し、ユーザーCAをWebアプリケーションに配置してカールを使用することもできます。

おすすめ記事