Bug 53858

Summary: the "system-auth" pam substack still refers to uid 500
Product: Sisyphus Reporter: Arseny Maslennikov <arseny>
Component: pam-configAssignee: Dmitry V. Levin <ldv>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: ldv, placeholder
Version: unstable   
Hardware: x86_64   
OS: Linux   

Description Arseny Maslennikov 2025-04-15 23:28:03 MSK
FWIW, ставлю control:

  # control system-auth
  ldap

В файле из сабжа написано:
  auth		[success=4 perm_denied=ignore default=die]	pam_localuser.so
  auth		[success=1 default=bad]	pam_succeed_if.so uid >= 500 quiet
  auth		[default=1]	pam_permit.so
  auth		substack	system-auth-ldap-only
  auth		[default=1]	pam_permit.so
  auth		substack	system-auth-local-only
  auth		substack	system-auth-common

Чуть более года назад в сизифе предикат "uid >= 500" потерял какой-либо смысл. Надо заменить условие во второй строке на более актуальное.
Comment 1 Arseny Maslennikov 2025-04-15 23:32:40 MSK
Условие "uid >= 1000" взамен — плохо, и не только по причинам совместимости.

Различие между UID пользователя и uid системной службы (aka "системный пользователь") по номеру, вообще говоря, не работает, и hasher — яркий тому пример.
Стоит вместо uid >= N использовать, например, предикат "годный логинный шелл или нет". При беглом взгляде кажется, будто модуль pam_shells ровно это и способен выразить — то есть, он вернёт значение, соответствующее этому предикату.