Проблемы с доступом к общему ресурсу samba из веб-части sharepoint
Я использую System.IO.File.Copy для копирования файла с локального сервера windows/sharepoint на общий ресурс samba. Но я получаю исключение:
Logon failure: unknown user name or bad password.
: at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite)
at System.IO.File.Copy(String sourceFileName, String destFileName, Boolean overwrite)
Пользователь, в который я вошел, действительно имеет доступ к этой папке. Т.е. я могу вручную подключить диск к нему с локального сервера sharepoint.
Если я также предоставлю учетную запись службы, под которой sharepoint работает доступ к общему ресурсу, операция System.IO.File.Copy работает нормально.
Из журналов Samba я узнал, что sharepoint/windows не передает мое имя пользователя в Samba. См.: (check_ntlm_password: проверка пароля для несопоставленного пользователя [][]@[FODV-SHRPT-01]) в журнале FAILED ниже.
(Я считаю, что это релевантные части журналов samba). 1-й - успешный для служебной учетной записи с повышенными привилегиями, 2-й - неудачный для моего логина:
Если бы кто-нибудь мог пролить свет на это, я был бы очень благодарен. УСПЕШНЫЙ:
get_dc_list: preferred server list: "COPP-DC-01, copp-dc-01"
[2011/11/02 11:01:27, 3] libsmb/namequery_dc.c:rpc_dc_name(117)
rpc_dc_name: Returning DC COPP-DC-01 (172.16.11.205) for domain OAKS
[2011/11/02 11:01:27, 3] libsmb/cliconnect.c:cli_start_connection(1417)
Connecting to host=COPP-DC-01
[2011/11/02 11:01:27, 3] lib/util_sock.c:open_socket_out(874)
Connecting to 172.16.11.205 at port 445
[2011/11/02 11:01:27, 3] rpc_client/cli_pipe.c:rpc_pipe_bind(2081)
rpc_pipe_bind: Remote machine COPP-DC-01 pipe \lsarpc fnum 0x8005 bind request returned ok.
[2011/11/02 11:01:27, 3] rpc_parse/parse_lsa.c:lsa_io_sec_qos(224)
lsa_io_sec_qos: length c does not match size 8
[2011/11/02 11:01:27, 3] auth/auth.c:check_ntlm_password(221)
check_ntlm_password: Checking password for unmapped user [OAKS]\[dev_shrpt_app]@[FODV-SHRPT-01] with the new password interface
[2011/11/02 11:01:27, 3] auth/auth.c:check_ntlm_password(224)
check_ntlm_password: mapped user is: [OAKS]\[dev_shrpt_app]@[FODV-SHRPT-01]
[2011/11/02 11:01:27, 3] smbd/sec_ctx.c:push_sec_ctx(208)
push_sec_ctx(0, 0) : sec_ctx_stack_ndx = 1
[2011/11/02 11:01:27, 3] smbd/uid.c:push_conn_ctx(345)
push_conn_ctx(0) : conn_ctx_stack_ndx = 0
[2011/11/02 11:01:27, 3] smbd/sec_ctx.c:set_sec_ctx(241)
setting sec ctx (0, 0) - sec_ctx_stack_ndx = 1
[2011/11/02 11:01:27, 3] smbd/sec_ctx.c:pop_sec_ctx(339)
pop_sec_ctx (0, 0) - sec_ctx_stack_ndx = 0
[2011/11/02 11:01:27, 3] libsmb/namequery.c:get_dc_list(1426)
get_dc_list: preferred server list: "COPP-DC-01, copp-dc-01"
[2011/11/02 11:01:27, 3] libsmb/namequery_dc.c:rpc_dc_name(117)
rpc_dc_name: Returning DC COPP-DC-01 (172.16.11.205) for domain OAKS
[2011/11/02 11:01:27, 3] libsmb/cliconnect.c:cli_start_connection(1417)
Connecting to host=COPP-DC-01
[2011/11/02 11:01:27, 3] lib/util_sock.c:open_socket_out(874)
Connecting to 172.16.11.205 at port 445
[2011/11/02 11:01:27, 3] rpc_client/cli_pipe.c:rpc_pipe_bind(2081)
rpc_pipe_bind: Remote machine COPP-DC-01 pipe \NETLOGON fnum 0x8016 bind request returned ok.
[2011/11/02 11:01:27, 3] rpc_client/cli_pipe.c:rpc_pipe_bind(2081)
rpc_pipe_bind: Remote machine COPP-DC-01 pipe \NETLOGON fnum 0x8017 bind request returned ok.
[2011/11/02 11:01:27, 3] auth/auth.c:check_ntlm_password(270)
check_ntlm_password: winbind authentication for user [dev_shrpt_app] succeeded
НЕ УДАЛОСЬ:
[2011/11/02 11:05:36, 3] libsmb/namequery.c:get_dc_list(1426)
get_dc_list: preferred server list: "COPP-DC-01, copp-dc-01"
[2011/11/02 11:05:36, 3] libsmb/namequery_dc.c:rpc_dc_name(117)
rpc_dc_name: Returning DC COPP-DC-01 (172.16.11.205) for domain OAKS
[2011/11/02 11:05:36, 3] libsmb/cliconnect.c:cli_start_connection(1417)
Connecting to host=COPP-DC-01
[2011/11/02 11:05:36, 3] lib/util_sock.c:open_socket_out(874)
Connecting to 172.16.11.205 at port 445
[2011/11/02 11:05:36, 3] rpc_client/cli_pipe.c:rpc_pipe_bind(2081)
rpc_pipe_bind: Remote machine COPP-DC-01 pipe \lsarpc fnum 0x8016 bind request returned ok.
[2011/11/02 11:05:36, 3] rpc_parse/parse_lsa.c:lsa_io_sec_qos(224)
lsa_io_sec_qos: length c does not match size 8
[2011/11/02 11:05:36, 3] auth/auth.c:check_ntlm_password(221)
check_ntlm_password: Checking password for unmapped user []\[]@[FODV-SHRPT-01] with the new password interface
[2011/11/02 11:05:36, 3] auth/auth.c:check_ntlm_password(224)
check_ntlm_password: mapped user is: [OAKS]\[]@[FODV-SHRPT-01]
[2011/11/02 11:05:36, 3] smbd/sec_ctx.c:push_sec_ctx(208)
push_sec_ctx(0, 0) : sec_ctx_stack_ndx = 1
[2011/11/02 11:05:36, 3] smbd/uid.c:push_conn_ctx(345)
push_conn_ctx(0) : conn_ctx_stack_ndx = 0
[2011/11/02 11:05:36, 3] smbd/sec_ctx.c:set_sec_ctx(241)
setting sec ctx (0, 0) - sec_ctx_stack_ndx = 1
[2011/11/02 11:05:36, 3] smbd/sec_ctx.c:pop_sec_ctx(339)
pop_sec_ctx (0, 0) - sec_ctx_stack_ndx = 0
[2011/11/02 11:05:36, 3] auth/auth.c:check_ntlm_password(270)
check_ntlm_password: guest authentication for user [] succeeded
[2011/11/02 11:05:36, 3] smbd/sec_ctx.c:push_sec_ctx(208)
SNIP
SNIP
SNIP
[2011/11/02 11:05:36, 3] smbd/connection.c:yield_connection(69)
Yielding connection to expest
[2011/11/02 11:05:36, 3] smbd/error.c:error_packet(146)
error packet at smbd/reply.c(676) cmd=117 (SMBtconX) NT_STATUS_LOGON_FAILURE
[2011/11/02 11:05:36, 3] smbd/process.c:process_smb(1110)
Transaction 4 of length 43
[2011/11/02 11:05:36, 3] smbd/process.c:switch_message(914)
switch message SMBulogoffX (pid 3748242) conn 0x0
[2011/11/02 11:05:36, 3] smbd/sec_ctx.c:set_sec_ctx(241)
setting sec ctx (0, 0) - sec_ctx_stack_ndx = 0
[2011/11/02 11:05:36, 3] smbd/reply.c:reply_ulogoffX(1618)
ulogoffX vuid=101
[2011/11/02 11:05:36, 3] smbd/process.c:timeout_processing(1359)
timeout_processing: End of file from client (client has disconnected).
[2011/11/02 11:05:36, 3] smbd/sec_ctx.c:set_sec_ctx(241)
setting sec ctx (0, 0) - sec_ctx_stack_ndx = 0
[2011/11/02 11:05:36, 3] smbd/connection.c:yield_connection(69)
Yielding connection to
[2011/11/02 11:05:36, 3] smbd/server.c:exit_server_common(675)
Server exit (normal exit)
1 ответ
Проблема двойного прыжка? В противном случае проблема заключается в том, что ваш код SharePoint не работает в контексте пользователя.
SharePoint будет выдавать себя за пользователя, если вы не находитесь внутри делегата SPSecurity.RunWithElevatedPrivileges.