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

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

    <bug>
          <bug_id>28549</bug_id>
          
          <creation_ts>2013-02-12 22:21:14 +0400</creation_ts>
          <short_desc>слишком жёсткие права на /var/run/gdm/</short_desc>
          <delta_ts>2013-02-20 21:10:31 +0400</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>gdm</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>https://bugzilla.gnome.org/show_bug.cgi?id=693679</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>major</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>27685</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Shigorin">mike</reporter>
          <assigned_to name="Yuri N. Sedunov">aris</assigned_to>
          <cc>aen</cc>
    
    <cc>aris</cc>
    
    <cc>boyarsh</cc>
    
    <cc>ldv</cc>
    
    <cc>sem</cc>
    
    <cc>shaba</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>137824</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2013-02-12 22:21:14 +0400</bug_when>
    <thetext>На http://nightly.altlinux.org/sisyphus/snapshots/20130212/regular-cinnamon-20130212-x86_64.iso пронаблюдали следующее: при некоторых условиях (возможно, зависящих от скорости загрузки) acc не работает.

Права на /var/run/gdm:
0770 root:root =&gt; не работает
0711 root:root =&gt; работает

В пакете 1777 root:gdm, файла в /etc/tmpfiles.d/ в gdm-3.6.2-alt3 не наблюдаю.

Спасибо за отладку ldv@ -- добавили в /etc/pam.d/acc отладку:
-session         optional        pam_xauth.so
+session         optional        pam_xauth.so debug xauthpath=/opt/xauth

где исполняемый /opt/xauth содержит следующее:
#!/bin/sh
/usr/bin/strace -o /tmp/strace.log -- /usr/bin/xauth &quot;$@&quot;

В полученном логе:

--- SIGCONT {si_signo=SIGCONT, si_code=SI_USER, si_pid=2794, si_uid=500} ---
execve(&quot;/usr/bin/xauth&quot;, [&quot;/usr/bin/xauth&quot;, &quot;-f&quot;, &quot;/var/run/gdm/auth-for-altlinux-P&quot;..., &quot;nlist&quot;, &quot;:0&quot;], [/* 53 vars */]) = 0
[...]
stat(&quot;/var/run/gdm/auth-for-altlinux-PO3KiZ/database-c&quot;, 0x7fff11174380) = -1 EACCES (Permission denied)
open(&quot;/var/run/gdm/auth-for-altlinux-PO3KiZ/database-c&quot;, O_WRONLY|O_CREAT|O_EXCL, 0600) = -1 EACCES (Permission denied)
[...]
nanosleep({2, 0}, 0x7fff111741b0)       = 0
write(2, &quot;/usr/bin/xauth:  timeout in lock&quot;..., 98) = -1 EBADF (Bad file descriptor)
exit_group(1)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137828</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2013-02-13 01:24:47 +0400</bug_when>
    <thetext>0770 -- &quot;заслуга&quot; апстрима: https://bugzilla.gnome.org/show_bug.cgi?id=693679</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137831</commentid>
    <comment_count>2</comment_count>
      <attachid>5735</attachid>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2013-02-13 02:21:47 +0400</bug_when>
    <thetext>Created attachment 5735
gdm-3.6.2-alt-runtimedir-perms.patch

Патч, добавляющий всем право на сканирование /var/run/gdm/ (проверен сборкой образа, результирующие права 0771 root:root не мешают pam_xauth работать).

2 ldv: прошу посмотреть и высказаться, годится ли такое NMU -- не хотелось бы анонсировать regular-{gnome3,cinnamon}.iso с известной проблемой подобного плана.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137832</commentid>
    <comment_count>3</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2013-02-13 02:26:17 +0400</bug_when>
    <thetext>Надо отдавать себе отчет в том, что 0770 root:root фактически означает 0700 root:root, поскольку у нас обычно никого, кроме root, в группе root нет.

Вопрос, создаются ли в /var/run/gdm/ объекты, к которым не-root не должен иметь доступ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137833</commentid>
    <comment_count>4</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2013-02-13 02:34:42 +0400</bug_when>
    <thetext>(В ответ на комментарий №3)
&gt; Надо отдавать себе отчет в том, что 0770 root:root фактически означает 0700
&gt; root:root, поскольку у нас обычно никого, кроме root, в группе root нет.

Разумеется.

&gt; Вопрос, создаются ли в /var/run/gdm/ объекты, к которым не-root не должен иметь
&gt; доступ?
Заметить таких не удалось, наблюдаю там каталоги вида auth-for-$USER-$XXXXXX, где USER -- gdm и, например, altlinux; права на них -- 0711 $USER:$USER.

Ещё упоминается тот самый маркер, при создании которого и портят права на /var/run/gdm, оказывающийся по умолчанию ещё и GDM_RAN_ONCE_MARKER_DIR:

configure.ac:   GDM_RAN_ONCE_MARKER_DIR=${localstatedir}/run/gdm
[...]
configure.ac:GDM_RAN_ONCE_MARKER_FILE=&quot;$GDM_RAN_ONCE_MARKER_DIR/ran-once-marker&quot;

А сделать 0711 (как и получаются в другой ветке этого предположительно race condition) думал, но решил обойтись минимально необходимым изменением до пояснений апстрима, буде таковые последуют.  У них в NEWS /var/run/gdm упоминается в 2.22.0 (когда перенесли xauth-файлики) и в 2.29.0 (когда ужесточили права).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137834</commentid>
    <comment_count>5</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2013-02-13 05:17:01 +0400</bug_when>
    <thetext>Какой-то в этом gdm случился плюрализм: в файле gdm/daemon/gdm-display-access-file.c написано, что каталог GDM_XAUTH_DIR (он же /var/run/gdm) создается с правами %attr(0711,root,gdm), в то время как daemon/main.c рядом создает GDM_RAN_ONCE_MARKER_DIR (тот же самый /var/run/gdm) с правами %attr(0700,-,-).
Беда, в общем, этот ваш gdm.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137835</commentid>
    <comment_count>6</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2013-02-13 05:17:21 +0400</bug_when>
    <thetext>Какой-то в этом gdm случился плюрализм: в файле gdm/daemon/gdm-display-access-file.c написано, что каталог GDM_XAUTH_DIR (он же /var/run/gdm) создается с правами %attr(0711,root,gdm), в то время как daemon/main.c рядом создает GDM_RAN_ONCE_MARKER_DIR (тот же самый /var/run/gdm) с правами %attr(0770,-,-).
Беда, в общем, этот ваш gdm.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137836</commentid>
    <comment_count>7</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2013-02-13 05:22:41 +0400</bug_when>
    <thetext>(In reply to comment #4)
&gt; (В ответ на комментарий №3)
&gt; &gt; Надо отдавать себе отчет в том, что 0770 root:root фактически означает 0700
&gt; &gt; root:root, поскольку у нас обычно никого, кроме root, в группе root нет.
&gt; 
&gt; Разумеется.
&gt; 
&gt; &gt; Вопрос, создаются ли в /var/run/gdm/ объекты, к которым не-root не должен иметь
&gt; &gt; доступ?
&gt; Заметить таких не удалось, наблюдаю там каталоги вида auth-for-$USER-$XXXXXX,
&gt; где USER -- gdm и, например, altlinux; права на них -- 0711 $USER:$USER.
&gt; 
&gt; Ещё упоминается тот самый маркер, при создании которого и портят права на
&gt; /var/run/gdm, оказывающийся по умолчанию ещё и GDM_RAN_ONCE_MARKER_DIR:
&gt; 
&gt; configure.ac:   GDM_RAN_ONCE_MARKER_DIR=${localstatedir}/run/gdm
&gt; [...]
&gt; configure.ac:GDM_RAN_ONCE_MARKER_FILE=&quot;$GDM_RAN_ONCE_MARKER_DIR/ran-once-marker&quot;
&gt; 
&gt; А сделать 0711 (как и получаются в другой ветке этого предположительно race
&gt; condition) думал, но решил обойтись минимально необходимым изменением до
&gt; пояснений апстрима, буде таковые последуют.  У них в NEWS /var/run/gdm
&gt; упоминается в 2.22.0 (когда перенесли xauth-файлики) и в 2.29.0 (когда
&gt; ужесточили права).

Более правильным выглядит изменение значений GDM_RAN_ONCE_MARKER_DIR и GDM_XAUTH_DIR, чтобы они не совпадали, и одно из них не было подкаталогом другого.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137837</commentid>
    <comment_count>8</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2013-02-13 05:34:03 +0400</bug_when>
    <thetext>gdm-3.6.2-alt4 -&gt; sisyphus:

* Wed Feb 13 2013 Michael Shigorin &lt;mike@altlinux&gt; 3.6.2-alt4
- NMU: fixed /var/run/gdm permissions which were blocking
  proper pam_xauth execution; thanks ldv@ (closes: #28549)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137848</commentid>
    <comment_count>9</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2013-02-13 14:26:43 +0400</bug_when>
    <thetext>(In reply to comment #7)
&gt; Более правильным выглядит изменение значений GDM_RAN_ONCE_MARKER_DIR и
&gt; GDM_XAUTH_DIR, чтобы они не совпадали, и одно из них не было подкаталогом
&gt; другого.
Об этом тоже подумал, но тут оценить последствия мне было несколько сложней.

2 aris: я попросил тебя не дожидаться и пропустить совсем нахальный NMU.
Надеюсь на снисхождение ввиду характера проблемы.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>138063</commentid>
    <comment_count>10</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2013-02-20 21:10:31 +0400</bug_when>
    <thetext>Апстрим сделал такой патч:
http://bugzilla-attachments.gnome.org/attachment.cgi?id=236941</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>5735</attachid>
            <date>2013-02-13 02:21:47 +0400</date>
            <delta_ts>2013-02-13 02:21:47 +0400</delta_ts>
            <desc>gdm-3.6.2-alt-runtimedir-perms.patch</desc>
            <filename>gdm-3.6.2-alt-runtimedir-perms.patch</filename>
            <type>text/plain</type>
            <size>529</size>
            <attacher name="Michael Shigorin">mike</attacher>
            
              <data encoding="base64">ZGlmZiAtTmF1ciBnZG0tMy42LjItb3JpZy9kYWVtb24vbWFpbi5jIGdkbS0zLjYuMi9kYWVtb24v
bWFpbi5jCi0tLSBnZG0tMy42LjItb3JpZy9kYWVtb24vbWFpbi5jCTIwMTItMTItMDIgMjM6MTQ6
MDYuMDAwMDAwMDAwICswNDAwCisrKyBnZG0tMy42LjIvZGFlbW9uL21haW4uYwkyMDEzLTAyLTEz
IDAyOjAzOjI1Ljc3MzA1NDc1NSArMDQwMApAQCAtNDk1LDcgKzQ5NSw3IEBACiAKICAgICAgICAg
LyogU2V0IHVwIC92YXIvcnVuL2dkbSAqLwogICAgICAgICBnX21rZGlyX3dpdGhfcGFyZW50cyAo
R0RNX1JBTl9PTkNFX01BUktFUl9ESVIsIDA3NTUpOwotICAgICAgICBnX2NobW9kIChHRE1fUkFO
X09OQ0VfTUFSS0VSX0RJUiwgU19JUldYVSB8IFNfSVJXWEcpOworICAgICAgICBnX2NobW9kIChH
RE1fUkFOX09OQ0VfTUFSS0VSX0RJUiwgU19JUldYVSB8IFNfSVJXWEcgfCBTX0lYT1RIKTsKIAog
ICAgICAgICAvKiBYRE0gY29tcGxpYW50IGVycm9yIG1lc3NhZ2UgKi8KICAgICAgICAgaWYgKGdl
dHVpZCAoKSAhPSAwKSB7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>