Проверял, с freebsd8 на debian linux отлично коннектиться.
Задача: тупо сделать шару с авторизацией, и всё. Гуглил без малого 10 часов, может даже больше, ничего не помогло.Вот мой конфиг
[global]
server string = %h server
max protocol = smb2
interfaces = 83.69.226.209/32
bind interfaces only = Yes
obey pam restrictions = Yes
passdb backend = tdbsam:/etc/samba/smbpasswd
client NTLMv2 auth = No
encrypt passwords = Yes
server signing = disabled
ntlm auth = yes
client lanman auth = yes
lanman auth = no
client plaintext auth = nosocket options = TCP_NODELAY SO_KEEPALIVE SO_SNDBUF=32768 SO_RCVBUF=32768
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
smb ports = 4450
load printers = No
printcap name = /dev/null
disable spoolss = Yes
show add printer wizard = No
dns proxy = No
panic action = /usr/share/samba/panic-action %d
printing = bsd
print command = lpr -r -P'%p' %s
lpq command = lpq -P'%p'
lprm command = lprm -P'%p' %j
security = share[champion]
comment = champion's share
path = /home/champion
;valid users = champion
read only = No
guest ok=Yes
Система debian, версия samba 3.5.6Вот что говорит лог debug "4 auth:10"
[2011/02/27 12:28:20.910681, 3] smbd/oplock.c:895(init_oplocks)
init_oplocks: initializing messages.
[2011/02/27 12:28:20.911355, 3] smbd/oplock_linux.c:224(linux_init_kernel_oplocks)
Linux kernel oplocks enabled
[2011/02/27 12:28:50.894785, 0] lib/util_sock.c:474(read_fd_with_timeout)
[2011/02/27 12:28:50.895037, 0] lib/util_sock.c:1432(get_peer_addr_internal)
getpeername failed. Error was Transport endpoint is not connected
read_fd_with_timeout: client 0.0.0.0 read error = Connection reset by peer.
[2011/02/27 12:28:50.895111, 3] smbd/sec_ctx.c:310(set_sec_ctx)
setting sec ctx (0, 0) - sec_ctx_stack_ndx = 0
[2011/02/27 12:28:50.895169, 3] smbd/connection.c:31(yield_connection)
Yielding connection to
[2011/02/27 12:28:50.895240, 3] smbd/connection.c:42(yield_connection)
deleting connection record returned NT_STATUS_NOT_FOUND
[2011/02/27 12:28:50.895375, 3] smbd/server.c:906(exit_server_common)
Server exit (failed to receive smb request)Что делать?
Присоединяюсь к вопросу. Но у меня немного иные условия, а именно:
ОС: CentOS 4.8 kernel 2.6.9-89.EL
Samba: 3.0.33-0.19.el4_8.3smb.conf:
-----------------------------------------
[global]
server string = Samba Server Version %v
passdb backend = tdbsam
unix password sync = Yes
ldap ssl = no
guest ok = Yes
cups options =
obey pam restrictions = Yes[smbtest]
comment = Test
path = /home/smbtest
read only = No[fafold]
comment = fa
path = /home/fa
username = fa
admin users = fa
read only = No
guest ok = No[homes]
comment = Home Directories
read only = No
browseable = No[printers]
comment = All Printers
path = /var/spool/samba
guest ok = No
printable = Yes
browseable = No
-----------------------------------------Не пробовал зайти с других ОС(ХР или другого линукса), но при попытке зайти с Windows 7 Enterprise появляется окно запроса логина и пароля. При вводе логина и пароля учётной записи, которая существует в системе линукс (и на винде соответственно такой же логин и пароль, если что) не пускает, просто снова запрашивает логин и пароль. В логах smbd.log при этом появляется вот это (при дебаг левеле 3):
------------------------------------------
[2011/02/27 01:34:29, 3] smbd/sesssetup.c:reply_sesssetup_and_X_spnego(1069)
NativeOS=[] NativeLanMan=[] PrimaryDomain=[]
[2011/02/27 01:34:29, 3] libsmb/ntlmssp.c:ntlmssp_server_auth(739)
Got user=[fa] domain=[192.168.72.11] workstation=[FA-PC] len1=24 len2=270
[2011/02/27 01:34:29, 3] auth/auth.c:check_ntlm_password(221)
check_ntlm_password: Checking password for unmapped user [192.168.72.11]\[fa]@[FA-PC] with the new password interface
[2011/02/27 01:34:29, 3] auth/auth.c:check_ntlm_password(224)
check_ntlm_password: mapped user is: [SRVOS1]\[fa]@[FA-PC]
[2011/02/27 01:34:29, 3] smbd/sec_ctx.c:push_sec_ctx(208)
push_sec_ctx(0, 0) : sec_ctx_stack_ndx = 1
[2011/02/27 01:34:29, 3] smbd/uid.c:push_conn_ctx(358)
push_conn_ctx(0) : conn_ctx_stack_ndx = 0
[2011/02/27 01:34:29, 3] smbd/sec_ctx.c:set_sec_ctx(241)
setting sec ctx (0, 0) - sec_ctx_stack_ndx = 1
[2011/02/27 01:34:29, 3] smbd/sec_ctx.c:pop_sec_ctx(356)
pop_sec_ctx (0, 0) - sec_ctx_stack_ndx = 0
[2011/02/27 01:34:29, 3] auth/auth_sam.c:check_sam_security(282)
check_sam_security: Couldn't find user 'fa' in passdb.
[2011/02/27 01:34:29, 2] auth/auth.c:check_ntlm_password(319)
check_ntlm_password: Authentication for user [fa] -> [fa] FAILED with error NT_STATUS_NO_SUCH_USER
[2011/02/27 01:34:29, 3] smbd/error.c:error_packet_set(106)
error packet at smbd/sesssetup.c(105) cmd=115 (SMBsesssetupX) NT_STATUS_LOGON_FAILURE
[2011/02/27 01:34:43, 0] lib/util_sock.c:read_data(534)
read_data: read failure for 4 bytes to client 192.168.72.1. Error = Connection reset by peer
[2011/02/27 01:34:43, 3] smbd/process.c:timeout_processing(1362)
------------------------------------------Почитал мануал по самбе про опцию "obey pam restrictions" "Note that Samba always ignores PAM for authentication in the case of encrypt passwords = yes." пробовал ставить "encrypt passwords = No", но тогда да же не появляется окно запроса пароля и логина, а сразу появляется сообщение о том что "у вас нет доступа к ... Данная учётная запись не может быть использована для входа в сеть с этой станции." а в логах :
--------------------------------------------------
[2011/02/27 04:44:04, 3] smbd/oplock.c:init_oplocks(863)
init_oplocks: initializing messages.
[2011/02/27 04:44:04, 3] smbd/oplock_linux.c:linux_init_kernel_oplocks(234)
Linux kernel oplocks enabled
[2011/02/27 04:44:04, 3] smbd/process.c:process_smb(1083)
Transaction 0 of length 159
[2011/02/27 04:44:04, 3] smbd/process.c:switch_message(932)
switch message SMBnegprot (pid 1870) conn 0x0
[2011/02/27 04:44:04, 3] smbd/sec_ctx.c:set_sec_ctx(241)
setting sec ctx (0, 0) - sec_ctx_stack_ndx = 0
[2011/02/27 04:44:04, 3] smbd/negprot.c:reply_negprot(505)
Requested protocol [PC NETWORK PROGRAM 1.0]
[2011/02/27 04:44:04, 3] smbd/negprot.c:reply_negprot(505)
Requested protocol [LANMAN1.0]
[2011/02/27 04:44:04, 3] smbd/negprot.c:reply_negprot(505)
Requested protocol [Windows for Workgroups 3.1a]
[2011/02/27 04:44:04, 3] smbd/negprot.c:reply_negprot(505)
Requested protocol [LM1.2X002]
[2011/02/27 04:44:04, 3] smbd/negprot.c:reply_negprot(505)
Requested protocol [LANMAN2.1]
[2011/02/27 04:44:04, 3] smbd/negprot.c:reply_negprot(505)
Requested protocol [NT LM 0.12]
[2011/02/27 04:44:04, 3] smbd/negprot.c:reply_negprot(505)
Requested protocol [SMB 2.002]
[2011/02/27 04:44:04, 3] smbd/negprot.c:reply_negprot(505)
Requested protocol [SMB 2.???]
[2011/02/27 04:44:05, 3] smbd/negprot.c:reply_nt1(351)
not using SPNEGO
[2011/02/27 04:44:05, 3] smbd/negprot.c:reply_negprot(606)
Selected protocol NT LM 0.12
--------------------------------------------------Я в ауте.. пробовал по разному и пробовал на семёрке менять ключи в реестре в соответствии с этой инструкцией :
http://wiki.samba.org/index.php/Windows7И пробовал ставить заплату, которая в той же инструкции приводится.. нифига.. Подскажите как заставить проходить авторизацию на самбе, что бы самба брала учётные данные из системных аккаунтов на линукс системе(/etc/passwd; /etc/shadow; pam). Уже не знаю в какую сторону глядеть. Хочу уже установить на виртуалке ClearOS и попробовать будет ли туда заходить и если будет, то поглядеть как у них smb.conf выглядит что бы понять в чём разница...
И кстати, если добавить например добавить "map to guest = Bad User" или бэд пассворд, то ресурс открывает, но соответственно от гостя. smbstatus не показывает что открыто от какого либо логина(но просто показывает что есть подключение а то что оно от ноубади или ещё от кого то открыто не показывает).
Может кто либо уже проходил этот путь и подскажет в чём загвоздка?
Попробовал с виртуальной машины виндовс XP зайти, в итоге та же самая ситуация как и в случае захода с windows 7. Итого значит я не понял как в CentOS 4.8 наладить авторизацию samba по встроенным в линукс учётным записям. Please give me advise or solution.
Мда.. сила коллективного разума помогла мне. :)В общем практическим путём выяснил что в моём случае необходимо было создать пользователя самбы командой:
smbpasswd -a fa
и ввести пароль для него.
Но вопрос остаётся открытым, так как мне бы хотелось что бы все пользователи созданные в системе автоматически получали доступ к самба шаресам(добавлялись в пользователей самбы). И я интересуюсь, нет ли решения которое автоматически это выполняло (без костылей в виде скриптов самодельных). Хотелось бы что бы при создании пользователя в системме и после его удаления из системы не нужно было выполнять дополнительных действий по удалению пользователя из самбы пользователей и тому подобное... Можно ли это реализовать без ldap?
>[оверквотинг удален]
> пользователя самбы командой:
> smbpasswd -a fa
> и ввести пароль для него.
> Но вопрос остаётся открытым, так как мне бы хотелось что бы все
> пользователи созданные в системе автоматически получали доступ к самба шаресам(добавлялись
> в пользователей самбы). И я интересуюсь, нет ли решения которое автоматически
> это выполняло (без костылей в виде скриптов самодельных). Хотелось бы что
> бы при создании пользователя в системме и после его удаления из
> системы не нужно было выполнять дополнительных действий по удалению пользователя из
> самбы пользователей и тому подобное... Можно ли это реализовать без ldap?SWAT поставь, может тебе это нужно ?
Мое мнение - ставь LDAP и рули через http://www.ldap-account-manager.org/ - много проблем решится сразу
Сват уже стоит.... Но это ж просто генератор конфига...
Но про твоё мнение я понял. И скорее всего иначе и не получится без ЛДАП в смысле... Придётся наверное с ЛДАП...
> Сват уже стоит.... Но это ж просто генератор конфига...
> Но про твоё мнение я понял. И скорее всего иначе и не
> получится без ЛДАП в смысле... Придётся наверное с ЛДАП...В общем поставил ubuntu 10.04 и там нужный мне функционал работает из коробки. Действительно "ubuntu - linux для человекоф":)
убрать
# max protocol = smb2