samba/Linux参加 をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
samba-adのアカウント情報を利用してログイン認証できるよう...
samba-adドメインに参加して krb5.keytab ファイルを得れば S...
krb5.keytab ファイルは必須ではないです. また samba-adをld...
&ref(2024y10m01d_122304613.png,nolink,noborder);
&size(10){参加していたドメインから撤退する [[samba/Linux...
***下準備 [#ufe78030]
&color(magenta){chaperone};のsamba-adと連携させるLinuxマ...
|BGCOLOR(YELLOW):ホスト名|BGCOLOR(YELLOW):IPアドレス|BGCO...
|samba-client|192.168.0.151|RokcyLinux 9.4|ad.chaperone.j...
/etc/hostsファイルは、自身のIPを入れて、FQDNと短縮名 $(ho...
#code(nonumber){{
[root@samba-client ~]# echo `hostname -I` `hostname`.chap...
[root@samba-client ~]# echo "192.168.0.131 ad.chaperone.j...
[root@samba-client ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 lo...
::1 localhost localhost.localdomain localhost6 lo...
192.168.0.151 samba-client.chaperone.jp samba-client
192.168.0.131 ad.chaperone.jp ad
[root@samba-client ~]#
}}
次に時計合わせとkerberosの調整を行います
#code(nonumber){{
[root@samba-client ~]# echo "pool ad iburst" > /etc/chron...
[root@samba-client ~]# systemctl restart chronyd
[root@samba-client ~]# mv /etc/krb5.conf /etc/krb5.conf.old
[root@samba-client ~]# vi /etc/krb5.conf
[libdefaults]
default_realm = CHAPERONE.JP
dns_lookup_realm = false
dns_lookup_kdc = true
[root@samba-client ~]#
}}
***ドメインへの参加 [#ib38591b]
ドメイン自体への参加は「net ads join」コマンドで行います.
その後、samba-adからユーザ情報の取得/認証は複数の選択肢(...
#code(nonumber){{
samba-ad
+--- sssd --> /etc/sss/sssd.conf を修正 sssd を起動
| +-- id_provider = ad
| +-- id_provider = ldap <-- ...
|
+--- winbind --> /etc/samba/smb.confを修正 winbindd ...
+-- backend:ad <-- rfc2307...
+-- backend:rid <-- rfc2307...
}}
samba-adのrfc2307(uid/gid/homedir/loginShellら)を有効活用...
rfc2307を利用しない(ホームディレクトリは/homeに集約、logi...
&size(10){ユーザ毎に/homeが/home1とか/home2とかになるなら...
&size(10){ならrfc2307対応にしておけば?ってなるけど、それ...
~
***winbindで参加させてみる(backendをridで) [#i12f9ae3]
まずは「/etc/samba/smb.conf」を修正します. 下記はwinbind...
#code(nonumber){{
[root@samba-client ~]# dnf install samba-winbind samba-co...
[root@samba-client ~]# vi /etc/samba/smb.conf
[global]
workgroup = CHAPERONE
security = ADS
realm = CHAPERONE.JP
idmap config * : backend = tdb
idmap config * : range = 3000-7999
idmap config CHAPERONE : backend = rid
idmap config CHAPERONE : range = 10000-999999
winbind use default domain = true
}}
これで
#code(nonumber){{
[root@samba-client ~]# net ads join osName=rockyLinux osV...
[root@samba-client ~]# authselect current
No existing configuration detected.
[root@samba-client ~]#
[root@samba-client ~]# authselect select winbind --force
[root@samba-client ~]# systemctl enable winbind --now
}}
っでユーザ情報を引いてみる
#code(nonumber){{
[root@samba-client ~]# id illya
uid=11111(illya) gid=10513(domain users) groups=10513(dom...
[root@samba-client ~]# getent passwd illya
illya:*:11111:10513::/home/CHAPERONE/illya:/bin/false
[root@samba-client ~]#
}}
[[samba/ユーザ登録]]で登録したuid/gidが適用されていない. ...
後半2つはsamba-clientの「/etc/samba/smb.conf」にて「temp...
***winbindで参加させてみる(backendをadで) [#qcd53ec8]
変更の前に前段でのデータキャッシュをクリアさせます
#code(nonumber){{
[root@samba-client ~]# systemctl stop winbind
[root@samba-client ~]# net cache flush
[root@samba-client ~]# rm -f /var/lib/samba/*.tdb
[root@samba-client ~]# rm -f /var/lib/samba/group_mapping...
}}
っで「/etc/samba/smb.conf」を「backend:ad」で修正します
#code(nonumber){{
[root@samba-client ~]# vi /etc/samba/smb.conf
[global]
workgroup = CHAPERONE
security = ADS
realm = CHAPERONE.JP
idmap config * : backend = tdb
idmap config * : range = 30001-30010
idmap config CHAPERONE:backend = ad
idmap config CHAPERONE:schema_mode = rfc2307
idmap config CHAPERONE:range = 1000-30000
idmap config CHAPERONE:unix_nss_info = yes
idmap config CHAPERONE:unix_primary_group = yes
winbind use default domain = true
}}
っでwinbindを再起動させます
#code(nonumber){{
[root@samba-client ~]# systemctl restart winbind
}}
っでアカウント情報は
#code(nonumber){{
[root@samba-client ~]# id illya
uid=1002(illya) gid=2000(fate) groups=2000(fate)
[root@samba-client ~]# getent passwd illya
illya:*:1002:2000:Illyasviel von Einzbern:/home/illya:/bi...
[root@samba-client ~]#
}}
っとsamba-adで指定したuid/gidやらホームディレクトリ、logi...
***sssdで参加(id_providerはad)なら [#e26f2978]
samba-clientをドメインに参加させる際に「/etc/krb5.keytab...
#code(nonumber){{
[root@samba-client ~]# dnf install sssd-ad samba-common s...
[root@samba-client ~]# cat /etc/samba/smb.conf
[global]
workgroup = CHAPERONE
security = ADS
realm = CHAPERONE.JP
kerberos method = secrets and keytab
[root@samba-client ~]# net ads join osName=rockyLinux osV...
[root@samba-client ~]# ls -l /etc/krb5.keytab
-rw-------. 1 root root 1318 Jun 23 02:03 /etc/krb5.keytab
[root@samba-client ~]#
}}
中身は「klist -ke」で確認できます。 &size(10){「krb5-work...
そしてsssdの設定を施します
sssdの設定ファイル( /etc/sssd/sssd.conf )を作り上げます. ...
#code(nonumber){{
[root@samba-client ~]# cat << _EOT_ > /etc/sssd/sssd.conf
[sssd]
services = nss, pam
config_file_version = 2
domains = chaperone.jp
[domain/chaperone.jp]
id_provider = ad
auth_provider = ad
access_provider = ad
dyndns_update = false
enumerate = True
krb5_keytab = /etc/krb5.keytab
ldap_id_mapping = False
ldap_sasl_authid = samba-client\$@CHAPERONE.JP
_EOT_
[root@samba-client ~]#
[root@samba-client ~]# chmod 600 /etc/sssd/sssd.conf
}}
っでathselectでsssdを有効にします
#code(nonumber){{
[root@samba-client ~]# authselect select sssd --force
[root@samba-client ~]# ps -ef |grep sss
root 10774 1 0 02:37 ? 00:00:00 /usr/...
root 10784 915 0 02:40 pts/0 00:00:00 grep ...
[root@samba-client ~]#
}}
っで引けるか確認
#code(nonumber){{
[root@samba-client ~]# id illya
uid=1002(illya) gid=2000(fate) groups=2000(fate)
[root@samba-client ~]# getent passwd illya
illya:*:1002:2000:Illyasviel von Einzbern:/home/illya:/bi...
[root@samba-client ~]#
}}
***sssdで参加(id_providerはldap)なら [#r2eb66d1]
こちらの場合、別にchaperone.jp ドメインに入ってなくても D...
#code(nonumber){{
[root@samba-client ~]# cat /etc/resolv.conf
# Generated by NetworkManager
search sybyl.local
nameserver 192.168.0.3
[root@samba-client ~]# hostname -f
samba-client.sybyl.local
[root@samba-client ~]#
}}
っとdns参照先も所属ドメインも全く異なります。
これで samba-ad を ldap サーバと見立てて認証依頼をさせて...
#code(nonumber){{
[root@samba-client ~]# dnf install sssd-ldap sssd-tools
[root@samba-client ~]# vi /etc/sssd/sssd.conf
[sssd]
services = nss, pam
domains = default
[nss]
[domain/default]
id_provider = ldap
ldap_uri = ldaps://192.168.0.131
ldap_search_base = dc=chaperone,dc=jp
ldap_id_use_start_tls = True
ldap_tls_reqcert = never
ldap_default_bind_dn = cn=administrator,cn=Users,dc=chape...
ldap_schema = rfc2307bis
ldap_user_home_directory = unixHomeDirectory
[root@samba-client ~]# chmod 600 /etc/sssd/sssd.conf
[root@samba-client ~]# sss_obfuscate -d default <--こ...
Enter password: <--...
Re-enter password:
[root@samba-client ~]# systemctl start sssd
}}
これで完了ですが、ここで引けるユーザには「posixAccount」...
これを持っていないユーザは認証されないです。
「posixAccount」を設けるには...ldapAdminで個別に修正/追加...
っで引けるか確認
#code(nonumber){{
[root@samba-client ~]# getent passwd illya
illya:*:1002:2000:Illyasviel von Einzbern:/home/illya:/bi...
[root@samba-client ~]#
}}
***(番外)nslcdで接続 [#k76222e3]
こちらはrockylinux9でnslcdがサポート外になったので使えな...
参照[[samba/LDAP#wed2b142]]
***備考 [#p2e38ca0]
sssdにはキャッシュがあり、キャッシュをクリアにするには
sssd を止めてキャッシュデータベースを削除して、sssdを再起...
#code(nonumber){{
[root@c105 ~]# systemctl stop sssd
[root@c105 ~]# rm -rf /var/lib/sss/db/*
[root@c105 ~]# systemctl start sssd
}}
な感じで。
あるいは sss_cache なるコマンドで対処する
sssdでは getent は
#code(nonumber){{
(&(objectclass=user)(uid=*)(uidNumber=*)(gidNumber=*))
}}
に適合したユーザが認証対象となる。またグループでは
#code(nonumber){{
(&(objectclass=group)(cn=*)(&(gidNumber=*)(!(gidNumber=0)...
}}
である。
ldapsearch を使えば誰がログインユーザとして拾われるかが分...
#code(nonumber){{
[root@c105 ~]# yum install openldap-clients
[root@c105 ~]# ldapsearch -h c.sybyl.local -D "CN=adminis...
-b "dc=sybyl,dc=local" '(&(objectclass=user)(uid=*)(uidN...
}}
&color(red){*};&size(10){「-w *******」は、administrator...
***めも [#q4e2e60e]
「net ads join osName=rockyLinux osVer=9.2 -Uadministrato...
「samba-tool computer list」
「samba-tool dns query ad chaperone.jp @ A」
で確認できる
&color(white,blue){注意}; samba-internal dnsの正引きには...
***めも [#mf4383a7]
「net ads join osName=rockyLinux osVer=9.2 -Uadministrato...
#code(nonumber){{
DNS Update samba-nfs.chaperone.jp failed: ERROR_DNS_UPDAT...
DNS update failed: NT_STATUS_UNSUCCESSFUL
}}
とメッセージが表示されることがある。これはsamba-ad(samba-...
「&color(red){failed};」と表記されるが、「Active Director...
FQDNのミスは「/etc/hosts」ファイルに「`hostname -i` `host...
samba-ad側で「samba-tool computer delete xxx」の後に再度...
解消方法は一度samba-ad側で「samba-tool dns add」で手動でs...
「samba-tool computer delete xxx」とすると「samba-tool dn...
終了行:
samba-adのアカウント情報を利用してログイン認証できるよう...
samba-adドメインに参加して krb5.keytab ファイルを得れば S...
krb5.keytab ファイルは必須ではないです. また samba-adをld...
&ref(2024y10m01d_122304613.png,nolink,noborder);
&size(10){参加していたドメインから撤退する [[samba/Linux...
***下準備 [#ufe78030]
&color(magenta){chaperone};のsamba-adと連携させるLinuxマ...
|BGCOLOR(YELLOW):ホスト名|BGCOLOR(YELLOW):IPアドレス|BGCO...
|samba-client|192.168.0.151|RokcyLinux 9.4|ad.chaperone.j...
/etc/hostsファイルは、自身のIPを入れて、FQDNと短縮名 $(ho...
#code(nonumber){{
[root@samba-client ~]# echo `hostname -I` `hostname`.chap...
[root@samba-client ~]# echo "192.168.0.131 ad.chaperone.j...
[root@samba-client ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 lo...
::1 localhost localhost.localdomain localhost6 lo...
192.168.0.151 samba-client.chaperone.jp samba-client
192.168.0.131 ad.chaperone.jp ad
[root@samba-client ~]#
}}
次に時計合わせとkerberosの調整を行います
#code(nonumber){{
[root@samba-client ~]# echo "pool ad iburst" > /etc/chron...
[root@samba-client ~]# systemctl restart chronyd
[root@samba-client ~]# mv /etc/krb5.conf /etc/krb5.conf.old
[root@samba-client ~]# vi /etc/krb5.conf
[libdefaults]
default_realm = CHAPERONE.JP
dns_lookup_realm = false
dns_lookup_kdc = true
[root@samba-client ~]#
}}
***ドメインへの参加 [#ib38591b]
ドメイン自体への参加は「net ads join」コマンドで行います.
その後、samba-adからユーザ情報の取得/認証は複数の選択肢(...
#code(nonumber){{
samba-ad
+--- sssd --> /etc/sss/sssd.conf を修正 sssd を起動
| +-- id_provider = ad
| +-- id_provider = ldap <-- ...
|
+--- winbind --> /etc/samba/smb.confを修正 winbindd ...
+-- backend:ad <-- rfc2307...
+-- backend:rid <-- rfc2307...
}}
samba-adのrfc2307(uid/gid/homedir/loginShellら)を有効活用...
rfc2307を利用しない(ホームディレクトリは/homeに集約、logi...
&size(10){ユーザ毎に/homeが/home1とか/home2とかになるなら...
&size(10){ならrfc2307対応にしておけば?ってなるけど、それ...
~
***winbindで参加させてみる(backendをridで) [#i12f9ae3]
まずは「/etc/samba/smb.conf」を修正します. 下記はwinbind...
#code(nonumber){{
[root@samba-client ~]# dnf install samba-winbind samba-co...
[root@samba-client ~]# vi /etc/samba/smb.conf
[global]
workgroup = CHAPERONE
security = ADS
realm = CHAPERONE.JP
idmap config * : backend = tdb
idmap config * : range = 3000-7999
idmap config CHAPERONE : backend = rid
idmap config CHAPERONE : range = 10000-999999
winbind use default domain = true
}}
これで
#code(nonumber){{
[root@samba-client ~]# net ads join osName=rockyLinux osV...
[root@samba-client ~]# authselect current
No existing configuration detected.
[root@samba-client ~]#
[root@samba-client ~]# authselect select winbind --force
[root@samba-client ~]# systemctl enable winbind --now
}}
っでユーザ情報を引いてみる
#code(nonumber){{
[root@samba-client ~]# id illya
uid=11111(illya) gid=10513(domain users) groups=10513(dom...
[root@samba-client ~]# getent passwd illya
illya:*:11111:10513::/home/CHAPERONE/illya:/bin/false
[root@samba-client ~]#
}}
[[samba/ユーザ登録]]で登録したuid/gidが適用されていない. ...
後半2つはsamba-clientの「/etc/samba/smb.conf」にて「temp...
***winbindで参加させてみる(backendをadで) [#qcd53ec8]
変更の前に前段でのデータキャッシュをクリアさせます
#code(nonumber){{
[root@samba-client ~]# systemctl stop winbind
[root@samba-client ~]# net cache flush
[root@samba-client ~]# rm -f /var/lib/samba/*.tdb
[root@samba-client ~]# rm -f /var/lib/samba/group_mapping...
}}
っで「/etc/samba/smb.conf」を「backend:ad」で修正します
#code(nonumber){{
[root@samba-client ~]# vi /etc/samba/smb.conf
[global]
workgroup = CHAPERONE
security = ADS
realm = CHAPERONE.JP
idmap config * : backend = tdb
idmap config * : range = 30001-30010
idmap config CHAPERONE:backend = ad
idmap config CHAPERONE:schema_mode = rfc2307
idmap config CHAPERONE:range = 1000-30000
idmap config CHAPERONE:unix_nss_info = yes
idmap config CHAPERONE:unix_primary_group = yes
winbind use default domain = true
}}
っでwinbindを再起動させます
#code(nonumber){{
[root@samba-client ~]# systemctl restart winbind
}}
っでアカウント情報は
#code(nonumber){{
[root@samba-client ~]# id illya
uid=1002(illya) gid=2000(fate) groups=2000(fate)
[root@samba-client ~]# getent passwd illya
illya:*:1002:2000:Illyasviel von Einzbern:/home/illya:/bi...
[root@samba-client ~]#
}}
っとsamba-adで指定したuid/gidやらホームディレクトリ、logi...
***sssdで参加(id_providerはad)なら [#e26f2978]
samba-clientをドメインに参加させる際に「/etc/krb5.keytab...
#code(nonumber){{
[root@samba-client ~]# dnf install sssd-ad samba-common s...
[root@samba-client ~]# cat /etc/samba/smb.conf
[global]
workgroup = CHAPERONE
security = ADS
realm = CHAPERONE.JP
kerberos method = secrets and keytab
[root@samba-client ~]# net ads join osName=rockyLinux osV...
[root@samba-client ~]# ls -l /etc/krb5.keytab
-rw-------. 1 root root 1318 Jun 23 02:03 /etc/krb5.keytab
[root@samba-client ~]#
}}
中身は「klist -ke」で確認できます。 &size(10){「krb5-work...
そしてsssdの設定を施します
sssdの設定ファイル( /etc/sssd/sssd.conf )を作り上げます. ...
#code(nonumber){{
[root@samba-client ~]# cat << _EOT_ > /etc/sssd/sssd.conf
[sssd]
services = nss, pam
config_file_version = 2
domains = chaperone.jp
[domain/chaperone.jp]
id_provider = ad
auth_provider = ad
access_provider = ad
dyndns_update = false
enumerate = True
krb5_keytab = /etc/krb5.keytab
ldap_id_mapping = False
ldap_sasl_authid = samba-client\$@CHAPERONE.JP
_EOT_
[root@samba-client ~]#
[root@samba-client ~]# chmod 600 /etc/sssd/sssd.conf
}}
っでathselectでsssdを有効にします
#code(nonumber){{
[root@samba-client ~]# authselect select sssd --force
[root@samba-client ~]# ps -ef |grep sss
root 10774 1 0 02:37 ? 00:00:00 /usr/...
root 10784 915 0 02:40 pts/0 00:00:00 grep ...
[root@samba-client ~]#
}}
っで引けるか確認
#code(nonumber){{
[root@samba-client ~]# id illya
uid=1002(illya) gid=2000(fate) groups=2000(fate)
[root@samba-client ~]# getent passwd illya
illya:*:1002:2000:Illyasviel von Einzbern:/home/illya:/bi...
[root@samba-client ~]#
}}
***sssdで参加(id_providerはldap)なら [#r2eb66d1]
こちらの場合、別にchaperone.jp ドメインに入ってなくても D...
#code(nonumber){{
[root@samba-client ~]# cat /etc/resolv.conf
# Generated by NetworkManager
search sybyl.local
nameserver 192.168.0.3
[root@samba-client ~]# hostname -f
samba-client.sybyl.local
[root@samba-client ~]#
}}
っとdns参照先も所属ドメインも全く異なります。
これで samba-ad を ldap サーバと見立てて認証依頼をさせて...
#code(nonumber){{
[root@samba-client ~]# dnf install sssd-ldap sssd-tools
[root@samba-client ~]# vi /etc/sssd/sssd.conf
[sssd]
services = nss, pam
domains = default
[nss]
[domain/default]
id_provider = ldap
ldap_uri = ldaps://192.168.0.131
ldap_search_base = dc=chaperone,dc=jp
ldap_id_use_start_tls = True
ldap_tls_reqcert = never
ldap_default_bind_dn = cn=administrator,cn=Users,dc=chape...
ldap_schema = rfc2307bis
ldap_user_home_directory = unixHomeDirectory
[root@samba-client ~]# chmod 600 /etc/sssd/sssd.conf
[root@samba-client ~]# sss_obfuscate -d default <--こ...
Enter password: <--...
Re-enter password:
[root@samba-client ~]# systemctl start sssd
}}
これで完了ですが、ここで引けるユーザには「posixAccount」...
これを持っていないユーザは認証されないです。
「posixAccount」を設けるには...ldapAdminで個別に修正/追加...
っで引けるか確認
#code(nonumber){{
[root@samba-client ~]# getent passwd illya
illya:*:1002:2000:Illyasviel von Einzbern:/home/illya:/bi...
[root@samba-client ~]#
}}
***(番外)nslcdで接続 [#k76222e3]
こちらはrockylinux9でnslcdがサポート外になったので使えな...
参照[[samba/LDAP#wed2b142]]
***備考 [#p2e38ca0]
sssdにはキャッシュがあり、キャッシュをクリアにするには
sssd を止めてキャッシュデータベースを削除して、sssdを再起...
#code(nonumber){{
[root@c105 ~]# systemctl stop sssd
[root@c105 ~]# rm -rf /var/lib/sss/db/*
[root@c105 ~]# systemctl start sssd
}}
な感じで。
あるいは sss_cache なるコマンドで対処する
sssdでは getent は
#code(nonumber){{
(&(objectclass=user)(uid=*)(uidNumber=*)(gidNumber=*))
}}
に適合したユーザが認証対象となる。またグループでは
#code(nonumber){{
(&(objectclass=group)(cn=*)(&(gidNumber=*)(!(gidNumber=0)...
}}
である。
ldapsearch を使えば誰がログインユーザとして拾われるかが分...
#code(nonumber){{
[root@c105 ~]# yum install openldap-clients
[root@c105 ~]# ldapsearch -h c.sybyl.local -D "CN=adminis...
-b "dc=sybyl,dc=local" '(&(objectclass=user)(uid=*)(uidN...
}}
&color(red){*};&size(10){「-w *******」は、administrator...
***めも [#q4e2e60e]
「net ads join osName=rockyLinux osVer=9.2 -Uadministrato...
「samba-tool computer list」
「samba-tool dns query ad chaperone.jp @ A」
で確認できる
&color(white,blue){注意}; samba-internal dnsの正引きには...
***めも [#mf4383a7]
「net ads join osName=rockyLinux osVer=9.2 -Uadministrato...
#code(nonumber){{
DNS Update samba-nfs.chaperone.jp failed: ERROR_DNS_UPDAT...
DNS update failed: NT_STATUS_UNSUCCESSFUL
}}
とメッセージが表示されることがある。これはsamba-ad(samba-...
「&color(red){failed};」と表記されるが、「Active Director...
FQDNのミスは「/etc/hosts」ファイルに「`hostname -i` `host...
samba-ad側で「samba-tool computer delete xxx」の後に再度...
解消方法は一度samba-ad側で「samba-tool dns add」で手動でs...
「samba-tool computer delete xxx」とすると「samba-tool dn...
ページ名:
1