Я пытаюсь настроить сервер Samba, чтобы разрешить доступ к службе (Oracle), работающей на сервере Windows. В какой-то момент я протестировал это, и он работал без проблем, поэтому я не сделал резервную копию моего файла conf (grrr). Сейчас я борюсь с этим, и ничего не получится.
У меня есть настройка службы Windows для входа в систему в качестве пользователя домена, я вошел на сервер как этот пользователь и могу подключиться к серверу samba без запроса пароля; однако, когда я запускаю свой сервис, он получает Ошибка входа в систему: неизвестное имя пользователя или неверный пароль.
Я обновился до Samba v3.3.8-0.52.el5_5.2 и смог, наконец, получить несколько полезных журналов, однако, что бы я ни делал, я не могу заставить пользователя сопоставить и правильно аутентифицироваться.
Лог-файл:
[2010/12/09 09:57:52, 3] auth/auth.c:check_ntlm_password(220)
check_ntlm_password: Checking password for unmapped user [NATRONA]\[Administrator]@[NATRONA17] with the new password interface
[2010/12/09 09:57:52, 3] auth/auth.c:check_ntlm_password(223)
check_ntlm_password: mapped user is: [RMAN]\[Administrator]@[NATRONA17]
[2010/12/09 09:57:52, 3] smbd/sec_ctx.c:push_sec_ctx(224)
push_sec_ctx(0, 0) : sec_ctx_stack_ndx = 1
[2010/12/09 09:57:52, 3] smbd/uid.c:push_conn_ctx(440)
push_conn_ctx(0) : conn_ctx_stack_ndx = 0
[2010/12/09 09:57:52, 3] smbd/sec_ctx.c:set_sec_ctx(324)
setting sec ctx (0, 0) - sec_ctx_stack_ndx = 1
[2010/12/09 09:57:52, 3] smbd/sec_ctx.c:pop_sec_ctx(432)
pop_sec_ctx (0, 0) - sec_ctx_stack_ndx = 0
[2010/12/09 09:57:52, 3] auth/auth_sam.c:check_sam_security(282)
check_sam_security: Couldn't find user 'Administrator' in passdb.
[2010/12/09 09:57:52, 2] auth/auth.c:check_ntlm_password(318)
check_ntlm_password: Authentication for user [Administrator] -> [Administrator] FAILED with error NT_STATUS_NO_SUCH_USER
У меня есть настройки в моем smbusers
файл:
root = administrator admin Administrator [NATRONA]\[Administrator] [RMAN]\[Administrator]
nobody = guest pcguest smbguest
И я думаю, что моя доля настроена правильно:
[recovery]
comment = Recovery Catalog Data
writeable = yes
public = yes
guest only = no
valid users = oracle,root,[NATRONA]\[Administrator]@[NATRONA17]
Очевидно, есть несоответствие между именем пользователя, которое отправляет сервер Windows, и сопоставлением на сервере самбы, я даже пробовал guest only = yes
попытаться заставить гостя, и это не сработало.
Некоторые гуру самбы, пожалуйста, назовите меня в правильном направлении. путь = / db / recovery
Оказывается, Самба не просматривала мой файл пользовательской карты. Правильная конфигурация показана ниже:
[global]
log file = /var/log/samba/log.%m
cups options = raw
load printers = no
guest account = oracle
printing = bsd
server string = Oracle Recovery Server
workgroup = UNIX
debug level = 5
username map = /etc/samba/smbusers
null passwords = yes
encrypt passwords = yes
security = user
passdb backend = tdbsam
max log size = 50
[recovery]
comment = Recovery Catalog Data
writeable = yes
public = yes
guest only = yes
guest ok = yes
valid users = oracle,root
path = /var/oracle_recovery_catalog
Мне также пришлось установить свой oracle
пользователь с нулевым паролем: smbpasswd -an oracle
.
Эта конфигурация даже не требует от меня изменения службы для работы под другой учетной записью. УХУУ!
ПРЕДУПРЕЖДЕНИЕ: Это позволяет кто угодно читать / писать в указанную папку. Я занимаюсь безопасностью на уровне брандмауэра; однако, если вы реализуете это решение, вам следует что-то использовать, самба поддерживает hosts allow
директива, которая может стоить ваших усилий.