доступ к папке linux в домене windows 2003

Автор gotovtsev, 04 июня 2020, 06:39:50

« назад - далее »

0 Пользователи и 4 гостей просматривают эту тему.

gotovtsev

Товарищи!

Помогите разобраться!  :)

Есть необходимость использования пк с astralinux в качестве файлового сервера в домене windows 2003.

Имеется astralinux орёл 2.12. Установлена samba, компьютер введён в состав домена AD, на компе открыт общий доступ к папке. Пытаюсь настроить всё таким образом, чтобы доступ к этой папке был только у группы astralinux, входящей в состав домена AD.

Захожу с windows-компьютера по сети на комп с linux, вижу расшаренную папку, но не могу попасть в неё  :(

Если в smb.conf убираю параметры
    valid users = @WORKGROUP\astralinux
    write list = @WORKGROUP\astralinux
то в папку зайти можно, но кому угодно из домена (а не только из нужной группы).

файл smb.conf:

#astra-winbind
[global]
    server string = Astra linux
    interfaces = eth0
    usershare allow guests = Yes
    map to guest = Bad User
    obey pam restrictions = Yes
    pam password change = Yes
    passdb backend = tdbsam
    passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
    passwd program = /usr/bin/passwd %u
    server role = standalone server
    unix password sync = Yes

    workgroup = REGISTRYOFFICE
    realm = REGISTRYOFFICE
    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 = no
    show add printer wizard = no
    printcap name = /dev/null
    disable spoolss = yes
    idmap config * : range = 3000-7999
    idmap config * : backend = tdb
    idmap config REGISTRYOFFICE : range = 10000-299999
    idmap config REGISTRYOFFICE : backend = rid
    winbind nss info = rfc2307
    winbind enum groups = yes
    winbind enum users = yes
    winbind use default domain = yes
    template homedir = /home/%D/%U
    template shell = /bin/bash
    winbind refresh tickets = yes
    winbind offline logon = yes
    winbind cache time = 1440
    password server server
    winbind refresh tickets = true
    unix charset = UTF8
    dos charset = CP866

#[homes]
#    comment = Home Directories
#    browseable = No
#    create mask = 0700
#    directory mask = 0700
#    valid users = %S

[printers]
    comment = All Printers
    path = /var/spool/samba
    browseable = No
    printable = Yes
    create mask = 0700

[print$]
    comment = Printer Drivers
    path = /var/lib/samba/printers

[backup]
    browseable = yes
    inherit acls = yes
    inherit owner = yes
    inherit permissions = yes
    map acl inherit = yes
    nt acl support = yes
 
    path = /mnt/backup/share
    valid users = @WORKGROUP\astralinux
    write list = @WORKGROUP\astralinux
    read only = No
    create mask = 0777
    directory mask = 0777


файл nsswitch.conf:

# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.

passwd: compat winbind
group: compat winbind
shadow: compat winbind

hosts: files dns wins
networks: files dns

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       files

gardarea51

В самой самбе юзеры из данной группы добавлены?
Хотя я могу спросить глупость, вы же ввели самбу в домен.

gotovtsev

Цитата: gardarea51 от 04 июня 2020, 07:49:03
В самой самбе юзеры из данной группы добавлены?
Хотя я могу спросить глупость, вы же ввели самбу в домен.

Не совсем понял вопрос. Поясните - как проверить? :)


gardarea51

Цитата: gotovtsev от 04 июня 2020, 08:06:09
Не совсем понял вопрос. Поясните - как проверить?
Я к тому что в классическом варианте без домена для самбы нужно заводить пользователей.
Эти пользователи также являются linux-пользователями. Как-то так:

/usr/sbin/useradd -s /bin/false -M -N -g sambausers username
smbpasswd -a username


А пишу, что могу ошибаться, т.к. по логике после введения самбы в домен она должна уже "знать" пользователей домена.
Вот тут без доменов, но м.б. найдете что-нибудь полезное:
https://debianforum.ru/index.php/topic,8008.msg64660.html

gardarea51

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

gotovtsev

Цитата: endru от 04 июня 2020, 08:39:01
Инструкция актуальна и по сей день.

Благодарю за информацию. Данную инструкцию видел и несколько ещё подобных. В целом всё вроде так и делаю.
Ни на какие проверки система не ругается, керберос работает и т.д.
Но почему-то не получается ограничить доступ к папке именно для определенного круга лиц... :(

Цитата: gardarea51 от 04 июня 2020, 09:08:04По ссылке мной же достаточно подробно описан момент с добавлением пользователей,
думаю после прочтения все станет прозрачнее.

Спасибо! В astralinux есть даже графический интерфейс для управления самбой (в том числе позволяет и создавать пользователей), но тут загвоздка именно в том, что по-идее никаких пользователей самбы создавать не нужно, она должна и так пускать пользователей домена.. Может быть я как-то не совсем корректно прописываю это в smb.conf или где-то не "подхватываются" пароли? 

endru

есть универсальная команда:
id имя_пользователя
она должна возвращать uid и gid пользователя.
если этого не происходит - значит что-то где-то не так!

gotovtsev

Цитата: endru от 04 июня 2020, 11:14:00
есть универсальная команда:
id имя_пользователя
она должна возвращать uid и gid пользователя.
если этого не происходит - значит что-то где-то не так!

Вчера совсем "поломал" линукс, что-то намудрил и система перестала пускать меня даже под локальным админом  ???
Займусь переустановкой и попробую всё заново...

gotovtsev

Цитата: endru от 04 июня 2020, 11:14:00
есть универсальная команда:
id имя_пользователя
она должна возвращать uid и gid пользователя.
если этого не происходит - значит что-то где-то не так!

Переустановил систему. Снова произведен ввод в домен, установлена самба. Команда id выполняется корректно

Пример команды относительно доменного пользователя administrat2:


administrat@astra:~$ id administrat2
uid=11351(administrat2) gid=10513(пользователи домена) группы=10513(пользователи домена),11351(administrat2),11336(server $ acronis remote users),10512(администраторы домена),11350(astralinux),11334(oblarchive),3001(BUILTIN\users),3000(BUILTIN\administrators)


Тем не менее, желаемого результата (доступ к расшаренной папке определенной группе пользователей домена) достичь пока не удалось.

Файл smb.conf:


#astra-winbind
[global]
    server string = Astra linux
    usershare allow guests = Yes
    map to guest = Bad User
    obey pam restrictions = Yes
    pam password change = Yes
    passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
    passwd program = /usr/bin/passwd %u
    server role = standalone server
    unix password sync = Yes

    workgroup = REGISTRYOFFICE
    realm = REGISTRYOFFICE
    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 = no
    show add printer wizard = no
    printcap name = /dev/null
    disable spoolss = yes
    idmap config * : range = 3000-7999
    idmap config * : backend = tdb
    idmap config REGISTRYOFFICE : range = 10000-299999
    idmap config REGISTRYOFFICE : backend = rid
    winbind nss info = rfc2307
    winbind enum groups = yes
    winbind enum users = yes
    winbind use default domain = yes
    template homedir = /home/%D/%U
    template shell = /bin/bash
    winbind refresh tickets = yes
    winbind offline logon = yes
    winbind cache time = 1440
    password server server
    winbind refresh tickets = true
    unix charset = UTF8
    dos charset = CP866

#[homes]
#    comment = Home Directories
#    browseable = No
#    create mask = 0700
#    directory mask = 0700
#    valid users = %S

[share]
    path = /mnt/backup/share
    valid users = @WORKGROUP\astralinux
    write list = @WORKGROUP\astralinux
    read only = No
    create mask = 0777
    directory mask = 0777

[printers]
    comment = All Printers
    path = /var/spool/samba
    browseable = No
    printable = Yes
    create mask = 0700

[print$]
    comment = Printer Drivers
    path = /var/lib/samba/printers



Если в smb.conf убираю параметры
    valid users = @WORKGROUP\astralinux
    write list = @WORKGROUP\astralinux
то в папку зайти можно, но кому угодно из домена (а не только из нужной группы).



Может как-то иначе нужно указывать эти ограничения? Или в каком-то еще конфигурационном файле чего-либо не хватает?  ???

endru

и что такое @WORKGROUP\astralinux ?
когда будет понимание этой записи и что откуда берется - получится решить проблему.

gotovtsev

#11
Цитата: endru от 10 июня 2020, 05:48:30
и что такое @WORKGROUP\astralinux ?
когда будет понимание этой записи и что откуда берется - получится решить проблему.

:) Да, тут я уже совсем запутался. Пробовал туда разные значения прописывать (например @REGISTRYOFFICE\astralinux - группа из моего домена), но пока так ничего и не получилось...

Как один из мануалов для настройки использовал:
https://www.sysadminwiki.ru/wiki/Linux_%d0%b2_%d0%b4%d0%be%d0%bc%d0%b5%d0%bd%d0%b5_Active_Directory

gardarea51

Я так понимаю заместо @WORKGROUP должно быть наименование домена (возможно без @).

gotovtsev

Цитата: gardarea51 от 10 июня 2020, 06:18:16
Я так понимаю заместо @WORKGROUP должно быть наименование домена (возможно без @).

Да, вы правы. В общем после различных манипуляций с конфигурационными файлами похоже что всё заработало примерно так, как на данном этапе требуется.
Комп с астралинукс входит в состав домена windows 2003, на компе открыт доступ к двум папкам, одна из них открыта для всех, другая для определенной
группы из домена.


В качестве полезных ссылок для настройки могу сообщить такие:

https://wiki.astralinux.ru/display/doc/Samba
https://wiki.astralinux.ru/pages/viewpage.action?pageId=27361515
https://www.sysadminwiki.ru/wiki/Linux_%d0%b2_%d0%b4%d0%be%d0%bc%d0%b5%d0%bd%d0%b5_Active_Directory
https://help.ubuntu.ru/wiki/%D0%B2%D0%B2%D0%BE%D0%B4_%D0%B2_%D0%B4%D0%BE%D0%BC%D0%B5%D0%BD_windows

Мои рабочие конфиги для примера:

файл smb.conf:

#astra-winbind
[global]
    server string = Astra linux
    usershare allow guests = Yes
    map to guest = Bad User
    obey pam restrictions = Yes
    pam password change = Yes
    passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
    passwd program = /usr/bin/passwd %u
    server role = standalone server
    unix password sync = Yes

    workgroup = REGISTRYOFFICE
    realm = REGISTRYOFFICE
    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 = no
    show add printer wizard = no
    printcap name = /dev/null
    disable spoolss = yes
    idmap config * : range = 3000-7999
    idmap config * : backend = tdb
    idmap config REGISTRYOFFICE : range = 10000-299999
    idmap config REGISTRYOFFICE : backend = rid
    winbind nss info = rfc2307
    winbind enum groups = yes
    winbind enum users = yes
    winbind use default domain = yes
    template homedir = /home/%D/%U
    template shell = /bin/bash
    winbind refresh tickets = yes
    winbind offline logon = yes
    winbind cache time = 1440
    password server server
    winbind refresh tickets = true
    unix charset = UTF8
    dos charset = CP866

#[homes]
#    comment = Home Directories
#    browseable = No
#    create mask = 0700
#    directory mask = 0700
#    valid users = %S

[backup]
    path = /mnt/backup/backup
    valid users = @REGISTRYOFFICE\astralinux
    write list = @REGISTRYOFFICE\astralinux
    read only = No
    create mask = 0777
    directory mask = 0777
   
[share]
    path = /mnt/backup/share
    read only = No
    create mask = 0777
    directory mask = 0777

[printers]
    comment = All Printers
    path = /var/spool/samba
    browseable = No
    printable = Yes
    create mask = 0700

[print$]
    comment = Printer Drivers
    path = /var/lib/samba/printers


файл nsswitch.conf:

# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.

passwd: compat winbind
group: compat winbind
shadow:         compat

#hosts: files dns
hosts: dns mdns4_minimal[NotFoud=return] mdns4 files
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis


файл krb5.conf:

#astra-winbind
[libdefaults]
    default_realm = REGISTRYOFFICE
    kdc_timesync = 1
    ccache_type = 4
    forwardable = true
    proxiable = true
    fcc-mit-ticketflags = true
    dns_lookup_realm = false
    dns_lookup_kdc = true
    v4_instance_resolve = false
    v4_name_convert = {
        host = {
            rcmd = host
            ftp = ftp
        }
        plain = {
            something = something-else
        }
    }

default_tgs_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 RC4-HMAC DES-CBC-CRC DES3-CBC-SHA1 DES-CBC-MD5
default_tkt_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 RC4-HMAC DES-CBC-CRC DES3-CBC-SHA1 DES-CBC-MD5
preferred_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 RC4-HMAC DES-CBC-CRC DES3-CBC-SHA1 DES-CBC-MD5   
   
[realms]
    REGISTRYOFFICE = {
    admin_server = SERVER.REGISTRYOFFICE
    default_domain = REGISTRYOFFICE
    }

[domain_realm]
    .registryoffice = REGISTRYOFFICE
    registryoffice = REGISTRYOFFICE
[login]
    krb4_convert = false
    krb4_get_tickets = false