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

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

    <bug>
          <bug_id>47713</bug_id>
          
          <creation_ts>2023-09-25 13:57:59 +0300</creation_ts>
          <short_desc>Прописать в самом начале файла /etc/pam.d/system-auth-common строку</short_desc>
          <delta_ts>2024-10-16 05:36:32 +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>pam-config</component>
          <version>unstable</version>
          <rep_platform>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <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="Andrey Cherepanov">cas</reporter>
          <assigned_to name="Dmitry V. Levin">ldv</assigned_to>
          <cc>ldv</cc>
    
    <cc>placeholder</cc>
    
    <cc>sin</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>233766</commentid>
    <comment_count>0</comment_count>
    <who name="Andrey Cherepanov">cas</who>
    <bug_when>2023-09-25 13:57:59 +0300</bug_when>
    <thetext>Когда планируется автоматизация добавление строки в соответствующий файл? Например, через control?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>233822</commentid>
    <comment_count>1</comment_count>
    <who name="Evgeny Sinelnikov">sin</who>
    <bug_when>2023-09-26 04:29:30 +0300</bug_when>
    <thetext>Эта проблема, с одной стороны, и не проблема вовсе. Это дефолт, который можно поменять после установки или при конфигурирование.

С другой стороны это не проблема пакета с модулем, это проблема пакета pam-config:
https://git.altlinux.org/tasks/324184/

И, наконец, это можно рассмотреть, как проблему пакета с модулем, который содержит при установке соответствующий control.

С этой стороны я готов заняться. Логика не сложная, но я с этой стороны на задачу не смотрел, хотя так даже правильней, наверное.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>238895</commentid>
    <comment_count>2</comment_count>
    <who name="Evgeny Sinelnikov">sin</who>
    <bug_when>2023-12-13 04:52:40 +0300</bug_when>
    <thetext>В linux-pam отправлен патч с модулем pam_canonicalize_user, реализующим аналогичный функционал, что и pam_propperpwnam:
https://github.com/linux-pam/linux-pam/commit/2cae0f5c6757a66602546d76d51a4ba9bb28b2b2

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

Чтобы эта штука могла включаться как с групповыми политиками, так и без них, думаю что необходимо поместить этот модуль в начало system-auth-common:

Этот стек включается сразу после основной аутентификации в system-auth:

$ cat /etc/pam.d/common-login
#%PAM-1.0
auth            substack        system-auth
auth            substack        system-policy
auth            required        pam_nologin.so
account         substack        system-auth
account         substack        system-policy
account         required        pam_nologin.so
password        include         system-auth
password        include         system-policy
session         substack        system-auth
session         required        pam_loginuid.so
-session        optional        pam_systemd.so
session         substack        system-policy

$ cat /etc/pam.d/system-auth-local
#%PAM-1.0
auth            include         system-auth-local-only
auth            include         system-auth-common
account         include         system-auth-local-only
account         include         system-auth-common
password        include         system-auth-local-only
password        include         system-auth-common
session         include         system-auth-local-only
session         include         system-auth-common

$ head /etc/pam.d/system-auth-sss
#%PAM-1.0

auth            [success=4 perm_denied=ignore default=die]      pam_localuser.so
auth            [success=1 default=bad] pam_succeed_if.so uid &gt;= 500 quiet
auth            [default=1]     pam_permit.so
auth            substack        system-auth-sss-only
auth            [default=1]     pam_permit.so
auth            substack        system-auth-local-only
auth            substack        system-auth-common
[...]

$ cat /etc/pam.d/system-auth-common 
#%PAM-1.0
#account                required        pam_access.so
session         required        pam_mktemp.so
session         required        pam_limits.so

С другой стороны system-auth у нас позволяет сделать собственную реализацию и этим пользуются. Поэтому нужно предусмотреть отсутствие этого файла. Хотя это вопрос.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>238900</commentid>
    <comment_count>3</comment_count>
    <who name="Evgeny Sinelnikov">sin</who>
    <bug_when>2023-12-13 09:54:42 +0300</bug_when>
    <thetext>$ sudo rpm -Uhv /home/sin/RPM/RPMS/x86_64/pam0_propperpwnam-0.0.1-alt2.x86_64.rpm

$ sudo control pam_propperpwnam
unknown

$ cat /etc/pam.d/system-auth-common 
#%PAM-1.0
#account                required        pam_access.so
session         required        pam_mktemp.so
session         required        pam_limits.so

$ sudo control pam_propperpwnam enabled

$ sudo control pam_propperpwnam
enabled

$ cat /etc/pam.d/system-auth-common 
#%PAM-1.0
auth            optional        pam_propperpwnam.so
#account                required        pam_access.so
session         required        pam_mktemp.so
session         required        pam_limits.so

$ sudo control pam_propperpwnam disabled

$ sudo control pam_propperpwnam
disabled

$ cat /etc/pam.d/system-auth-common 
#%PAM-1.0
#auth           optional        pam_propperpwnam.so
#account                required        pam_access.so
session         required        pam_mktemp.so
session         required        pam_limits.so</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>238902</commentid>
    <comment_count>4</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2023-12-13 10:10:04 +0300</bug_when>
    <thetext>pam_propperpwnam-0.0.1-alt2 -&gt; sisyphus:

 Wed Dec 13 2023 Evgeny Sinelnikov &lt;sin@altlinux&gt; 0.0.1-alt2
 - Add control pam_propperpwnam for support module in system authentication (ALT#47713).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>238907</commentid>
    <comment_count>5</comment_count>
    <who name="Evgeny Sinelnikov">sin</who>
    <bug_when>2023-12-13 10:28:28 +0300</bug_when>
    <thetext>$ rpm -qf /etc/pam.d/system-auth-common
pam-config-1.9.0-alt4.noarch

Предполагаю, что ldv@ включит эту опцию сразу для pam_canonicalize_user. Однако control, по образу и подобию стоит упаковать.

В текущей реализации я активно использую наработки из пакета local-policy. Может быть их стоит влить в пакет control? Но много сложных в сопровождении деталей.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>238910</commentid>
    <comment_count>6</comment_count>
    <who name="Evgeny Sinelnikov">sin</who>
    <bug_when>2023-12-13 10:33:48 +0300</bug_when>
    <thetext>Проблема, которая решена в рамках pam_propperpwnam-0.0.1-alt2 относится к другой задаче:
https://bugzilla.altlinux.org/47579</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253062</commentid>
    <comment_count>7</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2024-10-16 05:36:32 +0300</bug_when>
    <thetext>pam-config-1.9.1-alt1 -&gt; sisyphus:

 Tue Sep 03 2024 Evgeny Sinelnikov &lt;sin@altlinux&gt; 1.9.1-alt1
 - Added pam_canonicalize_user.so to system-auth-common (closes: #47426).
 - Added pam_canonicalize_user control (closes: #47713).
 - Disabled legacy pam_propperpwnam.so in system-auth-common during upgrade.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>