Доброго дня. Столкнулся с проблемой в настройке OSS на debina/ubuntu, а конкретно с настройкой SSHd. Привожу конфиги.
/etc/ssh/sshd_config
# Kerberos options
KerberosAuthentication yes
KerberosGetAFSToken yes
KerberosOrLocalPasswd yes
KerberosTicketCleanup yes
# GSSAPI options
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes
GSSAPIKeyExchange yes
AllowGroups adm BUILTIN\administrators
UsePAM yes
/etc/samba/smb.conf
[global]
workgroup = MARKET
realm = MARKET.LOCAL
security = ADS
encrypt passwords = true
dns proxy = no
socket options = TCP_NODELAY
domain master = no
local master = no
preferred master = no
os level = 0
domain logons = no
load printers = yes
show add printer wizard = yes
printcap name = cups
disable spoolss = no
idmap uid = 10000 - 40000
idmap gid = 10000 - 40000
winbind enum groups = yes
winbind enum users = yes
winbind use default domain = no
winbind normalize names = yes
winbind nested groups = yes
template shell = /bin/bash
winbind refresh tickets = yes
kerberos method = secrets and keytab
winbind offline logon = yes
winbind cache time = 300
#password server = market.local
dedicated keytab file = /etc/krb5.keytab
/etc/krb5.conf
[libdefaults]
default_realm = MARKET.LOCAL
kdc_timesync = 1
ccache_type = 4
forwardable = true
proxiable = true
v4_instance_resolve = false
v4_name_convert = {
host = {
rcmd = host
ftp = ftp
}
plain = {
something = something-else
}
}
fcc-mit-ticketflags = true
[realms]
MARKET.LOCAL = {
kdc = market.local
admin_server = market.local
default_domain = market.local
}
[domain_realm]
.market.local = MARKET.LOCAL
market.local = MARKET.LOCAL
[login]
krb4_convert = false
krb4_get_tickets = false
# net ads keytab list
Vno Type Principal
2 des-cbc-crc HOST/admin-pc.market.local@MARKET.LOCAL
2 des-cbc-md5 HOST/admin-pc.market.local@MARKET.LOCAL
2 aes128-cts-hmac-sha1-96 HOST/admin-pc.market.local@MARKET.LOCAL
2 aes256-cts-hmac-sha1-96 HOST/admin-pc.market.local@MARKET.LOCAL
2 arcfour-hmac-md5 HOST/admin-pc.market.local@MARKET.LOCAL
2 des-cbc-crc HOST/admin-pc@MARKET.LOCAL
2 des-cbc-md5 HOST/admin-pc@MARKET.LOCAL
2 aes128-cts-hmac-sha1-96 HOST/admin-pc@MARKET.LOCAL
2 aes256-cts-hmac-sha1-96 HOST/admin-pc@MARKET.LOCAL
2 arcfour-hmac-md5 HOST/admin-pc@MARKET.LOCAL
2 des-cbc-crc ADMIN-PC$@MARKET.LOCAL
2 des-cbc-md5 ADMIN-PC$@MARKET.LOCAL
2 des-cbc-crc host/admin-pc@MARKET.LOCAL
2 des-cbc-crc host/admin-pc.market.local@MARKET.LOCAL
2 des-cbc-md5 host/admin-pc@MARKET.LOCAL
2 des-cbc-md5 host/admin-pc.market.local@MARKET.LOCAL
2 aes128-cts-hmac-sha1-96 host/admin-pc@MARKET.LOCAL
2 aes128-cts-hmac-sha1-96 host/admin-pc.market.local@MARKET.LOCAL
2 aes256-cts-hmac-sha1-96 host/admin-pc.market.local@MARKET.LOCAL
2 arcfour-hmac-md5 host/admin-pc.market.local@MARKET.LOCAL
2 arcfour-hmac-md5 host/admin-pc@MARKET.LOCAL
2 aes256-cts-hmac-sha1-96 host/admin-pc@MARKET.LOCAL
2 aes128-cts-hmac-sha1-96 ADMIN-PC$@MARKET.LOCAL
2 arcfour-hmac-md5 ADMIN-PC$@MARKET.LOCAL
2 aes256-cts-hmac-sha1-96 ADMIN-PC$@MARKET.LOCAL
# groups MARKET\\vitto
MARKET\vitto : MARKET\пользователи_домена
MARKET\adm-ssh
MARKET\администраторы_домена
MARKET\пользователи_терминала_sever
MARKET\terminalusers
MARKET\администраторы_схемы
MARKET\администраторы_предприятия
MARKET\debugger_users
MARKET\группа_с_запрещением_репликации_паролей_rodc
BUILTIN\users
BUILTIN\administrators
# id MARKET\\vitto
uid=10005(MARKET\vitto)
gid=10001(MARKET\пользователи_домена)
группы=10001(MARKET\пользователи_домена),
10041(MARKET\adm-ssh),
10003(MARKET\администраторы_домена),
10035(MARKET\пользователи_терминала_sever),
10027(MARKET\terminalusers),
10010(MARKET\администраторы_схемы),
10008(MARKET\администраторы_предприятия),
10024(MARKET\debugger_users),
10030(MARKET\группа_с_запрещением_репликации_паролей_rodc),
10037(BUILTIN\users),
10036(BUILTIN\administrators)
# getent passwd
...
vitto:x:1000:1000:vitto,,,,:/home/vitto:/bin/bash
...
MARKET\vitto:*:10005:10003:%viewname%:/home/MARKET/vitto:/bin/bash
...
В принципе, если разрешить доступ всем, т.е. закомментить опцию AllowGroups, то я могу авторизоваться по паролю от имени доменных пользователей ssh MARKET\\vitto@admin-pc.market.local
Но через GSSAPI авторизация не проходит. Странность в том, что на локальной машине тоже есть пользователь vitto и если я зайду от пользователя MARKET\vitto на Win-машину, а с неё зайду по ssh через putty, используя GSSAPI, то меня авторизует как локального vitto, а не доменного! Если же я введу логин MARKET\vitto, то авторизация пойдет только по паролю (причем корректно, через PAM). На сколько я понял авторизоваться через GSSAPI можно только по обычному имени пользователя без префикса MARKET, но что делать, если например доменов несколько? Поэтому вопрос - как можно определить, что пользователь, авторизуемый через GSSAPI принадлежи именно к домену MARKET, а затем авторизовать его именно как MARKET\%username%?