diff --git a/useradmin/freebsd-lib.pl b/useradmin/freebsd-lib.pl
index 1eed14733..3b0b80573 100755
--- a/useradmin/freebsd-lib.pl
+++ b/useradmin/freebsd-lib.pl
@@ -17,12 +17,13 @@ sub groupfiles_type
return 0;
}
-# open_last_command(handle, user)
+# open_last_command(handle, user, [max])
sub open_last_command
{
-local ($fh, $user) = @_;
-local $quser = quotemeta($user);
-open($fh, "(last -w $quser || last $quser) |");
+my ($fh, $user, $max) = @_;
+my $quser = quotemeta($user);
+$max = " -n $max" if ($max);
+open($fh, "(last -w$max $quser || last$max $quser) |");
}
# read_last_line(handle)
diff --git a/useradmin/lang/af.auto b/useradmin/lang/af.auto
index 62977d1e6..24f7a49e3 100644
--- a/useradmin/lang/af.auto
+++ b/useradmin/lang/af.auto
@@ -233,7 +233,8 @@ usave_efromroot=U kan nie die tuisgids skuif vanaf /
usave_etoroot=U kan nie die tuisgids na /
logins_title=Opgeneemde aanmeldings
-logins_head=Aangemelde aanmeldings vir $1
+logins_head=Alle aangetekende aanmeldings vir gebruiker $1
+logins_head_limit=Die laaste $2 aangetekende aanmeldings vir gebruiker $1
logins_from=Teken in vanaf
logins_tty=TTY
logins_in=Teken in by
diff --git a/useradmin/lang/ar.auto b/useradmin/lang/ar.auto
index 1ec1bd602..570515fc5 100644
--- a/useradmin/lang/ar.auto
+++ b/useradmin/lang/ar.auto
@@ -232,7 +232,8 @@ usave_efromroot=لا يمكنك نقل الدليل الرئيسي من /
usave_etoroot=لا يمكنك نقل الدليل الرئيسي إلى /
logins_title=تسجيلات تسجيل الدخول
-logins_head=Recorded logins for $1
+logins_head=جميع عمليات تسجيل الدخول المسجلة للمستخدم $1
+logins_head_limit=آخر $2 تسجيلات دخول مسجلة للمستخدم $1
logins_from=تسجيل الدخول من
logins_tty=TTY
logins_in=تسجيل الدخول في
diff --git a/useradmin/lang/be.auto b/useradmin/lang/be.auto
index 2f3c3e9d3..96601e468 100644
--- a/useradmin/lang/be.auto
+++ b/useradmin/lang/be.auto
@@ -233,7 +233,8 @@ usave_efromroot=Вы не можаце перамясціць хатні кат
usave_etoroot=Вы не можаце перамясціць хатні каталог у /
logins_title=Запісаны дадзеныя
-logins_head=Запісаны дадзеныя для $1
+logins_head=Усе запісаныя ўваходы для карыстальніка $1
+logins_head_limit=Апошні $2 запісаны ўваход для карыстальніка $1
logins_from=Уваход ад
logins_tty=TTY
logins_in=Уваход у
diff --git a/useradmin/lang/bg b/useradmin/lang/bg
index 6c7173764..f6c43c6b8 100644
--- a/useradmin/lang/bg
+++ b/useradmin/lang/bg
@@ -228,7 +228,6 @@ usave_efromroot=Не можете да изместите домашната д
usave_etoroot=Не можете да премествате домашната директория в /
logins_title=Записани логини
-logins_head=Записани логини за $1
logins_from=Логини от
logins_tty=TTY
logins_in=Логин към
diff --git a/useradmin/lang/bg.auto b/useradmin/lang/bg.auto
index 8c7210c2d..72b61ce75 100644
--- a/useradmin/lang/bg.auto
+++ b/useradmin/lang/bg.auto
@@ -4,3 +4,6 @@ usave_eltgt=Потребителското име не може да съдър
usave_ehomeslash=Домашната директория $1 не може да завършва с /
usave_edigestmod=Вашата система има активирани пароли $4, но модулът Perl $3 не е инсталиран. За да наложите използването на нормални криптирани пароли, коригирайте конфигурацията на вашия модул или накарайте Webmin да се опита да изтегли и инсталира модула $3 вместо вас.
usave_edigestcrypt=Вашата система има $4 активирани пароли, но функцията crypt не поддържа този формат. За да наложите използването на нормални криптирани пароли, коригирайте конфигурацията на модула.
+
+logins_head=Всички записани влизания за потребител $1
+logins_head_limit=Последните $2 записани влизания за потребител $1
diff --git a/useradmin/lang/ca b/useradmin/lang/ca
index 3d54e9e6c..779904214 100644
--- a/useradmin/lang/ca
+++ b/useradmin/lang/ca
@@ -228,7 +228,6 @@ usave_efromroot=No pots desplaçar el directori arrel de /
usave_etoroot=No pots desplaçar el directori arrel a /
logins_title=Connexions Registrades
-logins_head=Connexions registrades de $1
logins_from=Connectat des de
logins_tty=TTY
logins_in=Connexió
diff --git a/useradmin/lang/ca.auto b/useradmin/lang/ca.auto
index f0ff4cae6..52d72ba03 100644
--- a/useradmin/lang/ca.auto
+++ b/useradmin/lang/ca.auto
@@ -4,3 +4,6 @@ usave_eltgt=El nom d'usuari no pot contenir < o > personatges
usave_ehomeslash=El directori inicial $1 no pot acabar amb un /
usave_edigestmod=El vostre sistema té les contrasenyes $4 activades, però el mòdul Perl $3 no està instal·lat. Per forçar l'ús de contrasenyes xifrades normals, ajusteu la configuració del vostre mòdul o feu que Webmin intenti descarregar i instal·lar el mòdul de $3.
usave_edigestcrypt=El vostre sistema té $4 contrasenyes habilitats, però la funció crypt no admet aquest format. Per forçar l'ús de contrasenyes xifrades normals, ajusteu la configuració del mòdul.
+
+logins_head=Tots els inicis de sessió registrats per a l'usuari $1
+logins_head_limit=Els darrers $2 registres d'inici de sessió per a l'usuari $1
diff --git a/useradmin/lang/cs b/useradmin/lang/cs
index 639ab67a3..d22e1d876 100644
--- a/useradmin/lang/cs
+++ b/useradmin/lang/cs
@@ -194,7 +194,6 @@ usave_efromroot=Nemůžete přesunout domovský adresář z /
usave_etoroot=Nemůžete přesunout domovský adresář do /
logins_title=Zaznamenaná přihlášení
-logins_head=Přihlášení zaznamenané od $1
logins_from=Přihlášení od
logins_tty=TTY
logins_in=Prihlášení na
diff --git a/useradmin/lang/cs.auto b/useradmin/lang/cs.auto
index c930dba41..589815a50 100644
--- a/useradmin/lang/cs.auto
+++ b/useradmin/lang/cs.auto
@@ -41,6 +41,9 @@ gedit_pri=Členové primární skupiny
gedit_prinone=Žádní uživatelé nemají tuto skupinu jako svou primární
gedit_clone=Skupina klonování
+logins_head=Všechna zaznamenaná přihlášení pro uživatele $1
+logins_head_limit=Poslední $2 zaznamenala přihlášení pro uživatele $1
+
udel_ugroupother=Mazání této skupiny uživatelů v jiných modulech ..
log_gbatch=Spuštěn dávkový soubor skupiny $1
diff --git a/useradmin/lang/da b/useradmin/lang/da
index 9b42c636a..7705c70e0 100644
--- a/useradmin/lang/da
+++ b/useradmin/lang/da
@@ -189,7 +189,6 @@ usave_efromroot=Du kan ikke flytte hjemmemappen fra /
usave_etoroot=Du kan ikke flytte hjemmemappen til /
logins_title=Registrerede log ind
-logins_head=Registrede log ind tir $1
logins_from=Log ind fra
logins_tty=TTY
logins_in=Log ind
diff --git a/useradmin/lang/da.auto b/useradmin/lang/da.auto
index 00909a43d..9b7aa3257 100644
--- a/useradmin/lang/da.auto
+++ b/useradmin/lang/da.auto
@@ -47,6 +47,9 @@ gedit_clone=Clone Group
gsave_egidused2=GID er allerede i brug
+logins_head=Alle registrerede logins for bruger $1
+logins_head_limit=De sidste $2 registrerede logins for brugeren $1
+
udel_ugroupother=Sletning af denne brugers gruppe i andre moduler ..
log_gbatch=Udført gruppe batch-fil $1
diff --git a/useradmin/lang/de b/useradmin/lang/de
index da8a1fb28..26debb61c 100644
--- a/useradmin/lang/de
+++ b/useradmin/lang/de
@@ -9,7 +9,6 @@ index_pft5=SCO /etc/passwd & /etc/shadow
index_pft6=MacOS NetINFO
index_pft7=MacOS DSCL
index_toomany=Es gibt zu viele Benutzer in Ihrem System, um sie auf einer Seite anzuzeigen.
-index_findFinde Benutzer, deren
index_userreal=Benutzername oder echter Name
index_usheader=Benutzersuche
index_gsheader=Gruppensuche
@@ -233,7 +232,6 @@ usave_efromroot=Sie können das Home-Verzeichnis nicht von / verschieben
usave_etoroot=Sie können das Home-Verzeichnis nicht nach / verschieben
logins_title=Aufgezeichnete Anmeldungen
-logins_head=Aufgezeichnete Anmeldungen für $1
logins_from=Login von
logins_tty=TTY
logins_in=Login um
@@ -543,4 +541,4 @@ gbatch_enogroup=Gruppe existiert nicht in Zeile $1 : $2
gbatch_eprimary=Die Gruppe in Zeile $1 kann nicht gelöscht werden, da sie die Primärgruppe von Benutzer $2 ist.
gbatch_egroup=Duplizierter Gruppenname in Zeile $1 : $2
gbatch_egroupname=Ungültiger Gruppenname in Zeile $1
-gbatch_erename=Sie dürfen Gruppen in Zeile $1 : $2 nicht umbenennen
\ No newline at end of file
+gbatch_erename=Sie dürfen Gruppen in Zeile $1 : $2 nicht umbenennen
diff --git a/useradmin/lang/de.auto b/useradmin/lang/de.auto
new file mode 100644
index 000000000..999abe060
--- /dev/null
+++ b/useradmin/lang/de.auto
@@ -0,0 +1,4 @@
+index_find=Suchen Sie nach Benutzern, deren
+
+logins_head=Alle aufgezeichneten Anmeldungen für Benutzer $1
+logins_head_limit=Die letzten $2 aufgezeichneten Anmeldungen für Benutzer $1
diff --git a/useradmin/lang/el.auto b/useradmin/lang/el.auto
index 4702a17dc..5fad78c7d 100644
--- a/useradmin/lang/el.auto
+++ b/useradmin/lang/el.auto
@@ -233,7 +233,8 @@ usave_efromroot=Δεν μπορείτε να μετακινήσετε τον ο
usave_etoroot=Δεν μπορείτε να μετακινήσετε τον οικείο κατάλογο στο /
logins_title=Καταγεγραμμένα στοιχεία σύνδεσης
-logins_head=Καταγεγραμμένες συνδέσεις για $1
+logins_head=Όλες οι καταγεγραμμένες συνδέσεις για το χρήστη $1
+logins_head_limit=Οι τελευταίες $2 καταγεγραμμένες συνδέσεις για το χρήστη $1
logins_from=Σύνδεση από
logins_tty=TTY
logins_in=Σύνδεση στο
diff --git a/useradmin/lang/en b/useradmin/lang/en
index 050b15aa4..9a1d11500 100644
--- a/useradmin/lang/en
+++ b/useradmin/lang/en
@@ -233,7 +233,8 @@ usave_efromroot=You cannot move the home directory from /
usave_etoroot=You cannot move the home directory to /
logins_title=Recorded Logins
-logins_head=Recorded logins for $1
+logins_head=All recorded logins for user $1
+logins_head_limit=The last $2 recorded logins for user $1
logins_from=Login From
logins_tty=TTY
logins_in=Login At
diff --git a/useradmin/lang/es b/useradmin/lang/es
index fa04e5623..73bcb6f3f 100644
--- a/useradmin/lang/es
+++ b/useradmin/lang/es
@@ -189,7 +189,6 @@ usave_efromroot=No puede mover el directorio inicial desde /
usave_etoroot=No puede mover el directorio inicial a /
logins_title=Registro de Logins
-logins_head=Registro de Logins de $1
logins_from=Login Desde
logins_tty=TTY
logins_in=Login a las
diff --git a/useradmin/lang/es.auto b/useradmin/lang/es.auto
index 4950121ab..15125d47a 100644
--- a/useradmin/lang/es.auto
+++ b/useradmin/lang/es.auto
@@ -47,6 +47,9 @@ gedit_clone=Grupo clon
gsave_egidused2=GID ya está en uso
+logins_head=Todos los inicios de sesión registrados para el usuario $1
+logins_head_limit=Los últimos $2 inicios de sesión registrados para el usuario $1
+
udel_ugroupother=Eliminar el grupo de este usuario en otros módulos.
acl_uedit_gid=Usuarios con GID en rango
diff --git a/useradmin/lang/eu.auto b/useradmin/lang/eu.auto
index b43202b92..1bfa6d153 100644
--- a/useradmin/lang/eu.auto
+++ b/useradmin/lang/eu.auto
@@ -233,7 +233,8 @@ usave_efromroot=Ezin duzu etxearen direktoriora /
usave_etoroot=Ezin duzu etxeko direktoriora /
logins_title=Grabatutako saioak
-logins_head=$1 -ren erregistratutako saioak
+logins_head=$1 erabiltzailearentzat erregistratutako saio-hasiera guztiak
+logins_head_limit=$1 erabiltzailearentzat erregistratutako azken $2 saioak
logins_from=Saioa hasi
logins_tty=TTY
logins_in=Hasi saioa At
diff --git a/useradmin/lang/fa b/useradmin/lang/fa
index 125d38ed5..c8d286569 100644
--- a/useradmin/lang/fa
+++ b/useradmin/lang/fa
@@ -183,7 +183,6 @@ usave_efromroot=شما نميتوانيد فهرست شخصي را از / م
usave_etoroot=شما نميتوانيد فهرست شخصي را به / منتقل کنيد
logins_title=ورود به سيستمهاي ضبط شده
-logins_head=ورود به سيستمهاي ضبط شده براي $1
logins_from=ورود از
logins_tty=TTY
logins_in=زمان ورود
diff --git a/useradmin/lang/fa.auto b/useradmin/lang/fa.auto
index 39eac8389..d61a5cc09 100644
--- a/useradmin/lang/fa.auto
+++ b/useradmin/lang/fa.auto
@@ -54,6 +54,9 @@ gedit_clone=گروه کلون
gsave_egidused2=GID در حال استفاده است
+logins_head=همه ورودهای ثبت شده برای کاربر $1
+logins_head_limit=آخرین $2 ورودهای ثبت شده برای کاربر $1
+
udel_ugroupother=حذف این گروه کاربر در ماژول های دیگر ..
acl_uedit_gid=کاربران دارای GID در محدوده
diff --git a/useradmin/lang/fi.auto b/useradmin/lang/fi.auto
index 0fe5c268d..18fc792e6 100644
--- a/useradmin/lang/fi.auto
+++ b/useradmin/lang/fi.auto
@@ -233,7 +233,8 @@ usave_efromroot=Et voi siirtää kotihakemistoa /
usave_etoroot=Et voi siirtää kotihakemistoa /
logins_title=Tallennetut kirjautumiset
-logins_head=Tallennetut tunnukset $1
+logins_head=Kaikki käyttäjän $1 tallennetut kirjautumiset
+logins_head_limit=Viimeiset $2 kirjautumista käyttäjälle $1
logins_from=Kirjaudu sisään
logins_tty=TTY
logins_in=Kirjaudu sisään
diff --git a/useradmin/lang/fr b/useradmin/lang/fr
index dc47c49a8..bca4e3357 100644
--- a/useradmin/lang/fr
+++ b/useradmin/lang/fr
@@ -192,7 +192,6 @@ usave_efromroot=Vous ne pouvez pas déplacer le répertoire personnel à partir
usave_etoroot=Vous ne pouvez pas changer le répertoire personnel en /
logins_title=Connexions enregistrées
-logins_head=Connexions enregistrées pour $1
logins_from=Connexion à partir de
logins_tty=TTY
logins_in=Connecté le
diff --git a/useradmin/lang/fr.auto b/useradmin/lang/fr.auto
index 49459f990..607131335 100644
--- a/useradmin/lang/fr.auto
+++ b/useradmin/lang/fr.auto
@@ -44,6 +44,9 @@ gedit_clone=Groupe de clones
gsave_egidused2=GID est déjà utilisé
+logins_head=Toutes les connexions enregistrées pour l'utilisateur $1
+logins_head_limit=Les $2 dernières connexions enregistrées pour l'utilisateur $1
+
udel_ugroupother=Suppression du groupe de cet utilisateur dans d'autres modules.
log_gbatch=Fichier de commandes de groupe exécuté $1
diff --git a/useradmin/lang/he.auto b/useradmin/lang/he.auto
index 0750bf292..cfcc491fb 100644
--- a/useradmin/lang/he.auto
+++ b/useradmin/lang/he.auto
@@ -233,7 +233,8 @@ usave_efromroot=אינך יכול להעביר את ספריית הבית מ- /
usave_etoroot=אינך יכול להעביר את ספריית הבית ל /
logins_title=כניסות מוקלטות
-logins_head=Recorded logins for $1
+logins_head=כל ההתחברות המוקלטות עבור המשתמש $1
+logins_head_limit=התחברות $2 האחרונות שתועדו עבור המשתמש $1
logins_from=כניסה מ-
logins_tty=TTY
logins_in=כניסה בשעה
diff --git a/useradmin/lang/hr.auto b/useradmin/lang/hr.auto
index 7e6e34b41..44a7d72e1 100644
--- a/useradmin/lang/hr.auto
+++ b/useradmin/lang/hr.auto
@@ -233,7 +233,8 @@ usave_efromroot=Ne možete premjestiti kućni imenik iz /
usave_etoroot=Ne možete premjestiti kućni imenik u /
logins_title=Zabilježene prijave
-logins_head=Zabilježene prijave za $1
+logins_head=Sve zabilježene prijave za korisnika $1
+logins_head_limit=Zadnje $2 zabilježene prijave za korisnika $1
logins_from=Prijava s
logins_tty=TTY
logins_in=Prijava na
diff --git a/useradmin/lang/hu.auto b/useradmin/lang/hu.auto
index 6e90a857b..f9feb06c5 100644
--- a/useradmin/lang/hu.auto
+++ b/useradmin/lang/hu.auto
@@ -231,7 +231,8 @@ usave_efromroot=A home könyvtárat nem lehet áthelyezni a /
usave_etoroot=A home könyvtárat nem helyezheti át a /
logins_title=Rögzített bejelentkezések
-logins_head=A $1 regisztrált bejelentkezései
+logins_head=$1 felhasználó összes rögzített bejelentkezése
+logins_head_limit=A(z) $1 felhasználó legutóbbi $2 rögzített bejelentkezése
logins_from=Bejelentkezés
logins_tty=TTY
logins_in=Bejelentkezés itt:
diff --git a/useradmin/lang/it.auto b/useradmin/lang/it.auto
index f28095ba3..d61cdc29e 100644
--- a/useradmin/lang/it.auto
+++ b/useradmin/lang/it.auto
@@ -233,7 +233,8 @@ usave_efromroot=Non è possibile spostare la directory principale da /
usave_etoroot=Non è possibile spostare la directory principale in /
logins_title=Login registrati
-logins_head=Login registrati per $1
+logins_head=Tutti gli accessi registrati per l'utente $1
+logins_head_limit=Gli ultimi $2 accessi registrati per l'utente $1
logins_from=Accedi da
logins_tty=TTY
logins_in=Accedi a
diff --git a/useradmin/lang/ja b/useradmin/lang/ja
index 42dc01a34..d0a628a2a 100644
--- a/useradmin/lang/ja
+++ b/useradmin/lang/ja
@@ -194,7 +194,6 @@ usave_efromroot=ホームディレクトリを/から移動することはでき
usave_etoroot=ホームディレクトリを/に移動することはできません
logins_title=ログインの記録
-logins_head=$1のログイン記録
logins_from=ログイン元
logins_tty=TTY
logins_in=ログイン日時
diff --git a/useradmin/lang/ja.auto b/useradmin/lang/ja.auto
index 6764fbbcf..f5c5be946 100644
--- a/useradmin/lang/ja.auto
+++ b/useradmin/lang/ja.auto
@@ -41,6 +41,9 @@ gedit_pri=プライマリグループメンバー
gedit_prinone=このグループをプライマリとして持っているユーザーはいません
gedit_clone=クローングループ
+logins_head=ユーザー $1 のすべての記録されたログイン
+logins_head_limit=ユーザー $1 の最後の $2 回のログインが記録されました
+
udel_ugroupother=他のモジュールでこのユーザーのグループを削除します ..
log_gbatch=実行されたグループバッチファイル$1
diff --git a/useradmin/lang/ko b/useradmin/lang/ko
index ca12757ba..3d4970c53 100644
--- a/useradmin/lang/ko
+++ b/useradmin/lang/ko
@@ -133,7 +133,6 @@ usave_efromroot=루트(/)에서 홈 디렉토리를 이동할 수 없습니다
usave_etoroot=루트(/)로 홈 디렉토리를 이동할 수 없습니다
logins_title=기록된 로그인
-logins_head=$1의 기록된 로그인
logins_from=로그인 시작 위치
logins_tty=TTY
logins_in=로그인 위치
diff --git a/useradmin/lang/ko.auto b/useradmin/lang/ko.auto
index eacf04789..5535519a8 100644
--- a/useradmin/lang/ko.auto
+++ b/useradmin/lang/ko.auto
@@ -104,6 +104,9 @@ gsave_eallgid=허용 된 모든 GID가 할당되었습니다
gsave_eothers=그룹이 성공적으로 저장되었지만 다른 모듈에서 오류가 발생했습니다 : $1
gsave_egidused2=GID는 이미 사용 중입니다
+logins_head=사용자 $1에 대한 모든 기록된 로그인
+logins_head_limit=사용자 $1에 대한 마지막 $2개의 로그인이 기록되었습니다
+
udel_enum=잘못된 사용자 번호
udel_eroot=시스템 사용자 (UID가 10 이하인 사용자)는 삭제할 수 없습니다.
udel_ugroupother=다른 모듈에서이 사용자 그룹 삭제 ..
diff --git a/useradmin/lang/lt.auto b/useradmin/lang/lt.auto
index 9e71663ff..07410a4ec 100644
--- a/useradmin/lang/lt.auto
+++ b/useradmin/lang/lt.auto
@@ -233,7 +233,8 @@ usave_efromroot=Namų katalogo negalima perkelti iš /
usave_etoroot=Negalite perkelti pagrindinio katalogo į /
logins_title=Įrašyti prisijungimai
-logins_head=Įrašyti $1 prisijungimai
+logins_head=Visi įrašyti vartotojo $1 prisijungimai
+logins_head_limit=Paskutiniai $2 įrašyti vartotojo $1 prisijungimai
logins_from=Prisijungimas nuo
logins_tty=TTY
logins_in=Prisijungimas
diff --git a/useradmin/lang/lv.auto b/useradmin/lang/lv.auto
index 16eeeea31..5b8c970dd 100644
--- a/useradmin/lang/lv.auto
+++ b/useradmin/lang/lv.auto
@@ -233,7 +233,8 @@ usave_efromroot=Mājas direktoriju nevar pārvietot no /
usave_etoroot=Mājas direktoriju nevar pārvietot uz /
logins_title=Reģistrētie pieteikšanās
-logins_head=Reģistrēti pieteikumi $1
+logins_head=Visas lietotāja $1 reģistrētās pieteikšanās
+logins_head_limit=Pēdējās $2 reģistrētās pieteikšanās lietotājam $1
logins_from=Pieteikšanās no plkst
logins_tty=TTY
logins_in=Pieteikšanās plkst
diff --git a/useradmin/lang/ms.auto b/useradmin/lang/ms.auto
index 9273b837d..cf019aca3 100644
--- a/useradmin/lang/ms.auto
+++ b/useradmin/lang/ms.auto
@@ -233,7 +233,8 @@ usave_efromroot=Anda tidak boleh memindahkan direktori rumah dari /
usave_etoroot=Anda tidak boleh memindahkan direktori rumah ke /
logins_title=Log masuk yang dirakam
-logins_head=Log masuk yang telah dirakam untuk $1
+logins_head=Semua log masuk yang direkodkan untuk pengguna $1
+logins_head_limit=$2 log masuk terakhir yang direkodkan untuk pengguna $1
logins_from=Masuk Dari
logins_tty=TTY
logins_in=Masuk Di
diff --git a/useradmin/lang/mt.auto b/useradmin/lang/mt.auto
index 9911c513f..236c7188c 100644
--- a/useradmin/lang/mt.auto
+++ b/useradmin/lang/mt.auto
@@ -233,7 +233,8 @@ usave_efromroot=Ma tistax tiċċaqlaq id-direttorju tad-dar minn /
usave_etoroot=Ma tistax tiċċaqlaq id-direttorju tad-dar lejn /
logins_title=Logins Rreġistrati
-logins_head=Logins irrekordjati għal $1
+logins_head=Il-logins kollha rreġistrati għall-utent $1
+logins_head_limit=L-aħħar $2 logins irreġistrati għall-utent $1
logins_from=Idħol Minn
logins_tty=TTY
logins_in=Idħol fi
diff --git a/useradmin/lang/nl b/useradmin/lang/nl
index d4aae707e..fe7bad50f 100644
--- a/useradmin/lang/nl
+++ b/useradmin/lang/nl
@@ -216,7 +216,6 @@ usave_efromroot=U kunt de home directory niet verplaatsen van /
usave_etoroot=U kunt de home directory niet verplaatsen naar /
logins_title=Opgenomen Logins
-logins_head=Opgenomen logins voor $1
logins_from=Ingelogd Van
logins_tty=TTY
logins_in=Login Op
diff --git a/useradmin/lang/nl.auto b/useradmin/lang/nl.auto
index 58962ba97..7aa5120e6 100644
--- a/useradmin/lang/nl.auto
+++ b/useradmin/lang/nl.auto
@@ -18,3 +18,6 @@ usave_edigestcrypt=Uw systeem heeft $4 wachtwoorden ingeschakeld, maar de functi
usave_epasswd_cmd=Wachtwoordvalidatieopdracht mislukt
gedit_clone=Clone Group
+
+logins_head=Alle geregistreerde logins voor gebruiker $1
+logins_head_limit=De laatste $2 geregistreerde logins voor gebruiker $1
diff --git a/useradmin/lang/no b/useradmin/lang/no
index 314aa7d53..e812ee759 100644
--- a/useradmin/lang/no
+++ b/useradmin/lang/no
@@ -228,7 +228,6 @@ usave_efromroot=DU kan ikke flytte hjemmekatalogen fra /
usave_etoroot=Du kan ikke flytte hjemmekatalogen til /
logins_title=Loggførte innlogginger
-logins_head=Loggførte innlogginger for $1
logins_from=Innlogging fra
logins_tty=TTY
logins_in=Logget inn
diff --git a/useradmin/lang/no.auto b/useradmin/lang/no.auto
index b86fe4458..f2292632f 100644
--- a/useradmin/lang/no.auto
+++ b/useradmin/lang/no.auto
@@ -4,3 +4,6 @@ usave_eltgt=Brukernavnet kan ikke inneholde < eller > tegn
usave_ehomeslash=Hjemmekatalogen $1 kan ikke slutte med en /
usave_edigestmod=Systemet ditt har $4 -passord aktivert, men Perl $3 -modulen er ikke installert. For å tvinge frem bruken av vanlige krypterte passord, juster modulkonfigurasjonen eller få Webmin til å prøve å laste ned og installere $3 -modulen for deg.
usave_edigestcrypt=Systemet ditt har $4 passord aktivert, men krypt-funksjonen støtter ikke dette formatet. For å tvinge frem bruken av vanlige krypterte passord, juster modulkonfigurasjonen.
+
+logins_head=Alle registrerte pålogginger for bruker $1
+logins_head_limit=De siste $2 registrerte påloggingene for brukeren $1
diff --git a/useradmin/lang/pl b/useradmin/lang/pl
index a39ec2c52..b9d0d74f7 100644
--- a/useradmin/lang/pl
+++ b/useradmin/lang/pl
@@ -224,7 +224,6 @@ usave_efromroot=Nie masz uprawnień do zmiany katalogu domowego z / na inny
usave_etoroot=Nie masz uprawnień do zmiany katalogu domowego na /
logins_title=Zapamiętane logowania
-logins_head=Zapamiętane logowania użytkownika $1
logins_from=Logowanie z
logins_tty=TTY
logins_in=Zalogowany
diff --git a/useradmin/lang/pl.auto b/useradmin/lang/pl.auto
index b3b52e18c..508c99809 100644
--- a/useradmin/lang/pl.auto
+++ b/useradmin/lang/pl.auto
@@ -11,6 +11,9 @@ gedit_clone=Grupa klonów
gsave_eallgid=Wszystkie dozwolone identyfikatory GID zostały przydzielone
+logins_head=Wszystkie zarejestrowane logowania dla użytkownika $1
+logins_head_limit=Ostatnie $2 zarejestrowane logowania użytkownika $1
+
udel_eroot=Nie możesz usuwać użytkowników systemu (tych z UID mniejszym lub równym 10).
udel_ugroupother=Usuwanie grupy tego użytkownika w innych modułach ..
diff --git a/useradmin/lang/pt b/useradmin/lang/pt
index 4eaae6f26..c265380bb 100644
--- a/useradmin/lang/pt
+++ b/useradmin/lang/pt
@@ -114,7 +114,6 @@ usave_ehigid=O GID tem de ser menor ou igual a $1
usave_egidused=O grupo $1 já está a usar o GID $2
logins_title=Logins Gravados
-logins_head=Logins gravados de $1
logins_from=Login De
logins_tty=TTY
logins_in=Login Em
diff --git a/useradmin/lang/pt.auto b/useradmin/lang/pt.auto
index c123d61f4..7159349f9 100644
--- a/useradmin/lang/pt.auto
+++ b/useradmin/lang/pt.auto
@@ -123,6 +123,8 @@ gsave_egidused2=O GID já está em uso
usave_efromroot=Você não pode mover o diretório inicial de /
usave_etoroot=Você não pode mover o diretório inicial para /
+logins_head=Todos os logins registrados para o usuário $1
+logins_head_limit=Os últimos $2 logins registrados para o usuário $1
logins_elist=Você não tem permissão para listar logins
logins_elistu=Você não tem permissão para listar logins para '$1'
logins_local=Local
diff --git a/useradmin/lang/pt_BR b/useradmin/lang/pt_BR
index f3af0de19..bf4a664c8 100644
--- a/useradmin/lang/pt_BR
+++ b/useradmin/lang/pt_BR
@@ -212,7 +212,6 @@ usave_efromroot=Você não pode mudar o diretório inicial de /
usave_etoroot=Você não pode mudar o diretório inicial para /
logins_title=Logins Registrados
-logins_head=Logins registrados de $1
logins_from=Login De
logins_tty=TTY
logins_in=Login Em
diff --git a/useradmin/lang/pt_BR.auto b/useradmin/lang/pt_BR.auto
index f418ca023..234a1e370 100644
--- a/useradmin/lang/pt_BR.auto
+++ b/useradmin/lang/pt_BR.auto
@@ -23,6 +23,9 @@ gedit_desc=Descrição
gedit_egone=O grupo selecionado não existe mais!
gedit_clone=Grupo Clone
+logins_head=Todos os logins registrados para o usuário $1
+logins_head_limit=Os últimos $2 logins registrados para o usuário $1
+
udel_ugroupother=Excluindo o grupo deste usuário em outros módulos.
log_delete_users=Usuários $1 excluídos
diff --git a/useradmin/lang/ro.auto b/useradmin/lang/ro.auto
index adda8cb88..b3be5399b 100644
--- a/useradmin/lang/ro.auto
+++ b/useradmin/lang/ro.auto
@@ -233,7 +233,8 @@ usave_efromroot=Nu puteți muta directorul de acasă din /
usave_etoroot=Nu puteți muta directorul de acasă în /
logins_title=Logare înregistrate
-logins_head=Logare înregistrate pentru $1
+logins_head=Toate conexiunile înregistrate pentru utilizatorul $1
+logins_head_limit=Ultimele $2 autentificări înregistrate pentru utilizatorul $1
logins_from=Autentificare de la
logins_tty=TTY
logins_in=Autentificare la
diff --git a/useradmin/lang/ru b/useradmin/lang/ru
index 05018c19e..2f9c6ae39 100644
--- a/useradmin/lang/ru
+++ b/useradmin/lang/ru
@@ -159,7 +159,6 @@ usave_efromroot=Нельзя переместить домашний катал
usave_etoroot=Нельзя переместить домашний каталог в /
logins_title=Последние заходы в систему
-logins_head=Последние заходы в систему $1
logins_from=Вход с
logins_tty=TTY (терминал)
logins_in=Время входа
diff --git a/useradmin/lang/ru.auto b/useradmin/lang/ru.auto
index e54d8e799..54874c076 100644
--- a/useradmin/lang/ru.auto
+++ b/useradmin/lang/ru.auto
@@ -78,6 +78,9 @@ gsave_eallgid=Все разрешенные GID были распределен
gsave_eothers=Группа была успешно сохранена, но в другом модуле произошла ошибка : $1
gsave_egidused2=GID уже используется
+logins_head=Все зарегистрированные входы пользователя $1
+logins_head_limit=Последние $2 зарегистрированных входов для пользователя $1
+
udel_enum=Неверный номер пользователя
udel_eroot=Вам не разрешено удалять системных пользователей (с UID, меньшим или равным 10).
udel_ugroupother=Удаление группы этого пользователя в других модулях.
diff --git a/useradmin/lang/sk.auto b/useradmin/lang/sk.auto
index 0b3b155d2..8e1eeb071 100644
--- a/useradmin/lang/sk.auto
+++ b/useradmin/lang/sk.auto
@@ -233,7 +233,8 @@ usave_efromroot=Domovský adresár nemôžete presunúť z /
usave_etoroot=Domovský adresár nemôžete presunúť do /
logins_title=Zaznamenané prihlásenie
-logins_head=Zaznamenané prihlásenie pre $1
+logins_head=Všetky zaznamenané prihlásenia pre používateľa $1
+logins_head_limit=Posledné $2 zaznamenali prihlásenia pre používateľa $1
logins_from=Prihlásiť sa od
logins_tty=TTY
logins_in=Prihlásiť sa na
diff --git a/useradmin/lang/sl.auto b/useradmin/lang/sl.auto
index f3dd33a41..b2bd5daf4 100644
--- a/useradmin/lang/sl.auto
+++ b/useradmin/lang/sl.auto
@@ -233,7 +233,8 @@ usave_efromroot=Domačega imenika ne morete premakniti iz /
usave_etoroot=Domačega imenika ne morete premakniti v /
logins_title=Zabeležene prijave
-logins_head=Zapisane prijave za $1
+logins_head=Vse zabeležene prijave za uporabnika $1
+logins_head_limit=Zadnje $2 zabeležene prijave za uporabnika $1
logins_from=Prijava od
logins_tty=TTY
logins_in=Prijava ob
diff --git a/useradmin/lang/sv b/useradmin/lang/sv
index bb8c04b01..703d0b828 100644
--- a/useradmin/lang/sv
+++ b/useradmin/lang/sv
@@ -132,7 +132,6 @@ usave_efromroot=Du får inte flytta hemkatalogen från /
usave_etoroot=Du får inte flytta hemkatalogen till /
logins_title=Registrerade inloggningar
-logins_head=Registrerade inloggningar för $1
logins_from=Inloggning från
logins_tty=TTY
logins_in=Loggade in
diff --git a/useradmin/lang/sv.auto b/useradmin/lang/sv.auto
index d48e9e390..f388e23a9 100644
--- a/useradmin/lang/sv.auto
+++ b/useradmin/lang/sv.auto
@@ -105,6 +105,9 @@ gsave_eallgid=Alla tillåtna GID har tilldelats
gsave_eothers=Gruppen sparades framgångsrikt, men ett fel inträffade i en annan modul : $1
gsave_egidused2=GID används redan
+logins_head=Alla registrerade inloggningar för användare $1
+logins_head_limit=De senaste $2 registrerade inloggningarna för användaren $1
+
udel_enum=Ogiltigt användarnummer
udel_eroot=Du får inte ta bort systemanvändare (de med en UID som är mindre än eller lika med 10).
udel_ugroupother=Ta bort den här användargruppen i andra moduler ..
diff --git a/useradmin/lang/th.auto b/useradmin/lang/th.auto
index bc2ae6766..5022cda29 100644
--- a/useradmin/lang/th.auto
+++ b/useradmin/lang/th.auto
@@ -233,7 +233,8 @@ usave_efromroot=คุณไม่สามารถย้ายโฮมได
usave_etoroot=คุณไม่สามารถย้ายโฮมไดเร็กตอรี่ไปที่ /
logins_title=บันทึกการเข้าสู่ระบบ
-logins_head=บันทึกการเข้าสู่ระบบสำหรับ $1
+logins_head=บันทึกการเข้าระบบทั้งหมดสำหรับผู้ใช้ $1
+logins_head_limit=การเข้าสู่ระบบที่บันทึกไว้ล่าสุด $2 สำหรับผู้ใช้ $1
logins_from=เข้าสู่ระบบจาก
logins_tty=TTY
logins_in=เข้าสู่ระบบที่
diff --git a/useradmin/lang/tr b/useradmin/lang/tr
index f584693cd..132b989f3 100644
--- a/useradmin/lang/tr
+++ b/useradmin/lang/tr
@@ -192,7 +192,6 @@ usave_efromroot=/'den ev dizininizi taşıyamazsınız
usave_etoroot=/'e ev dizininizi taşıyamazsınız
logins_title=Kayıtlı Girişler
-logins_head=$1 girişleri kaydedildi
logins_from=Giriş Yeri
logins_tty=TTY
logins_in=Giriş
diff --git a/useradmin/lang/tr.auto b/useradmin/lang/tr.auto
index 3f868b717..88d4583f2 100644
--- a/useradmin/lang/tr.auto
+++ b/useradmin/lang/tr.auto
@@ -44,6 +44,9 @@ gedit_clone=Klon Grubu
gsave_egidused2=GID zaten kullanılıyor
+logins_head=$1 kullanıcısı için kaydedilen tüm oturum açmalar
+logins_head_limit=Son $2 kullanıcı $1 için kaydedilen oturum açmalar
+
udel_ugroupother=Bu kullanıcının grubunu diğer modüllerde silme ..
log_gbatch=Yürütülen grup toplu iş dosyası $1
diff --git a/useradmin/lang/uk b/useradmin/lang/uk
index 33a30010c..629cd3cf5 100644
--- a/useradmin/lang/uk
+++ b/useradmin/lang/uk
@@ -159,7 +159,6 @@ usave_efromroot=Не можна перемістити домашній ката
usave_etoroot=Не можна перемістити домашній каталог у /
logins_title=Останні заходи в систему
-logins_head=Останні заходи в систему $1
logins_from=Вхід з
logins_tty=TTY (термінал)
logins_in=Час входу
diff --git a/useradmin/lang/uk.auto b/useradmin/lang/uk.auto
index b802d6c71..8bd4d6dcd 100644
--- a/useradmin/lang/uk.auto
+++ b/useradmin/lang/uk.auto
@@ -78,6 +78,9 @@ gsave_eallgid=Усі дозволені GID були виділені
gsave_eothers=Групу було успішно збережено, але в іншому модулі сталася помилка : $1
gsave_egidused2=GID вже використовується
+logins_head=Усі записані входи для користувача $1
+logins_head_limit=Останні $2 записані входи для користувача $1
+
udel_enum=Недійсний номер користувача
udel_eroot=Вам заборонено видаляти користувачів системи (тих, хто має UID менше або дорівнює 10).
udel_ugroupother=Видалення групи цього користувача в інших модулях ..
diff --git a/useradmin/lang/ur.auto b/useradmin/lang/ur.auto
index 7ab7dc67e..3b7fac5dc 100644
--- a/useradmin/lang/ur.auto
+++ b/useradmin/lang/ur.auto
@@ -233,7 +233,8 @@ usave_efromroot=آپ ہوم ڈائریکٹری کو / سے منتقل نہیں
usave_etoroot=آپ ہوم ڈائرکٹری کو / میں منتقل نہیں کرسکتے ہیں
logins_title=ریکارڈ شدہ لاگ ان
-logins_head=Recorded logins for $1
+logins_head=صارف $1 کے لیے تمام ریکارڈ شدہ لاگ ان
+logins_head_limit=صارف $1 کے لیے آخری $2 ریکارڈ شدہ لاگ ان
logins_from=سے لاگ ان
logins_tty=ٹی ٹی وائی
logins_in=لاگ ان کریں
diff --git a/useradmin/lang/vi.auto b/useradmin/lang/vi.auto
index 3347d0165..a457a88f5 100644
--- a/useradmin/lang/vi.auto
+++ b/useradmin/lang/vi.auto
@@ -233,7 +233,8 @@ usave_efromroot=Bạn không thể di chuyển thư mục nhà từ /
usave_etoroot=Bạn không thể di chuyển thư mục nhà đến /
logins_title=Đăng nhập
-logins_head=Thông tin đăng nhập được ghi lại cho $1
+logins_head=Tất cả các lần đăng nhập được ghi lại cho người dùng $1
+logins_head_limit=$2 lần đăng nhập cuối cùng được ghi lại cho người dùng $1
logins_from=Đăng nhập từ
logins_tty=TTY
logins_in=Đăng nhập tại
diff --git a/useradmin/lang/zh b/useradmin/lang/zh
index 7327274d7..c6c910ce3 100644
--- a/useradmin/lang/zh
+++ b/useradmin/lang/zh
@@ -148,7 +148,6 @@ usave_efromroot=您无权从 / 移动用户主目录
usave_etoroot=您无权把用户主目录移动到 /
logins_title=已经记录的登录
-logins_head=$1 的已经记录的登录
logins_from=登录自
logins_tty=TTY
logins_in=登录在
diff --git a/useradmin/lang/zh.auto b/useradmin/lang/zh.auto
index f36c3966e..8b259cf10 100644
--- a/useradmin/lang/zh.auto
+++ b/useradmin/lang/zh.auto
@@ -89,6 +89,9 @@ gsave_eallgid=所有允许的GID已分配
gsave_eothers=该组已成功保存,但在另一个模块中发生错误:$1
gsave_egidused2=GID已被使用
+logins_head=用户 $1 的所有登录记录
+logins_head_limit=用户 $1 的最后 $2 次登录记录
+
udel_enum=无效的用户号码
udel_eroot=不允许删除系统用户(UID小于或等于10的用户)。
udel_ugroupother=在其他模块中删除此用户的组。
diff --git a/useradmin/lang/zh_TW b/useradmin/lang/zh_TW
index 4694bc06f..372f94329 100644
--- a/useradmin/lang/zh_TW
+++ b/useradmin/lang/zh_TW
@@ -153,7 +153,6 @@ usave_efromroot=您不能從 / 搬移這個家目錄
usave_etoroot=您不能將家目錄般移到 /
logins_title=登入紀錄
-logins_head=$1 的登入紀錄
logins_from=登入來源
logins_tty=終端機
logins_in=登入於
diff --git a/useradmin/lang/zh_TW.auto b/useradmin/lang/zh_TW.auto
index 81eaf73e3..9fbb44516 100644
--- a/useradmin/lang/zh_TW.auto
+++ b/useradmin/lang/zh_TW.auto
@@ -84,6 +84,9 @@ gsave_eallgid=所有允許的GID已分配
gsave_eothers=該組已成功保存,但是在另一個模塊中發生了錯誤:$1
gsave_egidused2=GID已被使用
+logins_head=用戶 $1 的所有登入記錄
+logins_head_limit=用戶 $1 的最後 $2 次登入記錄
+
udel_enum=無效的用戶號碼
udel_eroot=不允許刪除系統用戶(UID小於或等於10的用戶)。
udel_ugroupother=在其他模塊中刪除此用戶的組。
diff --git a/useradmin/linux-lib.pl b/useradmin/linux-lib.pl
index f5d848344..678cb1a30 100755
--- a/useradmin/linux-lib.pl
+++ b/useradmin/linux-lib.pl
@@ -17,12 +17,13 @@ sub groupfiles_type
return &password_file($config{'gshadow_file'}) ? 2 : 0;
}
-# open_last_command(handle, user)
+# open_last_command(handle, user, [max])
sub open_last_command
{
-local ($fh, $user) = @_;
-local $quser = quotemeta($user);
-open($fh, "(last -F -w $quser || last -w $quser) |");
+my ($fh, $user, $max) = @_;
+my $quser = quotemeta($user);
+$max = " -n $max" if ($max);
+open($fh, "(last -F -w$max $quser || last -w$max $quser) |");
}
# read_last_line(handle)
diff --git a/useradmin/list_logins.cgi b/useradmin/list_logins.cgi
index b6e6585e3..9c6eaf651 100755
--- a/useradmin/list_logins.cgi
+++ b/useradmin/list_logins.cgi
@@ -42,7 +42,17 @@ foreach $l (&list_last_logins($u, $config{'last_count'})) {
# Show the table
if ($u) {
- print &ui_subheading(&text('logins_head', &html_escape($u)));
+ my $last_login_max = $config{'last_count'};
+ # Sanity check
+ if (defined($last_login_max) && $last_login_max <= 0) {
+ undef($last_login_max);
+ }
+ my $last_login_label =
+ $last_login_max ? 'logins_head_limit' : 'logins_head';
+ print &ui_subheading(
+ &text($last_login_label,
+ &html_escape($u),
+ &html_escape($last_login_max)));
}
print &ui_columns_table(
[ $u ? ( ) : ( $text{'user'} ), $text{'logins_from'},
diff --git a/useradmin/macos-lib.pl b/useradmin/macos-lib.pl
index 39bed222a..622aa2437 100755
--- a/useradmin/macos-lib.pl
+++ b/useradmin/macos-lib.pl
@@ -54,11 +54,12 @@ else {
}
}
-# open_last_command(handle, user)
+# open_last_command(handle, user, [max])
sub open_last_command
{
-local ($fh, $user) = @_;
-open($fh, "last $user |");
+my ($fh, $user, $max) = @_;
+$max = " -n $max" if ($max);
+open($fh, "last$max $user |");
}
# read_last_line(handle)
diff --git a/useradmin/user-lib.pl b/useradmin/user-lib.pl
index 1cddcc7d0..9cd2700a7 100755
--- a/useradmin/user-lib.pl
+++ b/useradmin/user-lib.pl
@@ -2552,11 +2552,13 @@ Returns a list of array references, each containing the details of a login.
=cut
sub list_last_logins
{
-local @rv;
-&open_last_command(LAST, $_[0]);
+my ($user, $max) = @_;
+my @rv;
+undef($max) if (defined($max) && $max <= 0); # sanity check
+&open_last_command(LAST, $user, $max);
while(@last = &read_last_line(LAST)) {
push(@rv, [ @last ]);
- if ($_[1] && scalar(@rv) >= $_[1]) {
+ if ($max && scalar(@rv) >= $max) {
last; # reached max
}
}