LINUX.ORG.RU

На Ubuntu 18.04 не сохраняются назначаемые права

 ,


0

1

Сегодня я был озадачен. В этом году переносил файлообменник на Ubuntu. Файловая секция на самбе Version 4.7.6-Ubuntu. Вроде бы все почти все перенеслось вместе с правами корректно с архивной копии, но некоторые пришлось поправить. Правлю права на вложенную директорию - винда не видит изменений, доступа не дает. Хотя у меня на убунте все права отображаются верные. Ладно, попробую перезагрузить обменник, ведь для применения прав бывает, что требуется переподключение к шарам (systemctl restart smbd.service результата не дает, хотя как вариант smbd close-share попробовать), НО после перезагрузки вижу, что назначенные права слетели, и там root:root или старая группа-владелец.

Откуда такое хулиганство, у кого-нибудь встречалось? Неужто требуется какое действо еще типа sync ?


Ответ на: комментарий от VKraft

Конфиг самбы нужен? Да там все банально [global]

log file = /var/log/samba/%m

load printers = no

smb ports = 137 138 139 445

interfaces = lo enp3s0

available = no

wins support = true
netbios name = nas11
vfs objects = full_audit recycle
browseable = no
passdb backend = tdbsam:/var/lib/samba/private/passdb.tdb
lanman auth = yes
ntlm auth = yes
full_audit:prefix = %u|%I
full_audit:success = connect, opendir, open, mkdir, rmdir, unlink, write, rename 
full_audit:failure = connect, opendir, open, mkdir, rmdir, unlink, write, rename
full_audit:facility = local5
full_audit:priority = notice
server string = NASserver
default = obmen
workgroup = workgroup
os level = 20
syslog = 7
syslog only = yes
security = user
max log size = 50
bind interfaces only = Yes
log level = 1 vfs:1
recycle:exclude = *.tmp | ~$* | *.TMP
recycle:versions = Yes
recycle:touch_mtime
time server = yes

[fileobmen]

browseable = yes

writeable = yes

recycle: versions = Yes

recycle: keeptree = Yes

path = /data_part/fileobmen

recycle: directory_mode = 0777

recycle:repository = /data_part/recycle

force directory mode = 0775

force create mode = 0775

comment = fileobmennik

public = yes

available = yes

valid users = @"**common group**"

write list = @"**common group**"
DrBim
() автор топика
Последнее исправление: DrBim (всего исправлений: 1)

Читай про использование acl в samba, поддержка acl так же должна быть включена и на файловой системе.

# Global parameters
[global]
        realm = LAN.DOMAIN.RU
        workgroup = LAN
        domain master = No
        local master = No
        os level = 0
        preferred master = No
        log file = /var/log/samba/log.%m
        max log size = 1000
        syslog = 0
        panic action = /usr/share/samba/panic-action %d
        usershare allow guests = Yes
        unix extensions = No
        guest account = smbguest@file-server
        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
        security = ADS
        server role = member server
        unix password sync = Yes
        idmap gid = 10000-400000
        idmap uid = 10000-400000
        template shell = /bin/bash
        winbind enum groups = Yes
        winbind enum users = Yes
        dns proxy = No
        full_audit:priority = notice
        full_audit:facility = local5
        full_audit:success = connect disconnect mkdir rmdir read pread write pwrite sendfile rename unlink chmod
        full_audit:failure = connect
        full_audit:prefix = %u|%I|%S
        idmap config lan : range = 10000-89999
        idmap config lan : default = yes
        idmap config lan : backend = rid
        idmap config * : range = 100000-400000
        idmap config * : backend = autorid
        store dos attributes = Yes
        map acl inherit = Yes
        admin users = "@LAN.DOMAIN.RU\Администраторы домена"
        allocation roundup size = 4096
        vfs objects = acl_xattr


[Отделы]
        path = "/var/shares/Отделы"
        hide unreadable = Yes
        wide links = Yes
        create mask = 0775
        guest ok = Yes
        inherit acls = Yes
        inherit permissions = Yes
        read only = No
		
		
getfacl /var/shares/Отделы
getfacl: Removing leading '/' from absolute path names
# file: /var/shares/Отделы
# owner: root
# group: root
user::rwx
user:root:rwx
user:LAN\134отпп:rwx
user:LAN\134отдел\040технической\040поддержки\040пользователей:rwx
group::r-x
group:root:r-x
group:LAN\134отпп:rwx
group:LAN\134отдел\040технической\040поддержки\040пользователей:rwx
mask::rwx
other::---
default:user::rwx
default:user:root:rwx
default:user:LAN\134отпп:rwx
default:user:LAN\134отдел\040технической\040поддержки\040пользователей:rwx
default:group::rwx
default:group:root:rwx
default:group:LAN\134отпп:rwx
default:group:LAN\134отдел\040технической\040поддержки\040пользователей:rwx
default:mask::rwx
default:other::---

Здесь пример для члена домена, но аналогично настраивается и на бездоменной конфигурации.

infomeh ★★
()
Ответ на: комментарий от infomeh

Ну, чтоб ACL прикрутить, следующий этап. Сначала я все обкатываю на тестовом «сервере». Дело будущего. Просто я прям обескуражен таким поведением файловой системы. Ты правишь, у тебя всегда все применялось, а тут вдруг ты правишь, правишь, а изменения словно на каком-то рам-диске остаются. У меня такое же ощущение было, когда программа выполнялась в песочнице.

DrBim
() автор топика
Ответ на: комментарий от DrBim

у тебя виндовые ACL хранятся в tdb и при переносе файлА в другое место всё пропадает. man nfsv4 to posix acl mapping и как самба это всё делает. во freebsd можно настроить чтобы оно хранило доступы прямо в фс т.к. на фряшке поддержка nfsv4acl есть прямо в ядре на уровне VFS и при соотв. настройке и исп zfs всё кашерно.

VKraft ★★
()
Ответ на: комментарий от infomeh

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

xattr что-ли? Вроде это один из бекэндов хранения прав что-ли?

VKraft ★★
()
Ответ на: комментарий от VKraft

«у тебя виндовые ACL хранятся в tdb и при переносе файлА в другое место всё пропадает. man nfsv4 to posix acl mapping и как самба это всё делает.»

Проблема в том, что это в «корневые» для самбы директории, на правку которых ни у какого пользователя из венды нет. Права назначались из шелл и «пропали» там же после перезагрузки.

DrBim
() автор топика

винда не видит изменений

support.microsoft.com

anonymous
()
Ответ на: комментарий от VKraft

Права я назначаю из консоли ssh, chmod g+w , etc Всегда применялись. Интересно, может, вот что. Я ведь восстанавливал из архива (без сжатия), архив делался rsync-ом, а в архиве эти директории почему-то оказались с нарушенными правами. Т.е. те же «корневые» директории имели root:root. После восстановления на новый ресурс права и владельцев в новом хранилище поправил. Потом было обновление пакетов в системе, пережил перезагрузку, все ок. Потом снова решил сменить группу-владельца на одну из вложенных директорий. Но тут вдруг… эта вот история началась.

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

DrBim
() автор топика
Ответ на: комментарий от DrBim

Обычно архив делается tar т.к. он сохраняет права. По всей видимости тебе всё-же придётся разобрать свою ситуацию. Важно чтобы пользователи (если нет домена) на раб станциях и сервере были засинхронизированы по именам и соотв. парОлям. Ну и соотв пользователи системы сервера имели доступ к ресурсу будь это posix ACL или стандартная для UNIX модель «тройки»..

VKraft ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.