Главная > IT > Ubuntu File-server

Ubuntu File-server

Ершов Илья
Файловый сервер на Ubuntu Server 8.04 с доменной авторизацией (Samba+AD)
12 февраля 2010

Будем создавать файловый сервер на Ubuntu 8.04. Для авторизации будем использовать Active Directory. Для управления разрешениями будут использоваться виндовые «галочки».

Ставим необходимые пакеты:

apt-get install samba winbind krb5-user acl

В ходе установки указываем IP-адрес основного контроллера домена и DNS-имя домена (например, MYDOMAIN.ORG).
Настройку начнем с редактирования параметров Kerberos. Для этого отредактируем файл /etc/krb5.conf. Раскомментировать следующие строки:

default_tgs_enctypes = aes256-cts arcfour-hmac-md5 des3-hmac-sha1 des-cbc-crc des-cbc-md5
default_tkt_enctypes = aes256-cts arcfour-hmac-md5 des3-hmac-sha1 des-cbc-crc des-cbc-md5

А также проверить, что следующие строчки соответствуют вашему домену (регистр имеет значение):

[realms]
MYDOMAIN.ORG = {
kdc = PDC_IP_Address
admin_server = PDC_IP_Address
}
[domain_realm]
.mydomain.org = MYDOMAIN.ORG
mydomain.org = MYDOMAIN.ORG

Переходим к настройке SAMBA. В файле /etc/samba/smb.conf должны присутствовать следующие строки:

workgroup = MYDOMAIN
netbios name = YOUR_SERVER_NAME
realm = MYDOMAIN.ORG
password server = PDC_IP_Address
template homedir = /home/%D/%U
security = ads
idmap uid = 10000-20000
idmap gid = 10000-20000
winbind enum groups = no
winbind enum users = no
winbind use default domain = yes
domain master = no

Создадим директорию для пользователей:

mkdir –p /home/MYDOMAIN

Отредактируйте файл /etc/nsswitch.conf следующим образом:

passwd: compat winbind
group: compat winbind
shadow: compat
hosts: files dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis

Файл /etc/pam.d/common-account должен содержать только следующие строки:

account sufficient pam_winbind.so
account required pam_unix.so

Файл /etc/pam.d/common-auth должен содержать следующие строки:

auth sufficient pam_winbind.so
auth required pam_unix.so nullok_secure use_first_pass

Добавьте следующую строку в файл /etc/pam.d/common-password:

password required pam_unix.so nullok obscure min=4 max=50 md5

Добавьте в файл /etc/pam.d/common-session следующую строчку:

session required pam_mkhomedir.so umask=0022 skel=/etc/skel

Получаем ticket Kerberos:

kinit domain_user@MYDOMAIN.ORG

Вводим машину в домен:

net ads join –U domain_user@MYDOMAIN.ORG

Перезапускаем службы samba и winbind:

/etc/init.d/winbind stop && /etc/init.d/samba restart && /etc/init.d/winbind start

Проверяем, что winbind видит доменных пользователей:

wbinfo –u

И группы:

wbinfo –g

Теперь создадим шару и назначим на нее права. Для этого создадим три доменные группы:
Samba_Read – группа пользователей, которым разрешено чтение из общей папки;
Samba_Write – группа пользователей, которым разрешена запись в общую папку;
Samba_Admins – группа пользователей, которые могу устанавливать права внутри общих папок.
Создадим общую папку через файл /etc/samba/smb.conf

[Share]
path = /usr/shares/Share
comment = Test Shared Folder With AD Auth
read list = "@MYDOMAIN\Samba_Read"
write list = "@MYDOMAIN\Samba_Write"
admin users = "@MYDOMAIN\Samba_Admins"
read only = no
create mask = 0660
directory mask = 0770
inherit owner = yes
inherit acls = yes
inherit permissions = yes
map acl inherit = yes
locking = no

Осталось только создать расшариваемую папку в системе:

mkdir –p /usr/shares/Share

И установить поддержку расширенных списков доступа файловой системы. Для этого необходимо отредактировать файл /etc/fstab и добавить «acl» в область «options» того раздела, на котором расположена общая папка.
Перезагружаемся и пробуем шару. Члены групп Samba_Admins могут устанавливать права, используя виндовые разрешения на закладке Security.

Источники:
1. Samba & ACL
2. Ubuntu & Win2k3 Domain
3. Ubuntu & ACL

Реклама
Метки: , ,
  1. Антон
    08.06.2010 в 20:20

    Спасибо,статья помогла.Пробовал различные конфигурации и не понял для чего используется керберос,если все работает и без него + не понятно для чего меняли файлы в /etc/pam.d/*
    Поднимал все и на ubuntu-server 9.10 и на debian lenny.Пашет без всего вышеперечисленного!

  2. Антон
    09.06.2010 в 10:24

    winbind разве не для этого нужен был?
    Попробуйте wbinfo -a user%password и увидите что именно винбинд и авторизовывает пользователей.
    Еще раз повторюсь,не ставил керберос,не правил файлы pam.d и пользователи автоматически авторизовываются и работают на шаре.
    подозреваю что это нужно было скорее не для работы с шарой,а для того чтобы можно было на серваке логиниться учетками из AD.Может я и не прав

  3. Ozzy
    10.06.2010 в 15:03

    winbindd как раз и использует kerberos

    http://smb-conf.ru/winbindd.html

  4. Михаил
    15.06.2012 в 12:16

    Автор!
    Если ты еще заходишь на свой блог — помоги.
    Сделал все по твоей инструкции. Кроме одного. Поставил Ubuntu Server 12.04.
    Все проверки проходят нормально но вот из сети войти в Share не получается.
    А из консоли доменная авторизация на ура проходит. В чем может быть затык?

  1. No trackbacks yet.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: