<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>44379</bug_id>
          
          <creation_ts>2022-11-21 14:03:04 +0300</creation_ts>
          <short_desc>Нет совместимости с installer-feature-samba-usershares</short_desc>
          <delta_ts>2022-12-27 15:00:58 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>samba-usershares</component>
          <version>unstable</version>
          <rep_platform>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugzilla.altlinux.org/show_bug.cgi?id=44144</see_also>
    
    <see_also>https://bugzilla.altlinux.org/show_bug.cgi?id=44602</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sergey V Turchin">zerg</reporter>
          <assigned_to name="Evgeny Sinelnikov">sin</assigned_to>
          <cc>aen</cc>
    
    <cc>antohami</cc>
    
    <cc>sem</cc>
    
    <cc>sin</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>217716</commentid>
    <comment_count>0</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2022-11-21 14:03:04 +0300</bug_when>
    <thetext>https://bugzilla.altlinux.org/show_bug.cgi?id=44144#c8
Предлагаю свести к минимуму разнобой с пакетом installer-feature-samba-usershares, т.к. он давно используется в дистрибутивах.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218095</commentid>
    <comment_count>1</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2022-11-29 14:24:51 +0300</bug_when>
    <thetext>Ку-ку!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218124</commentid>
    <comment_count>2</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2022-11-30 01:08:01 +0300</bug_when>
    <thetext>samba-4.16.7-alt2 -&gt; sisyphus:

 Tue Nov 29 2022 Evgeny Sinelnikov &lt;sin@altlinux&gt; 4.16.7-alt2
 - Add role-usershares control allow or disallow for group users using of
   samba usershares as privilege.
 - Add compatibility support for sambashare group as common privilege assigned
   to usershares group (Closes: #44379).
 Tue Nov 22 2022 Evgeny Sinelnikov &lt;sin@altlinux&gt; 4.16.7-alt1
 - Update to maintenance release of Samba 4.16 (Samba#15203)
 - Security fixes:
   + CVE-2022-42898: Samba&apos;s Kerberos libraries and AD DC failed to guard against
                     integer overflows when parsing a PAC on a 32-bit system, which
                     allowed an attacker with a forged PAC to corrupt the heap.
                     https://www.samba.org/samba/security/CVE-2022-42898.html
     Workaround and mitigations:
     * No workaround on 32-bit systems as an AD DC
     * file servers are only impacted if in a non-AD domain
     * 64-bit systems are not exploitable</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218139</commentid>
    <comment_count>3</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2022-11-30 10:58:47 +0300</bug_when>
    <thetext>Спасибо!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218181</commentid>
    <comment_count>4</comment_count>
    <who name="Mikhail Efremov">sem</who>
    <bug_when>2022-11-30 18:49:55 +0300</bug_when>
    <thetext>Вот только это не работает, если пользователя нет в группе users. А в SL он туда не включается, там за основу брался список default_groups из alterator-users, в котором users нет. В alterator-users в users должен добавлять вот этот коммит:
https://git.altlinux.org/gears/a/alterator-users.git?p=alterator-users.git;a=commitdiff;h=edcb7b3c058b0a151252280c7bb812087e5c7731
но он, к счастью, не работает (иначе ломалось бы назначение произвольного списка групп по умолчанию для пользователя в дистрибутиве, на что рассчитывают скрипты в installer-distro-*).
А не работает коммит из-за этого:
https://bugzilla.altlinux.org/44505</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218207</commentid>
    <comment_count>5</comment_count>
    <who name="Mikhail Efremov">sem</who>
    <bug_when>2022-12-01 09:50:00 +0300</bug_when>
    <thetext>Предлагаю делать наоборот: при наличии группы sambashare добавлять в нее группу usershare.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218545</commentid>
    <comment_count>6</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2022-12-07 19:35:20 +0300</bug_when>
    <thetext>samba-4.16.7-alt2 -&gt; p10:

 Tue Nov 29 2022 Evgeny Sinelnikov &lt;sin@altlinux&gt; 4.16.7-alt2
 - Add role-usershares control allow or disallow for group users using of
   samba usershares as privilege.
 - Add compatibility support for sambashare group as common privilege assigned
   to usershares group (Closes: #44379).
 Tue Nov 22 2022 Evgeny Sinelnikov &lt;sin@altlinux&gt; 4.16.7-alt1
 - Update to maintenance release of Samba 4.16 (Samba#15203)
 - Security fixes:
   + CVE-2022-42898: Samba&apos;s Kerberos libraries and AD DC failed to guard against
                     integer overflows when parsing a PAC on a 32-bit system, which
                     allowed an attacker with a forged PAC to corrupt the heap.
                     https://www.samba.org/samba/security/CVE-2022-42898.html
     Workaround and mitigations:
     * No workaround on 32-bit systems as an AD DC
     * file servers are only impacted if in a non-AD domain
     * 64-bit systems are not exploitable</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218549</commentid>
    <comment_count>7</comment_count>
    <who name="Mikhail Efremov">sem</who>
    <bug_when>2022-12-07 21:44:02 +0300</bug_when>
    <thetext>Таки нет, не fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218553</commentid>
    <comment_count>8</comment_count>
    <who name="Evgeny Sinelnikov">sin</who>
    <bug_when>2022-12-08 09:11:05 +0300</bug_when>
    <thetext>Вот такой control:

$ sudo control role-sambashare
disabled

$ sudo control role-sambashare help
enabled: Role group &quot;sambashare&quot; given privilege group &quot;usershares&quot;
disabled: Privilege group &quot;sambashare&quot; assigned to role group &quot;usershares&quot;
default: Group &quot;sambashare&quot; not used as role or privilege

$ cat /etc/role.d/samba-usershares.role
usershares: sambashare
users: usershares

$ sudo control role-sambashare enabled

$ cat /etc/role.d/samba-usershares.role
sambashare: usershares
users: usershares

совместно с вот таким триггером:

# Enable sambashare group as role with usershares priviledge for compatility
# during upgrade from previous manual managed installations.
%triggerin -n %name-usershares -- %name &lt; 4.16.7-alt1
control role-sambashare enabled

должны решить проблему при обновлении:

#311076 BUILDING #2 [locked] [test-only] p10 samba.git=4.16.7-alt4
#311075 BUILDING #2 [locked] [test-only] sisyphus samba.git=4.16.7-alt4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218556</commentid>
    <comment_count>9</comment_count>
    <who name="Mikhail Efremov">sem</who>
    <bug_when>2022-12-08 11:06:03 +0300</bug_when>
    <thetext>(In reply to Evgeny Sinelnikov from comment #8)
&gt; совместно с вот таким триггером:
&gt; 
&gt; # Enable sambashare group as role with usershares priviledge for compatility
&gt; # during upgrade from previous manual managed installations.
&gt; %triggerin -n %name-usershares -- %name &lt; 4.16.7-alt1
&gt; control role-sambashare enabled
&gt; 
&gt; должны решить проблему при обновлении:

Но этот триггер будет работать только для тех, кто уже поставил пакет samba-usershares и поимел проблему. Установка же этого пакета все также будет ее создавать, т.к. control role-sambashare будет disabled я так пониимаю.
Вообще же это все жуткий оверхед, нафига такие навороты с аж целым control?
Группы sambashare больше никогда не будет, я переделаю installer-feature-samba-usershares, это только для уже существующих установок.
Можно же просто в %post написать что-то типа

if getent group sambashare &gt;/dev/null 2&gt;&amp;1 &amp;&amp; [ ! -f /etc/role.d/sambashare.role ]; then
    echo &quot;sambashare: usershares&quot; &gt;/etc/role.d/sambashare.role
fi

И все, не надо никакого control, он совершенно бессмысленен.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218557</commentid>
    <comment_count>10</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2022-12-08 11:24:21 +0300</bug_when>
    <thetext>(In reply to Evgeny Sinelnikov from comment #8)
&gt; enabled: Role group &quot;sambashare&quot; given privilege group &quot;usershares&quot;
&gt; disabled: Privilege group &quot;sambashare&quot; assigned to role group &quot;usershares&quot;
С точки зрения пользователя:
С первого взгляда кажется, что это одно и то же.
С второго кажется, что ничего не понятно.
Полагаю, надо как-то ближе к цели описать, а то похоже на перевод в bash на английский.
Например:
enabled: Allow &lt;подставить нужное&gt;
disabled: Disallow &lt;подставить нужное&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218558</commentid>
    <comment_count>11</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2022-12-08 11:26:30 +0300</bug_when>
    <thetext>(In reply to Mikhail Efremov from comment #9)
&gt; Можно же просто в %post написать
Для изменения настройки переустанавливать пакет?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218559</commentid>
    <comment_count>12</comment_count>
    <who name="Evgeny Sinelnikov">sin</who>
    <bug_when>2022-12-08 11:27:26 +0300</bug_when>
    <thetext>Да, надо переделать. Действительно, вариант:
- обновился;
- поставил samba-usershares после обновления;
этот триггер не обработает.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218561</commentid>
    <comment_count>13</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2022-12-08 11:30:47 +0300</bug_when>
    <thetext>Только, control убирать не хотелось бы. Умолчания в дистрибутивах могут не совпадать с локальными требованиями. После установки у кого-то надо включить, а у кого-то выключить. Это может быть даже в одной комнате.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218567</commentid>
    <comment_count>14</comment_count>
    <who name="Mikhail Efremov">sem</who>
    <bug_when>2022-12-08 11:54:21 +0300</bug_when>
    <thetext>(In reply to Sergey V Turchin from comment #13)
&gt; Только, control убирать не хотелось бы. Умолчания в дистрибутивах могут не
&gt; совпадать с локальными требованиями. После установки у кого-то надо
&gt; включить, а у кого-то выключить. Это может быть даже в одной комнате.

Это все нужно только для решения проблемы на системах, где ранее отработала installer-feature-samba-usershares при установки туда пакета samba-usershares (причем если его туда не ставить, то и проблемы нет). И все. Группы sambashare в новых дистрибутивах больше не будет, будет просто использоваться samba-usershares, про sambashare там ничего знать не нужно.

(In reply to Sergey V Turchin from comment #11)
&gt; (In reply to Mikhail Efremov from comment #9)
&gt; &gt; Можно же просто в %post написать
&gt; Для изменения настройки переустанавливать пакет?

Настройки чего? Там ничего не надо настраивать. Надо просто обеспечить, чтобы usershares не сломались у пользователю, входящего в группу sambashare, но не входящего в группу users.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218573</commentid>
    <comment_count>15</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2022-12-08 12:15:35 +0300</bug_when>
    <thetext>(In reply to Mikhail Efremov from comment #9)
&gt; И все, не надо никакого control, он совершенно бессмысленен.
Область видимости утверждения не была указана. ;-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218643</commentid>
    <comment_count>16</comment_count>
    <who name="Evgeny Sinelnikov">sin</who>
    <bug_when>2022-12-09 11:34:23 +0300</bug_when>
    <thetext>(Ответ для Mikhail Efremov на комментарий #5)
&gt; Предлагаю делать наоборот: при наличии группы sambashare добавлять в нее
&gt; группу usershare.

Это вариант, в итоге, выглядит самым разумным. Оставил control, установил предложенный вариант по умолчанию.

#311076 BUILDING #3 [locked] [test-only] p10 samba.git=4.16.7-alt4
#311075 BUILDING #3 [locked] [test-only] sisyphus samba.git=4.16.7-alt4

Текст поправил:
$ sudo control role-sambashare help
enabled: Allow users in group &quot;sambashare&quot; to use samba usershares
disabled: Assign group &quot;sambashare&quot; as privilege to groups &quot;usershares&quot; and &quot;users&quot;
default: Privilege group &quot;sambashare&quot; assigned to users explicitly</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218651</commentid>
    <comment_count>17</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2022-12-09 12:14:39 +0300</bug_when>
    <thetext>(In reply to Evgeny Sinelnikov from comment #16)
&gt; enabled: Allow users in group &quot;sambashare&quot; to use samba usershares
Так уже приятно выглядит.

&gt; disabled: Assign group &quot;sambashare&quot; as privilege to groups &quot;usershares&quot; and
&gt; &quot;users&quot;
Тут опять непонятно, что именно &quot;disabled&quot;? Опция же называется &quot;disabled&quot;, а не &quot;changesomething&quot;.

&gt; default: Privilege group &quot;sambashare&quot; assigned to users explicitly
Из описания не понятно, пользователю с этого что?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218795</commentid>
    <comment_count>18</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2022-12-12 21:15:19 +0300</bug_when>
    <thetext>samba-4.16.7-alt5 -&gt; sisyphus:

 Mon Dec 12 2022 Evgeny Sinelnikov &lt;sin@altlinux&gt; 4.16.7-alt5
 - Update text of summary for role-usershares and smb-conf-usershares.
 - Update default usershare prefix allow and deny lists:
   + usershare prefix deny list = /etc /dev /sys /proc
   + usershare prefix allow list = /home /srv /mnt /media /var
 - Add new controls for samba-usershares:
   + smb-conf-usershare-allow-list
   + smb-conf-usershare-deny-list
   + smb-conf-usershare-owner-only
   + smb-conf-usershare-allow-guests
 Thu Dec 08 2022 Evgeny Sinelnikov &lt;sin@altlinux&gt; 4.16.7-alt4
 - Add role-sambashare control for compatibility during upgrade from previous
   manual managed settings of usershares.
 - Trigger sambashare as role with privilege usershares (Closes: #44379).
 Sat Dec 03 2022 Evgeny Sinelnikov &lt;sin@altlinux&gt; 4.16.7-alt3
 - Avoid cycle dependencies on common service files.
 - Fix cycle dependencies on libRPC and libREG samba4 libraries.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218812</commentid>
    <comment_count>19</comment_count>
    <who name="Mikhail Efremov">sem</who>
    <bug_when>2022-12-13 11:46:28 +0300</bug_when>
    <thetext>(In reply to Evgeny Sinelnikov from comment #16)
&gt; Текст поправил:
&gt; $ sudo control role-sambashare help

Мне заранее жаль пользователей, пытающихся понять что это за control и зачем он нужен.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218815</commentid>
    <comment_count>20</comment_count>
    <who name="AEN">aen</who>
    <bug_when>2022-12-13 11:55:16 +0300</bug_when>
    <thetext>(Ответ для Mikhail Efremov на комментарий #19)
&gt; (In reply to Evgeny Sinelnikov from comment #16)
&gt; &gt; Текст поправил:
&gt; &gt; $ sudo control role-sambashare help
&gt; 
&gt; Мне заранее жаль пользователей, пытающихся понять что это за control и зачем
&gt; он нужен.

Увы, да.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218816</commentid>
    <comment_count>21</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2022-12-13 11:57:15 +0300</bug_when>
    <thetext>(In reply to Mikhail Efremov from comment #19)
&gt; Мне заранее жаль пользователей, пытающихся понять что это за control и зачем
&gt; он нужен.
+1. Пойду повешу что-нибудь.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218828</commentid>
    <comment_count>22</comment_count>
    <who name="Evgeny Sinelnikov">sin</who>
    <bug_when>2022-12-13 14:20:48 +0300</bug_when>
    <thetext>(Ответ для AEN на комментарий #20)
&gt; (Ответ для Mikhail Efremov на комментарий #19)
&gt; &gt; (In reply to Evgeny Sinelnikov from comment #16)
&gt; &gt; &gt; Текст поправил:
&gt; &gt; &gt; $ sudo control role-sambashare help
&gt; &gt; 
&gt; &gt; Мне заранее жаль пользователей, пытающихся понять что это за control и зачем
&gt; &gt; он нужен.
&gt; 
&gt; Увы, да.

А чем вас этот вариант не устраивает?

enabled: Allow users in group &quot;sambashare&quot; to use samba usershares
default: Allow users in group &quot;sambashare&quot; to use samba usershares if they are in the &quot;users&quot; group
disabled: Disallow users in group &quot;sambashare&quot; to use samba usershares

По моему, всё как просил zerg@ сделано.

Ну, и да - две проблемы:
- ужасный английский;
- нужно уложить текст в минимальный набор слов.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218833</commentid>
    <comment_count>23</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2022-12-13 14:40:44 +0300</bug_when>
    <thetext>(In reply to Evgeny Sinelnikov from comment #22)
&gt; Ну, и да - две проблемы:
&gt; - ужасный английский;
&gt; - нужно уложить текст в минимальный набор слов.
Если надо, есть, кто переведёт в нужную сторону.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218834</commentid>
    <comment_count>24</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2022-12-13 14:45:37 +0300</bug_when>
    <thetext>(In reply to Evgeny Sinelnikov from comment #22)
&gt; По моему, всё как просил zerg@ сделано.
Только не в тех местах, где напоминает
enabled: Allow disable false
disabled: Disallow enable true</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>219529</commentid>
    <comment_count>25</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2022-12-27 14:57:25 +0300</bug_when>
    <thetext>Смешанное использование в одном контексте &quot;shareS&quot; и &quot;share&quot; сбивает с толку.

P.S.
Не хотелось бы иметь необходимость пользоваться подобными настройками.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>219530</commentid>
    <comment_count>26</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2022-12-27 15:00:58 +0300</bug_when>
    <thetext>И просьба иметь ввиду, что до включения в дистрибутивы обновлённой функциональности осталось совсем немного. Это я к тому, что без специального уведомления релиз-менеджеров менять потом не стоит, чтобы незаметно не сломать.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>