Tomsk Sysadmins Forum
Unix => Администрирование => Topic started by: alpha1 on May 27, 2008, 11:47:07
-
Не могу зайти на самбу по имени сервера. Идет запрос логина и пароля - ввожу - не пускает. Подскажите, пожалуйста что настраивать нужно?
-
Надо уже настроить свой мозг на волну TLUG - например хорошо помогает почитать руководство по формулированию вопросов. Потому что если вы перечитаете свой же вопрос, то я на сто процентов уверен, что сами же ни фига не поймете. Где конфиги, где плоды личных изысканий?
По типу - как мне сделать мазду своими руками.
-
Надо уже настроить свой мозг на волну TLUG - например хорошо помогает почитать руководство по формулированию вопросов. Потому что если вы перечитаете свой же вопрос, то я на сто процентов уверен, что сами же ни фига не поймете. Где конфиги, где плоды личных изысканий?
По типу - как мне сделать мазду своими руками.
Какие конфиги нужны? Я выложу. Но я же не спрашиваю, что у меня здесь не так. Я спрашиваю что (какую программу) нужно настроить что бы появилась возможность заходить на сервер samba по имени сервера. Настроил я уже smb.conf, krb5, nsswitch.conf.
-
Ну а /etc/resolv.conf и DNS-сервер-где-то-в-сети Вы настроили? Пинги по DNS-имени самбы есть?
(Хотя запрос аутентификации, как я понял, появляется по dns-имени)
-
Ну а /etc/resolv.conf и DNS-сервер-где-то-в-сети Вы настроили? Пинги по DNS-имени самбы есть?
(Хотя запрос аутентификации, как я понял, появляется по dns-имени)
Пинги есть. В dns добавлен узел. resolv.conf не трогал. По ip-адресу нет запроса аутентификации, только по dns-имени.
-
-
-
Я данную проблему решил подняв в самбе WINS сервер и потом клиентам через DHCP его указывал. Все нормально увидели сразу.
-
Тормоза придумали трусы, а документацию, по всей видимости дебилы...
-
Я данную проблему решил подняв в самбе WINS сервер и потом клиентам через DHCP его указывал. Все нормально увидели сразу.
А в общих чертах не сможешь обрисовать настройку, или, если не сложно, конфиги выложить.
-
1. Вот прямо на машине, с которой пытаешься зайти (кнопка "Пуск" - "Выполнить" - "cmd" - кнопка "OK") напиши nslookup samba_server_name, где samba_server_name - имя SAMBA-сервера.
2. Пинг на что есть? На IP-адрес SAMBA-сервера или на короткое имя SAMBA-сервера?
3. Сколько сетевух на SAMBA-сервере?
4. Чего интересного нарыл тут: /var/log/samba
5. SAMBA на основании чего авторизует пользователей: winbind, smbpasswd или Hz чего?
-
1. Вот прямо на машине, с которой пытаешься зайти (кнопка "Пуск" - "Выполнить" - "cmd" - кнопка "OK") напиши nslookup samba_server_name, где samba_server_name - имя SAMBA-сервера.
2. Пинг на что есть? На IP-адрес SAMBA-сервера или на короткое имя SAMBA-сервера?
3. Сколько сетевух на SAMBA-сервере?
4. Чего интересного нарыл тут: /var/log/samba
5. SAMBA на основании чего авторизует пользователей: winbind, smbpasswd или Hz чего?
1. nslookup samba_server_name
Server: "pdc".domain
Address: 192.168.x.x
Name: samba_server_name.domain
Address: 192.168.x.xy
2. ping samba_server_name
Обмен пакетами с samba_server_name.domain [192.168.x.xy] по 32 байт:
Ответ от 192.168.1.xyz: число байт=32 время<1мс TTL=64
3. две сетевухи, вторая отключена.
4. /var/log/samba/samba.log
[div class=\'codetop\']CODE[div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\'][2008/05/28 11:58:12, 0] lib/util_sock.c:write_data(562)
write_data: write failure in writing to client 192.168.1.xyz. Error Connection reset by peer
5. Самба авторизует на основании winbind.
-
Понятно, что ничего не понятно
Добавь в конфиг SAMBA в раздел [global] вот такие опции:
interfaces = 127.0.0.1, eth0
bind interfaces only = Yes
Где eth0 у тебя может быть и eth2 и eth10 - но это должно быть имя твоего рабочего интерфейса. И запомни по протоколу SMB больше чем по одному сетевому интерфейсу сервак светиться не может(!)
И вообще вот держи статейку с wiki:
Если сборка SAMBA прошла без проблем, то можно приступить к настройке требующихся нам сервисов.
Настройка SAMBA
Содержимое файла /etc/samba/smb.conf
[global]
dos charset = CP866
workgroup = EXAMPLE
realm = EXAMPLE.COM
server string =
interfaces = 127.0.0.1, eth0
bind interfaces only = Yes
security = ADS
auth methods = winbind
allow trusted domains = No
obey pam restrictions = Yes
password server = srv01.example.com, srv02.example.com
restrict anonymous = 2
client NTLMv2 auth = Yes
client lanman auth = No
client plaintext auth = No
log level = 0 passdb:0 auth:0 winbind:0
syslog = 0
log file = /var/log/samba/%m.log
server signing = auto
max smbd processes = 512
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
cups server = localhost
preferred master = No
local master = No
domain master = No
dns proxy = No
wins server = 192.168.1.3
ldap ssl = no
idmap uid = 10000-100000000
idmap gid = 10000-100000000
template shell = /bin/bash
winbind use default domain = Yes
winbind refresh tickets = Yes
invalid users = root, bin, daemon, sync, nobody
hosts allow = 127.0.0.1, 192.168.1.
hosts deny = all
cups options = cups
message command = bash -c "/bin/mail -s 'message from %f on %m' root < %s; rm %s"
[homes]
comment = Home Directories
read only = No
create mask = 0664
browseable = No
Настройка Kerberos
Содержимое файла /etc/krb5.conf
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
default_realm = EXAMPLE.COM
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 24h
forwardable = yes
[realms]
EXAMPLE.COM = {
kdc = srv01.example.com
kdc = srv02.example.com
admin_server = srv01.example.com
admin_server = srv02.example.com
default_domain = example.com
}
[domain_realm]
.example.com = EXAMPLE.COM
example.com = EXAMPLE.COM
[kdc]
profile = /var/kerberos/krb5kdc/kdc.conf
[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}
Настройка PAM
Для Fedora совместимых дистрибутивов
Содержимое файла /etc/pam.d/system-auth
#%PAM-1.0
# /etc/pam.d/system-auth
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth required pam_env.so
auth sufficient pam_winbind.so
auth sufficient pam_unix.so try_first_pass nullok
auth required pam_deny.so
account sufficient pam_winbind.so
account required pam_unix.so
password required pam_cracklib.so try_first_pass retry=3
password sufficient pam_unix.so try_first_pass use_authtok nullok md5
password required pam_deny.so
session required pam_mkhomedir.so skel=/etc/skel umask=0077
session required pam_limits.so
session required pam_unix.so
Содержимое файла /etc/pam.d/samba
#%PAM-1.0
# /etc/pam.d/samba
auth required pam_nologin.so
auth required pam_stack.so service=system-auth
auth required pam_winbind.so
account required pam_winbind.so
account required pam_stack.so service=system-auth
session required pam_mkhomedir.so skel=/etc/skel umask=0077
session required pam_stack.so service=system-auth
password required pam_stack.so service=system-auth
Содержимое файла /etc/pam.d/login
#%PAM-1.0
# /etc/pam.d/login
auth required pam_securetty.so
auth sufficient pam_winbind.so
auth sufficient pam_unix.so use_first_pass
auth required pam_stack.so service=system-auth
auth required pam_nologin.so
account sufficient pam_winbind.so
account required pam_stack.so service=system-auth
password required pam_stack.so service=system-auth
session required pam_stack.so service=system-auth
session optional pam_console.so
Содержимое файла /etc/pam.d/gdm
#%PAM-1.0
# /etc/pam.d/gdm
auth required pam_stack.so service=system-auth
auth required pam_nologin.so
account required pam_stack.so service=system-auth
password required pam_stack.so service=system-auth
session required pam_stack.so service=system-auth
session optional pam_console.so
Для Debian совместимых дистрибутивов
Содержимое файла /etc/pam.d/common-account
# /etc/pam.d/common-account
account required pam_unix.so
account required pam_winbind.so use_first_pass
Содержимое файла /etc/pam.d/common-auth
# /etc/pam.d/common-auth
auth sufficient pam_unix.so nullok_secure
auth required pam_winbind.so use_first_pass
auth sufficient pam_krb5.so try_first_pass
Содержимое файла /etc/pam.d/common-password
# /etc/pam.d/common-password
password sufficient pam_winbind.so
password required pam_unix.so nullok obscure min=4 max=8 md5
Содержимое файла /etc/pam.d/common-session
# /etc/pam.d/common-session
session optional pam_mkhomedir.so skel=/etc/skel umask=0077
session required pam_unix.so
session required pam_winbind.so
* Так же проверьте, чтобы файлы: /etc/pam.d/login, /etc/pam.d/gdm, /etc/pam.d/gnome-screensaver, /etc/pam.d/samba, /etc/pam.d/ssh - были следующего вида.
Содержимое файла /etc/pam.d/login
# /etc/pam.d/login
auth requisite pam_securetty.so
auth requisite pam_nologin.so
session required pam_env.so readenv=1
session required pam_env.so readenv=1 envfile=/etc/default/locale
@include common-auth
auth optional pam_group.so
session required pam_limits.so
session optional pam_lastlog.so
session optional pam_motd.so
session optional pam_mail.so standard
@include common-account
@include common-session
@include common-password
Содержимое файла /etc/pam.d/gdm
# /etc/pam.d/gdm
auth requisite pam_nologin.so
auth required pam_env.so readenv=1
auth required pam_env.so readenv=1 envfile=/etc/default/locale
@include common-auth
@include common-account
session required pam_limits.so
@include common-session
@include common-password
Содержимое файла /etc/pam.d/gnome-screensaver
# /etc/pam.d/gnome-screensaver
@include common-auth
Содержимое файла /etc/pam.d/samba
# /etc/pam.d/samba
@include common-auth
@include common-account
@include common-session
Содержимое файла /etc/pam.d/ssh
# /etc/pam.d/ssh
auth required pam_env.so # [1]
auth required pam_env.so envfile=/etc/default/locale
@include common-auth
account required pam_nologin.so
@include common-account
@include common-session
session optional pam_motd.so # [1]
session optional pam_mail.so standard noenv # [1]
session required pam_limits.so
@include common-password
Подключение к Windows домену
1. После того как все изменения были успешно произведены необходимо обязательно добавить запись типа A на DNS-сервере обслуживающем Windows домен. В противном случае учётная запись SAMBA-сервера будет добавлена в каталог Active Directory, но сразу же будет заблокирована, и даже если вы её разблокируете вручную авторизация работать не будет!
2. Теперь необходимо получить Kerberos-билет для добавляемого в Windows домен SAMBA-сервера. Делается это простой командой:
kinit [email protected]
Где domain_username - это имя пользователя существующего в Windows домене и имеющего право добавлять рабочие станции в домен. Где EXAMPLE.COM - это realm который мы описали в файлах конфигурации Kerberos (krb5.conf) и SAMBA (smb.conf). А на запрос пароля ввести пароль используемого нами пользователя.
3. Если получение Kerberos-билета прошло успешно и на DNS-сервере обслуживающем Windows домен существует запись типе A для добавляемого нами SAMBA сервера, то можно приступить к самой процедуре добавления SAMBA-сервера в Windows домен. Для этого необходимо выполнить команду:
net ads join -U domain_username
Где domain_username - это имя пользователя существующего в Windows домене и имеющего право добавлять рабочие станции в домен.
При помощи приведённой ниже команды можно протестировать возможность подключения к Windows домену:
net ads testjoin
Дополнение
Авторизация на удалённых рабочих станциях и серверах при помощи Kerberos без применения winbind
Если вы хотите всего лишь получать доступ к SMB ресурсам в пределах домена без запроса имени пользователя и пароля, то можете воспользоваться модулем pam_krb5, добавив строчку: auth sufficient pam_krb5.so в файл /etc/pam.d/system-auth приведя его к примерно такому виду:
Содержимое файла /etc/pam.d/system-auth
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth required pam_env.so
auth sufficient pam_krb5.so
auth sufficient pam_unix.so try_first_pass nullok
auth required pam_deny.so
account required pam_unix.so
password required pam_cracklib.so try_first_pass retry=3
password sufficient pam_unix.so try_first_pass use_authtok nullok md5 shadow
password required pam_deny.so
session required pam_limits.so
session required pam_unix.so
* И не забудьте проверить наличие в файле /etc/krb5.conf настроек для для данного модуля в разделе [appdefaults] (например настройки могут выглядеть так):
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}
Если вы этого не сделаете, то соответственно не будете получать Kerberos билет при регистрации в системе.
После этого достаточно будет перерегистрироваться в системе и вы сможете получать доступ к SMB ресурсам вашей сети.
Известные проблемы
kinit(v5): Clock skew too great while getting initial credentials
При выполнении запроса Kerberos билета командой
$ kinit [email protected]
получаем сообщение об ошибке kinit(v5): Clock skew too great while getting initial credentials
* Это означает, что между сервером выполняющим роль KDC и вашей рабочей станцией существует разница во времени больше чем разрешённая (обычно 5 минут).
* Выполнить команду (синхронизировать время между сервером и рабочей станцией):
# ntpdate ip_address_KDC
* В редких случаях проблема возникает из-за неверного (по умолчанию) разрешённого интервала погрешности времени между сервером и рабочей станцией. В таком случае необходимо в файл /etc/krb5.conf на рабочей станции внести строку указывающую максимальную возможную погрешность:
. . .
[libdefaults]
clockskew = 300
. . .
И/или изменить максимальную временную погрешность в групповых политиках домена.
Только пользовать её тоже надо с головой, учесть, что здесь в некоторых pam-файлах даны настройки с использованием устаревших модулей, и не доработал я её на предмет "защиты от дурака".
Ну и про nsswitch.conf не забываем
-
Все это настроено и работает. За исключением pam. pam не настроен. Сейчас попрбую, посмотрим что получится.
-
А после настройки Pam что нужно сделать, что бы изменения вступили в силу?
-
А после настройки Pam что нужно сделать, что бы изменения вступили в силу?
У тебя же не получается зайти на сервак по его имени, так причём здесь pam?
Если надо чтобы просто пользователи могли получить доступ по сети на ресурсы SAMBA-сервера необходимо:
1. настроить /etc/krb5.conf
2. получить kerberos билет
3. настроить /etc/smb.conf
4. завести SAMBA-сервер в домен
5. настроить /etc/nsswitch.conf
6. перезапустить сервисы: smb и winbind
7. проверить что winbind нормально всё резольвит: wbinfo -u; wbinfo -g
Проверь у себя всё по этим пунктам, и убедись всё-таки, что у тебя SAMBA забиндена только на одном сетевом интерфейсе (не считая lo)
Если надо чтобы доменные пользователи могли заходить на сервер через: ssh, login, X - тогда необходимо производить модификацию pam-файлов
-
Мне нужно набрать в адресной строке експлорера \\nameserv и войти. Но я имею: \\nameserver - запрос логина и пароля - ввод логина и пароля - enter-запрос логина и пароля - ввод логина и пароля - enter-...... Как с этим боротся? Причем если я захожу \\192.168.x.xyz, то проблем нет.
-
Мне нужно набрать в адресной строке експлорера \\nameserv и войти. Но я имею: \\nameserver - запрос логина и пароля - ввод логина и пароля - enter-запрос логина и пароля - ввод логина и пароля - enter-...... Как с этим боротся? Причем если я захожу \\192.168.x.xyz, то проблем нет.
1. Проверь статус учётной записи SAMBA-сервера в AD с помощью оснастки "Active Directory - пользователи и компьютеры", не заблокирована ли она.
2. Вообще проверь все настройки согласно моему предыдущему посту.
3. Попробуй удалить учётную запись SAMBA-в домене и перезавести его в домен заново.
При заведении SAMBA-сервера в домен на DNS-сервере обслуживающем твой домен должны присутствовать записи описывающие твой SAMBA-сервер и в прямой и в обратной зоне. Иначе учётная запись SAMBA-сервера будет создана, но будет заблокирована (отключена) и при попытке на него зайти по сети будешь получать запрос на ввод логина и пароля. Возможно это твой случай.