[samba-jp:21216] samba3でのドメイン認証は可能でしょうか

Masamichi Fukuda fi2m-fkd @ asahi-net.or.jp
2010年 12月 1日 (水) 12:11:36 JST


はじめまして、福田と申します。

Windows2003serverのActiveDiretoryに、メンバーサーバーとしてLinuxのsambaサーバを
ドメイン参加させています。

ドメイン認証を利用して、Windowsクライアントからsambaにアクセスさせようとしていま
すが、認証がうまくいかないようです。

システム構成は下記の通り。

* sambaサーバ
** OSバージョン
SUSE Linux Enterprise Server 10 (x86_64)
VERSION = 10
PATCHLEVEL = 2

** sambaバージョン
Version 3.0.28-0.5-1657-SUSE-CODE10

** smb.confの内容
[global]
   workgroup = SAITAMA
   server string = Samba SV
   netbios name = ews003
   unix charset = UTF-8
   dos charset = CP932
   invalid users = root daemon bin sys adm
   load printers = yes
   log file = /var/log/samba/log.%m
   log level = 3
   max log size = 5000
   security = domain
   password server = DC01
   encrypt passwords = yes
   username map = /etc/samba/smbusers
   password level = 8
   socket options = TCP_NODELAY
   interfaces = 172.25.3.55/24
   wins server = XXX.XXX.XXX.160
   dns proxy = no
   nis homedir = yes
   utmp = yes
   utmp directory = /var/log/samba/

[homes]
   comment = %U's Home Directories
   browseable = no
   read only = no
   valid users = %S
   create mode = 0755
   oplocks = no

** /etc/samba/smbusersの内容
fukuda = SA70721


* ドメインコントローラ
** OS
Windows2003server
ActiveDirectory

sambaサーバとドメインコントローラは別のサブネットにいます。
sambaサーバのhostsファイルにドメインコントローラを記述して対応しています。

* 現在の状況
net rcp oldjoinコマンドでドメイン参加はできました。
windowsクライアントのエクスプローラからsambaにアクセスすると、認証が通らずディレ
クトリにアクセスできません。
windowsのドメインアカウントはSA70721、Linuxのアカウント(NISを使用しています)は
fukudaです。
NISサーバからpasswdマップ等は取れています。
ドメイン認証をやめて、security = serverに変更すると、windowsのドメインアカウント
でsambaにアクセスできます。


* Windowsクライアントからsambaにアクセスした時のログ(一部を抜粋)
** security = domainの場合(sambaにアクセスできない場合)
[2010/11/30 13:01:21, 3] auth/auth.c:check_ntlm_password(221)
  check_ntlm_password:  Checking password for unmapped user []\[]@[HD11106] with
the new password interface
[2010/11/30 13:01:21, 3] auth/auth.c:check_ntlm_password(224)
  check_ntlm_password:  mapped user is: [SAITAMA]\[]@[HD11106]
[2010/11/30 13:01:22, 3] smbd/service.c:find_service(286)
  checking for home directory fukuda gave /home/fukuda
[2010/11/30 13:01:22, 3] param/loadparm.c:lp_add_home(2676)
  adding home's share [fukuda] for user 'fukuda' at '/home/fukuda'
[2010/11/30 13:01:22, 3] smbd/msdfs.c:get_referred_path(633)
  get_referred_path: |fukuda| in dfs path \ews003.XXX.XXX.co.jp\fukuda is not a
dfs root.
[2010/11/30 13:01:22, 3] libsmb/ntlmssp.c:ntlmssp_server_auth(739)
  Got user=[SA70721] domain=[SAITAMA] workstation=[HD11106] len1=24 len2=24
[2010/11/30 13:01:22, 3] smbd/map_username.c:map_username(155)
  Mapped user SA70721 to fukuda
[2010/11/30 13:01:22, 3] auth/auth.c:check_ntlm_password(221)
  check_ntlm_password:  Checking password for unmapped user
[SAITAMA]\[SA70721]@[HD11106] with the new password interface
[2010/11/30 13:01:22, 3] auth/auth.c:check_ntlm_password(224)
  check_ntlm_password:  mapped user is: [SAITAMA]\[fukuda]@[HD11106]
[2010/11/30 13:01:22, 3] libsmb/namequery.c:get_dc_list(1489)
  get_dc_list: preferred server list: ", DC01"
[2010/11/30 13:01:22, 3] libsmb/namequery_dc.c:rpc_dc_name(194)
  rpc_dc_name: Returning DC DC01 (XXX.XXX.XXX.160) for domain SAITAMA
[2010/11/30 13:01:22, 3] libsmb/cliconnect.c:cli_start_connection(1542)
  Connecting to host=DC01
[2010/11/30 13:01:22, 3] lib/util_sock.c:open_socket_out(874)
  Connecting to 160.196.170.160 at port 445
[2010/11/30 13:01:22, 3] rpc_client/cli_pipe.c:rpc_pipe_bind(2187)
  rpc_pipe_bind: Remote machine DC01 pipe \NETLOGON fnum 0x4005 bind request
returned ok.
[2010/11/30 13:01:22, 3] rpc_client/cli_pipe.c:rpc_pipe_bind(2187)
  rpc_pipe_bind: Remote machine DC01 pipe \NETLOGON fnum 0x4006 bind request
returned ok.
[2010/11/30 13:01:22, 2] auth/auth.c:check_ntlm_password(319)
  check_ntlm_password:  Authentication for user [SA70721] -> [fukuda] FAILED
with error NT_STATUS_NO_SUCH_USER
[2010/11/30 13:01:22, 3] smbd/error.c:error_packet_set(106)
  error packet at smbd/sesssetup.c(105) cmd=115 (SMBsesssetupX)
NT_STATUS_LOGON_FAILURE


** security = serverの場合(アクセスできる場合)
[2010/11/30 11:39:29, 3] lib/util_sock.c:open_socket_out(874)
  Connecting to XXX.XXX.XXX.160 at port 445
[2010/11/30 11:39:29, 3] auth/auth_server.c:server_cryptkey(79)
  connected to password server DC01
[2010/11/30 11:39:29, 3] libsmb/ntlmssp.c:ntlmssp_server_auth(739)
  Got user=[SA70721] domain=[SAITAMA] workstation=[HD11106] len1=24 len2=24
[2010/11/30 11:39:29, 3] smbd/map_username.c:map_username(155)
  Mapped user SA70721 to fukuda
[2010/11/30 11:39:29, 3] auth/auth.c:check_ntlm_password(221)
  check_ntlm_password:  Checking password for unmapped user
[SAITAMA]\[SA70721]@[HD11106] with the new password interface
[2010/11/30 11:39:29, 3] auth/auth.c:check_ntlm_password(224)
  check_ntlm_password:  mapped user is: [EWS003]\[fukuda]@[HD11106]
[2010/11/30 11:39:29, 3] auth/auth_sam.c:check_sam_security(281)
  check_sam_security: Couldn't find user 'fukuda' in passdb.
[2010/11/30 11:39:29, 3] auth/auth.c:check_ntlm_password(270)
  check_ntlm_password: smbserver authentication for user [SA70721] succeeded
[2010/11/30 11:39:29, 2] auth/auth.c:check_ntlm_password(309)
  check_ntlm_password:  authentication for user [SA70721] -> [fukuda] ->
[fukuda] succeeded
[2010/11/30 11:39:29, 3] smbd/password.c:register_vuid(280)
  User name: fukuda     Real name: Fukuda Masamichi(meiteccast)
[2010/11/30 11:39:29, 3] smbd/password.c:register_vuid(301)
  UNIX uid 56848 is UNIX user fukuda, and will be vuid 103
[2010/11/30 11:39:29, 3] smbd/password.c:register_vuid(332)
  Adding homes service for user 'fukuda' using home directory: '/home/fukuda'
[2010/11/30 11:39:29, 3] param/loadparm.c:lp_add_home(2676)
  adding home's share [fukuda] for user 'fukuda' at '/home/fukuda'
[2010/11/30 11:39:29, 3] lib/util.c:automount_lookup(1476)
  YP Key not found:  while looking up "SA70721" in map "auto.home"
[2010/11/30 11:39:29, 3] lib/util.c:automount_lookup(1477)
  using defaults for server and home directory
[2010/11/30 11:39:29, 3] lib/util.c:automount_lookup(1476)
  YP Key not found:  while looking up "SA70721" in map "auto.home"
[2010/11/30 11:39:29, 3] lib/util.c:automount_lookup(1477)
  using defaults for server and home directory
[2010/11/30 11:39:29, 3] lib/util.c:automount_lookup(1476)
  YP Key not found:  while looking up "SA70721" in map "auto.home"
[2010/11/30 11:39:29, 1] smbd/service.c:make_connection_snum(1033)
  hd11106 (172.24.80.236) connect to service fukuda initially as user fukuda
(uid=56848, gid=43973) (pid13323)
[2010/11/30 11:39:29, 1] smbd/service.c:make_connection_snum(1033)
  hd11106 (172.24.80.236) connect to service fukuda initially as user fukuda
(uid=56848, gid=43973) (pid13323)


ログを見るとドメイン認証の場合も、windowsアカウントとLinuxアカウントのマッピング
はちゃんと行っているようです。

上記のログを比較すると次の部分が異なるようです。
secutiry = domainの場合
  check_ntlm_password:  mapped user is: [SAITAMA]\[fukuda]@[HD11106]

security = serverの場合
  check_ntlm_password:  mapped user is: [EWS003]\[fukuda]@[HD11106]

なお、既存のsambaサーバからは同じドメインコントローラのドメイン認証でsambaにアク
セスできています。
sambaのバージョンは、Version 2.0.10-ja-1.2(Linux)とVersion
2.0.7-ja-2.0(solaris)です。

sambaのバージョンが3になってことで、ドメイン認証によるsambaアクセスができなく
なってしまったのでしょうか?

できれば既存のsambaサーバと同じ認証方式を用いたいと考えています。

対応方法をご存知の方いらっしゃいましたらご教示宜しくお願いします。



samba-jp メーリングリストの案内