Pull to refresh

В тылу врага. Внедрение

Reading time 3 min
Views 4.5K
События происходят за садовым кольцом в стандартной фирме, использующей, в основном, решения от Microsoft, не выделяясь в этом плане на фоне остальных. С некоторых пор в фирме работает линуксоид, который терпеть не может работать в ОС Windows.

При всей нелюбви к юзабилити, предоставляемым продуктами небезызвестной корпорации, линуксоиду необходимо интегрироваться в сеть для осуществления деятельности, за которую он будет получать зарплату. В частности ему будет необходимо работать с почтой, обмениваться файлами через общие папки, открывать документы MS Office.



Kerberos


Так как сеть использует технологию Active Directory, то первым делом, после установки Linux на свою машину, следует поставить библиотеки и утилиты Kerberos — библиотеки скорее всего притянутся сами через зависимости.

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

Если вы не знакомы с Kerberos, то советую прочесть теоретические основы, это бывает полезно для понимания процесса и для отлова ошибок.

Мои примерные настройки /etc/krb5.conf:

[libdefaults]                            
        default_realm = DOMAIN.LOCAL        

# The following krb5.conf variables are only for MIT Kerberos.
        kdc_timesync = 1                                      
        ccache_type = 4                                       
        forwardable = true                                    
        proxiable = true                                      

[realms]
        DOMAIN.LOCAL = {
                kdc = 192.168.0.1
                kpasswd_server = 192.168.0.1
                default_domain = domain.local   
        }                                    

[domain_realm]
    domain.local=DOMAIN.LOCAL
    .domain.local=DOMAIN.LOCAL


Выполним kinit my_account_name, введем пароль и получим билет. Или не получим по одной из кучи причин, главная из которых разъехавшееся время. В случае необходимости ставим ntpd, для поддержания времени в актуальном состоянии, что рекомендуется.

Почтовый клиент


В качестве почтового клиента (MUA) я использую Kmail — поддерживает и NTLM и Kerberos (GSSAPI). Ответственно заявляю — GSSAPI + Exchange + Kmail работает. Использовать следует Kmail последней версии, ввиду серьезного прогресса в юзабилити, а также элементарной правки ошибок.

Вообще я использую весь Kontact, но полной интеграции с Exchange у него пока нет, и я рад, что в нашей фирме не пользуются возможностями Exchange не относящимися к почте. Впрочем команда KDE обещает решить этот вопрос и интегрироваться по полной.

С фронтов Gnome сообщают об Evolution, но, как я понял, в данном решении используется OWA, и вряд ли работает с Exchange 2007. Впрочем я уверен, что в комментариях будет более точная информация.

Офисный пакет.



Да, любой линуксоид знает, что OpenOffice.org не очень стабильная программа. С документами MS Office она чаще всего справляется, но это не гарантировано. Latex и сотоварищи конечно вне конкуренции, но обосновать это еще как то можно в научной среде, в офисе же придется надеяться, что OOo не подведет.

В особо клинических случаях существует возможность установить Ms Office под Wine/CrossOver. Я пока до клинической ситуации не дошел.

Samba, расшариваемся



Для создания собственной общей папки ставим Samba (для собирающих руками — включите поддержку AD).
И вот так выглядит /etc/samba/smb.conf, смесь настроек по умолчанию для дистрибутива и моих:

[global]                                                                         
   workgroup = DOMAIN
   server string = %h server (Linux)                                     
   dns proxy = no                                                                
realm = DOMAIN.LOCAL                                                                
security = ADS                                                                   
password server = 192.168.0.1
   log file = /var/log/samba/log.%m                                              
   max log size = 1000                                                           
   syslog = 0                                                                    
   panic action = /usr/share/samba/panic-action %d                               
   encrypt passwords = true                                                      
   passdb backend = tdbsam                                                       
   obey pam restrictions = yes                                                   
   unix password sync = yes                                                      
   passwd program = /usr/bin/passwd %u                                           
   passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
   pam password change = yes                                                                                         
map to guest = bad user                                                                                              
   idmap uid = 10000-20000
   idmap gid = 10000-20000
   template shell = /bin/nologin
   winbind enum groups = yes
   winbind enum users = yesХодим по общим папкам
   winbind nested groups = Yes
   usershare allow guests = yes
[share]
   path = /home/deepwalker/share
   guest ok = no
   browseable = yes
   writable = yes
   create mask = 0666
   directory mask = 0777
[printers]
   comment = All Printers
   browseable = no
   path = /var/spool/samba
   printable = yes
   guest ok = no
   read only = yes
   create mask = 0700
[print$]
   comment = Printer Drivers
   path = /var/lib/samba/printers
   browseable = yes
   read only = yes
   guest ok = no


Также не забываем включить winbind в /etc/nsswitch.conf:

passwd:         compat winbind
group:          compat winbind
...


Winbind нам нужен для авторизации пользователей — можно выставлять доступ к общим папкам отдельным пользователям.

Ходим по общим папкам


С билетом Kerberos на руках особой сложности это не представляет. Есть два пути, которые я опробовал — fusesmb и встроенные возможности KDE. Fusesmb позволяет работать с файлами «на месте» не только приложениями KDE/Gnome, но и любым другим. Встроенные возможности KDE, с другой стороны, предоставляют простой способ быстренько осмотреться и скачать необходимое для дальнейшей работы.

Существует еще mount.cifs, но я так и не сумел заставить его работать с Kerberos. Но по сути моя тяга к Kerberos не всегда и не везде оправдана, так что возможно кому то подойдет этот вариант.

На этом все. Если линуксоиду не хватает чего либо еще — пишите в комментариях, решим миром/хабром.
Tags:
Hubs:
+72
Comments 65
Comments Comments 65

Articles