Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Samba: acl, inherit permissions и наследование файлами execute bit  (Прочитано 1679 раз)

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

Оффлайн vkapas

  • Автор темы
  • Любитель
  • *
  • Сообщений: 89
    • Просмотр профиля
Необходимо, чтобы файлы в samba-шаре создавались с правами 660, включая acl, при установленных в yes inherit acls, inherit owner и inherit permissions, когда у родительской директории — 750. Это возможно?

map archive = no частично решает проблему — файлам устанавливаются 660, но acl при этом продолжают наследоваться от директории.

Вот так это сейчас выглядит (acl — это user:ipetrov:rwx и group:sambashare:r-x):
$ getfacl directory/
# file: directory/
# owner: user
# group: user
user::rwx
user:ipetrov:rwx
group::rwx
group:sambashare:r-x
mask::rwx
other::---

$ getfacl directory/file.txt
# file: directory/file.txt
# owner: user
# group: user
user::rw-
user:ipetrov:rwx
group::rw-
group:sambashare:r-x
mask::rwx
other::---

smb.conf:
[global]
  read raw = no
  workgroup = WORKGROUP
  netbios name = server
  server string = %h server (Samba, Ubuntu)
  wins support = yes
  name resolve order = wins lmhosts hosts bcast
  dns proxy = no
  log file = /var/log/samba/log.%m
  max log size = 1000
  panic action = /usr/share/samba/panic-action %d
  server role = standalone server
  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
  security = user
  map acl inherit = yes
[share]
   path = /home/user/share
   guest ok = no
   browseable = no
   writeable = yes
   map archive = no
   inherit acls = yes
   inherit owner = yes
   inherit permissions = yes
   hide unreadable = yes
   vfs objects = recycle full_audit
   recycle:repository = .recycle/%U
   recycle:directory_mode = 0770
   recycle:versions = Yes
   recycle:touch = yes
   recycle:maxsize = 1048576000
   recycle:exclude = ?~$*, ~$*, ~*, *.bak, *.iso, *.lnk, *.temp, *.tmp, *.TMP, *.vib, *.vb?
   recycle:exclude_dir = tmp,temp,cache
   full_audit:prefix = %u|%I|%m|%S
   full_audit:success = connect disconnect open mkdir rename link unlink rmdir pwrite
   full_audit:failure = none
   full_audit:facility = local7
   full_audit:priority = NOTICE
« Последнее редактирование: 01 Апрель 2017, 18:43:01 от vkapas »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27425
    • Просмотр профиля
Вы определитесь, вы через chmod или через setfacl рулите правами…
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн vkapas

  • Автор темы
  • Любитель
  • *
  • Сообщений: 89
    • Просмотр профиля
AnrDaemon, а разве они взаимоисключающие?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27425
    • Просмотр профиля
Можно сказать и так. Но скорее, они взаимомешающие.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн vkapas

  • Автор темы
  • Любитель
  • *
  • Сообщений: 89
    • Просмотр профиля
AnrDaemon, что вы понимаете под chmod в контексте конфига Самбы/поставленной задачи?
« Последнее редактирование: 02 Апрель 2017, 18:24:26 от vkapas »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27425
    • Просмотр профиля
Конфиг самбы к управлению правами не имеет отношения. С четвёртой версии.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн vkapas

  • Автор темы
  • Любитель
  • *
  • Сообщений: 89
    • Просмотр профиля
Странно. В мане почему-то написано другое.

       create mask (S)

           When a file is created, the necessary permissions are calculated according to the mapping from DOS modes to UNIX permissions, and the resulting UNIX mode is then bit-wise 'AND'ed with this
           parameter. This parameter may be thought of as a bit-wise MASK for the UNIX modes of a file. Any bit not set here will be removed from the modes set on a file when it is created.
           The default value of this parameter removes the group and other write and execute bits from the UNIX modes.
           Following this Samba will bit-wise 'OR' the UNIX mode created from this parameter with the value of the force create mode parameter which is set to 000 by default.
           This parameter does not affect directory masks. See the parameter directory mask for details.

           Default: create mask = 0744
           Example: create mask = 0775

       directory mask (S)

           This parameter is the octal modes which are used when converting DOS modes to UNIX modes when creating UNIX directories.
           When a directory is created, the necessary permissions are calculated according to the mapping from DOS modes to UNIX permissions, and the resulting UNIX mode is then bit-wise 'AND'ed with this
           parameter. This parameter may be thought of as a bit-wise MASK for the UNIX modes of a directory. Any bit not set here will be removed from the modes set on a directory when it is created.
           The default value of this parameter removes the 'group' and 'other' write bits from the UNIX mode, allowing only the user who owns the directory to modify it.
           Following this Samba will bit-wise 'OR' the UNIX mode created from this parameter with the value of the force directory mode parameter. This parameter is set to 000 by default (i.e. no extra mode
           bits are added).

           Default: directory mask = 0755
           Example: directory mask = 0775

$ samba --version
Version 4.3.11-Ubuntu

Если вы про umask, то с ним файлы вне самбы создаются с 664.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27425
    • Просмотр профиля
Да, я знаю, что написано в мане, спасибо.
А теперь прочитайте, что написано про управление правами на самба шаре.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн vkapas

  • Автор темы
  • Любитель
  • *
  • Сообщений: 89
    • Просмотр профиля
Спасибо за наводку, частично настраивал и по этому ману, но некоторые моменты упустил из виду.

ФС оказалось подходящей под требования из вики — ext4, смонтированная с defaults, права на тестовую директорию я поменял с 0770 на 2770. Но ситуация не поменялась.

Правда, настройки я сверял с этой инструкцией: https://wiki.samba.org/index.php/Setting_up_a_Share_Using_POSIX_ACLs, т.к. поддержка Windows ACLs мне не нужна — управление правами происходит из консоли Samba-сервера. (К тому же опция vfs objects = acl_xattr из гайда по Windows ACL отключает текущее работающее решение по наследованию прав; а нужна, судя по описанию, при управлении правами исключительно с win-хоста.)

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27425
    • Просмотр профиля
То, что вы хотите сделать (если я правильно понял), нельзя прямо сделать через POSIX ACL, только через виндовые.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн vkapas

  • Автор темы
  • Любитель
  • *
  • Сообщений: 89
    • Просмотр профиля
Цитировать
нельзя прямо сделать через POSIX ACL, только через виндовые.
Разве? В документации про это вроде ничего не сказано, нагуглить подтверждение тоже не удалось. Или по собственному опыту?

Если что, мне нужно, чтобы создаваемым юзерами файлам присваивались ACL-права 660, а не 770. Всего лишь.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27425
    • Просмотр профиля
Я первый вопрос не просто так задал.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

 

Страница сгенерирована за 0.426 секунд. Запросов: 24.