pam_lastlog - coś mam skopane?
Przy okazji upgrade sudo natknąłem się na dziwne segfaulty.
Zacząłem drążyć i do czego doszedłem:
1. Sudo w czasie działania wczytuje /etc/pam.d/others mimo istniejącego
/etc/pam.d/sudo
Poniżej strace przefiltrowany za pomoca grep pam.d
===========================================
stat64("/etc/pam.d", {st_mode=S_IFDIR|0755, st_size=1024, ...}) = 0
open("/etc/pam.d/sudo", O_RDONLY|O_LARGEFILE) = 4
stat64("/etc/pam.d", {st_mode=S_IFDIR|0755, st_size=1024, ...}) = 0
open("/etc/pam.d/common-auth", O_RDONLY|O_LARGEFILE) = 5
read(5, "#\n# /etc/pam.d/common-auth - aut"..., 1024) = 437
stat64("/etc/pam.d", {st_mode=S_IFDIR|0755, st_size=1024, ...}) = 0
open("/etc/pam.d/common-account", O_RDONLY|O_LARGEFILE) = 5
read(5, "#\n# /etc/pam.d/common-account - "..., 1024) = 392
open("/etc/pam.d/other", O_RDONLY|O_LARGEFILE) = 4
read(4, "#\n# /etc/pam.d/other - specify t"..., 1024) = 520
stat64("/etc/pam.d", {st_mode=S_IFDIR|0755, st_size=1024, ...}) = 0
open("/etc/pam.d/common-auth", O_RDONLY|O_LARGEFILE) = 5
read(5, "#\n# /etc/pam.d/common-auth - aut"..., 1024) = 437
stat64("/etc/pam.d", {st_mode=S_IFDIR|0755, st_size=1024, ...}) = 0
open("/etc/pam.d/common-account", O_RDONLY|O_LARGEFILE) = 5
read(5, "#\n# /etc/pam.d/common-account - "..., 1024) = 392
stat64("/etc/pam.d", {st_mode=S_IFDIR|0755, st_size=1024, ...}) = 0
open("/etc/pam.d/common-password", O_RDONLY|O_LARGEFILE) = 5
read(5, "#\n# /etc/pam.d/common-password -"..., 1024) = 1024
stat64("/etc/pam.d", {st_mode=S_IFDIR|0755, st_size=1024, ...}) = 0
open("/etc/pam.d/common-session", O_RDONLY|O_LARGEFILE) = 5
read(5, "#\n# /etc/pam.d/common-session - "..., 1024) = 545
==========================================
Wyraźnie widać, że jest /etc/pam.d/sudo oraz, że późnej jest otwierany
/etc/pam.d/others
zawartość /etc/pam.d/common-session była następująca:
=========================================
session required pam_unix.so
session required pam_limits.so
session optional pam_lastlog.so
========================================
I w takiej konfiguracji w drugim uruchomieniu (kiedy już nie trzeba
było podawać hasła)
sudo kończyło się segfaultem.
po zamianie ostatniej linijki na:
session optional pam_lastlog.so silent
działa (choć oczywiście nie wyświetla czasu ostatniego zalogowania)
wersje sudo:
Package: sudo
State: installed
Automatically installed: yes
Version: 1.6.9p11-1
Package: libpam-modules
State: installed
Automatically installed: yes
Version: 0.99.7.1-5
Package: libpam0g
State: installed
Automatically installed: yes
Version: 0.99.7.1-5
I teraz:
1. dlaczego sudo ładuje .../others - coś przeoczyłem?
2. czy ktoś może potwierdzić to zachowanie?
3. czy ja coś źle robiłem używając w common-session pam_lastlog bez
"silent" (ale IMO i ta nie powinno się segfaultem kończyć)
KJ
--
Nie oddawaj Polski oszołomom http://www.skubi.net/nieoddaj.html
"We all know Linux is great...it does infinite loop
in 5 seconds." (Linus Torvalds)
Reply to: