Использование локальных учетных записей Samba совместно с AD

Проблемы с установкой, настройкой и работой системных и сетевых программ.

Модераторы: GRooVE, alexco

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Dmitriy_K
сержант
Сообщения: 200
Зарегистрирован: 2009-04-07 6:22:33
Откуда: г.Королёв

Использование локальных учетных записей Samba совместно с AD

Непрочитанное сообщение Dmitriy_K » 2012-09-05 17:13:31

Можно ли настроить для Samba использование локальных учетных записей совместно с Active Directory?
Сейчас настроена авторизация по AD. Но программисты попросили сделать ещё локальную учётку для их скриптов.
Буду признателен за информацию.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/


Dmitriy_K
сержант
Сообщения: 200
Зарегистрирован: 2009-04-07 6:22:33
Откуда: г.Королёв

Re: Использование локальных учетных записей Samba совместно

Непрочитанное сообщение Dmitriy_K » 2012-09-06 18:23:47

А можно конкретный пример по теме? У меня мозги спеклись безнадёжно на этом.

Dmitriy_K
сержант
Сообщения: 200
Зарегистрирован: 2009-04-07 6:22:33
Откуда: г.Королёв

Re: Использование локальных учетных записей Samba совместно

Непрочитанное сообщение Dmitriy_K » 2012-09-06 18:49:58

На всякий случай ещё раз уточню. Мне хотелось узнать можно ли так извернуться, чтобы Самба делала авторизацию внешних (не получающих при этом шару) пользователей через AD, но при этом один или несколько пользователей могли авторизоваться по локальному файлу паролей Самбы.
Этот наворот понадобился программистам для разработки внутрисетевого корпоративного сайта на java.

snorlov
подполковник
Сообщения: 3921
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Re: Использование локальных учетных записей Samba совместно

Непрочитанное сообщение snorlov » 2012-09-07 8:22:30

Дмитрий в любом *NIX'е, как впрочем и в любой винде, учетная запись это идентификатор gid, именно с ним и работает система.На станции, члене домена, нет полноценной базы пользователей домена как на контроллере домена, а есть только отображение прошедших аутенфикацию пользователей домена в свои дополнительные локальные пользователи, в случае винды gid пользователя домена на станции берется его gid в домене, в случае самбы зависит от ее настроек, в вашем случае, это отображение реализует winbind, он создает локальную базу отображения, сейчас не вспомню конкретный файл, но при его удалении слетают все настройки доступа к файлам. А источники аутенфикаций определяет файл nsswich.conf, удалите из него всякое упоминание о winbind и доступ к вашей самбе исчезнет. Просто добавьте пользователя, ну и дайте этому пользователю права на шаренные ресурсы

Alteron
сержант
Сообщения: 230
Зарегистрирован: 2008-07-21 9:35:11

Re: Использование локальных учетных записей Samba совместно

Непрочитанное сообщение Alteron » 2012-09-07 16:00:07

Dmitriy_K писал(а):А можно конкретный пример по теме? У меня мозги спеклись безнадёжно на этом.
Что непонятно?

Код: Выделить всё

The configuration file controls how a process looks up various databases
     containing information regarding hosts, users (passwords), groups, etc.
     Each database comes from a source (such as local files, DNS, NIS, and
     cache), and the order to look up the sources is specified in
     nsswitch.conf.

     Each entry in nsswitch.conf consists of a database name, and a space sep-
     arated list of sources.  Each source can have an optional trailing crite-
     rion that determines whether the next listed source is used, or the
     search terminates at the current source.  Each criterion consists of one
     or more status codes, and actions to take if that status code occurs.
Как вам уже объяснили, системе пофигу, какой (откуда) пользователь.
Измеритель верёвочками.

Аватара пользователя
bagas
лейтенант
Сообщения: 922
Зарегистрирован: 2010-08-18 19:49:01
Откуда: Воронеж
Контактная информация:

Re: Использование локальных учетных записей Samba совместно

Непрочитанное сообщение bagas » 2013-06-21 13:50:29

меня это тоже интересует.
меня тоже попросили создать пару локальных учеток.
К примеру есть локальная учетка bagas.
Пробую зайти подж этой учеткой bagas , непускает.
Что бы ты не делал , жизнь слишком коротка!
Блог о BSD системах.

Аватара пользователя
paran0id
мл. сержант
Сообщения: 128
Зарегистрирован: 2011-11-22 14:03:08
Откуда: мск

Re: Использование локальных учетных записей Samba совместно

Непрочитанное сообщение paran0id » 2013-06-21 14:55:23

в nsswitch.conf должно быть что-то вроде

Код: Выделить всё

passwd:         files ldap
group:          files ldap
shadow:         files ldap
если в домене пользователи в ldap хранятся
Хватит, хватит, $%@^ая рогатая тварь, остановись!

Аватара пользователя
bagas
лейтенант
Сообщения: 922
Зарегистрирован: 2010-08-18 19:49:01
Откуда: Воронеж
Контактная информация:

Re: Использование локальных учетных записей Samba совместно

Непрочитанное сообщение bagas » 2013-06-21 15:02:26

на данный момент у меня так.
passwd: files winbind
Еще раз говорю с доменной авторизацией все в порядке, мне нужно разрешить две локальные учетки.
вот лог при авторизации локальной учеткой.

Код: Выделить всё

check_ntlm_password:  Checking password for unmapped user [pav-210]\[bagas]@[PAV-012] with the new password interface
[2013/06/21 15:31:37.445735,  3] auth/auth.c:222(check_ntlm_password)
  check_ntlm_password:  mapped user is: [pav-210]\[bagas]@[PAV-012]
[2013/06/21 15:31:37.445757,  3] auth/auth_winbind.c:60(check_winbind_security)
  check_winbind_security: Not using winbind, requested domain [pav-210] was for this SAM.
[2013/06/21 15:31:37.445776,  2] auth/auth.c:319(check_ntlm_password)
  check_ntlm_password:  Authentication for user [bagas] -> [bagas] FAILED with error NT_STATUS_NO_SUCH_USER
[2013/06/21 15:31:37.445821,  3] smbd/error.c:81(error_packet_set)
  error packet at smbd/sesssetup.c(124) cmd=115 (SMBsesssetupX) NT_STATUS_LOGON_FAILURE
[2013/06/21 15:31:37.447288,  3] smbd/server_exit.c:181(exit_server_common)
  Server exit (failed to receive smb request)
Что бы ты не делал , жизнь слишком коротка!
Блог о BSD системах.

Гость
проходил мимо

Re: Использование локальных учетных записей Samba совместно

Непрочитанное сообщение Гость » 2013-06-25 9:42:29

Вот нарытые в инете подсказки, которые помогли мне добить эту проблему. Надеюсь, поможет и другим.
Прикол в том, что оказалось ненужно. Программист, который от меня это требовал, оказался бестолочью, не понимающей саму себя. :crazy:
Так что у меня уже рабочего примера сейчас нет. Осталась только эта напоминалка.

Код: Выделить всё

Samba выдает вот такую ошибку в логах:
net_auth2: failed to get machine password for account TESTHOST$: NT_STATUS_ACCESS_DENIED

При этом если добавить юзера TESTHOST$ то получаю вот такое вот сообщение:
[2008/08/13 17:05:59, 0] rpc_server/srv_netlog_nt.c:_net_auth_2(461)
  _net_auth2: failed to get machine password for account TESTHOST$: NT_STATUS_NO_TRUST_SAM_ACCOUNT

Решение проблемы:
1.Добавить пользователя в систему:
pw useradd testhost$ -d /dev/null -g sambauser -s /usr/bin/false
обязательно после имени указать $

2.Добавить пользователя в Samba:
smbpasswd -a -m testhost


------------------------------------------------------------------------
cat /etc/passwd | grep -v '#' | make_smbpasswd > /usr/local/etc/samba/smbpasswd
chmod 600 /usr/local/etc/samba/smbpasswd

Пользователь administrator должен присутствовать в системе. Потом его учётная запись с именем administrator будет внесена в базу пользователей Samba.
# adduser
...

Создаём пользователей в самбе через smbpasswd (выполняем от root’a):
smbpasswd -a administrator
New SMB password:
Retype new SMB password:
Added user administrator

Для отключения учётной записи в самбе:
smbpasswd -d administrator
Disabled user administrator

Для включения отключённой учётной записи:
smbpasswd -e administrator
Enabled user administrator

Для удаления пользователя из базы samb’ы:
smbpasswd -x administrator
Deleted user administrator


Не забудьте изменить права доступа к вашему новому файлу “smbpasswd” на чтение-запись только для пользователя “root’ (0600/-rw-------). Это делается из соображения безопасности.
# chmod 600 /etc/smbpasswd


------------------------------
Далее дело за настройкой NSS. После его настройки, появится возможность работать с доменными аккаунтами так же как и с локальными – и использовать их в chown и chgrp, в ACL, с директивой valid users в smb.conf и т.д. 
Изменяем соответствующие строки в /etc/nsswitch.conf: 
passwd:         files winbind
group:          files winbind
shadow:         files winbind
hosts:          files dns winbind 

------------------------------------------------------------------------
С настройками Samba в smb.conf придётся поэкспериментировать. Примерный вариант может (!) быть такой.
В этом варианте имеется возможность быстро переключиться на режим авторизации через AD Windows (security = ADS).
Параметр "passdb backend" не нужно упоминать в конфигах, не использующих LDAP.

[global]
admin users = administrator
auth methods = winbind
security = user

case sensitive = no
winbind uid = 10000-40000
winbind gid = 10000-40000
winbind enum users = yes
winbind enum groups = yes
winbind refresh tickets = yes
;winbind offline logon = yes
winbind cache time = 300
winbind use default domain = no
winbind trusted domains only = no
allow trusted domains = yes
restrict anonymous = 2
;map untrusted to domain = yes

workgroup = NET.RU
realm = NET.RU
server string = Samba Server
;password server = *
password server = NET-dc02.NET.ru
encrypt passwords = yes
client use spnego = yes
client ntlmv2 auth = yes
ntlm auth = no
;create krb5 conf = no

wins support = no
wins proxy = no
dns proxy = no
local master = no
os level = 0
domain master = no
preferred master = no
domain logons = no
csc policy = disable

max smbd processes = 200
socket options = SO_RCVBUF=8192 SO_SNDBUF=8192 TCP_NODELAY
use sendfile = yes
interfaces = 10.0.0.0/8
name resolve order = hosts bcast

#Logs for debugging
log file = /var/log/samba/log.%m
max log size = 100
;log level = 1 auth:3 smb:3 winbind:3
log level = 2 auth:10 acls:10 smb:10 idmap:10 winbind:10

#Trying to increase speed
;log file = /dev/null
;log level = 0

invalid users = root
guest account = nobody

------------------------------------------------------------------------
Полезные команды:

View machine trust account:
pdbedit -Lv administrator

pdbedit -a -u administrator
pdbedit не вызывает скрипт синхронизации unix пароля, даже если параметр unix password sync установлен. Он обновит только базу пользователей Samba.
Если вы хотите добавить пользователя и незамедлительно синхронизировать пароль, используйте опцию -a команды smbpasswd.

tdbbackup -v secrets.tdb
Проверит базу учётных записей на повреждения и при обнаружении восстановит данные из архива.

Посмотреть расшаренные ресурсы на своей машине:
# smbclient -d3 -L localhost -U%

Отобразить (-L) список расшаренных ресурсов на хосте 10.0.0.11 анонимно (-N):
# smbclient -N -L 10.0.0.11

Подключиться к ресурсу share хоста 10.0.0.11 с логином username и паролем passwd:
# smbclient //10.0.0.11/share -Uusername%passwd

-----
Проверка доступности расшаренных ресурсов пользователей:
# kinit user@NET.RU
user@NET.RU's Password:

# smbclient -k -L user
OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]