-# TODO
-# - /etc/login.defs contains options valid only when PAM is disabled:
-# gpasswd -M chef_server chef_server
-#configuration error - unknown item 'FAILLOG_ENAB' (notify administrator)
-#configuration error - unknown item 'LASTLOG_ENAB' (notify administrator)
-#configuration error - unknown item 'MAIL_CHECK_ENAB' (notify administrator)
-#configuration error - unknown item 'OBSCURE_CHECKS_ENAB' (notify administrator)
-#configuration error - unknown item 'PORTTIME_CHECKS_ENAB' (notify administrator)
-#configuration error - unknown item 'QUOTAS_ENAB' (notify administrator)
-#configuration error - unknown item 'MOTD_FILE' (notify administrator)
-#configuration error - unknown item 'FTMP_FILE' (notify administrator)
-#configuration error - unknown item 'NOLOGINS_FILE' (notify administrator)
-#configuration error - unknown item 'ENV_HZ' (notify administrator)
-#configuration error - unknown item 'PASS_MIN_LEN' (notify administrator)
-#configuration error - unknown item 'SU_WHEEL_ONLY' (notify administrator)
-#configuration error - unknown item 'CRACKLIB_DICTPATH' (notify administrator)
-#configuration error - unknown item 'PASS_CHANGE_TRIES' (notify administrator)
-#configuration error - unknown item 'PASS_ALWAYS_WARN' (notify administrator)
-#configuration error - unknown item 'CHFN_AUTH' (notify administrator)
-#configuration error - unknown item 'ENVIRON_FILE' (notify administrator)
-# - sync pam files from pwdutils
-# - tcb support?
-# - ensure Conflicts with various packages (util-linux,sysvinit,coreutils) is up to date
-
# Conditional build:
%bcond_without selinux # build without SE-Linux support
%bcond_with shared # build with shared libshadow (linking with selinux is broken)
Summary(pt_BR.UTF-8): Utilitários para o arquivo de senhas Shadow
Summary(tr.UTF-8): Gölge parola dosyası araçları
Name: shadow
-Version: 4.6
-#BuildRequires: useradd -g is broken, use pwdutils, or fix it:
-# http://zie.pg.gda.pl/mailman/pipermail/shadow/2006-September/000395.html
-Release: 0.1
+Version: 4.15.1
+Release: 1
Epoch: 1
License: BSD
Group: Applications/System
Source0: https://github.com/shadow-maint/shadow/releases/download/%{version}/%{name}-%{version}.tar.xz
-# Source0-md5: b491fecbf1232632c32ff8f1437fd60e
+# Source0-md5: 006b0856abd49b5e7b45b7cb78ca272a
Source2: %{name}-login.defs
Source3: %{name}.useradd
Source10: chage.pamd
Source21: useradd.pamd
Source22: userdel.pamd
Source23: usermod.pamd
-Patch0: %{name}-pld.patch
-# allow names with upper case letters or containing dot in the middle
-Patch1: %{name}-goodname.patch
+Patch0: %{name}-tld.patch
+Patch1: pam-login-delay.patch
URL: https://github.com/shadow-maint/shadow
BuildRequires: acl-devel
BuildRequires: attr-devel
BuildRequires: audit-libs-devel
-BuildRequires: autoconf >= 2.64
-BuildRequires: automake >= 1:1.11
+BuildRequires: docbook-dtd45-xml
+BuildRequires: docbook-style-xsl-nons
BuildRequires: gettext-tools >= 0.12.1
+BuildRequires: itstool
%{?with_selinux:BuildRequires: libselinux-devel}
%{?with_selinux:BuildRequires: libsemanage-devel}
-BuildRequires: libtool
+BuildRequires: libxslt-progs
+BuildRequires: linux-libc-headers >= 7:4.7
BuildRequires: pam-devel
BuildRequires: tar >= 1:1.22
BuildRequires: xz
Provides: passwd
Provides: shadow-utils
Obsoletes: passwd
-Obsoletes: pwdutils
-Obsoletes: shadow-extras
-Obsoletes: shadow-utils
+Obsoletes: pwdutils < 3.3
+Obsoletes: shadow-extras < 1:4.2
+Obsoletes: shadow-utils < 1:4
Conflicts: util-linux < 2.12-10
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
Várias páginas de manual estão também incluídas sobre estes
utilitários e senhas shadow em geral.
+%package -n uidmap
+Summary: Programs to help use subuids
+Summary(pl.UTF-8): Programy pomagające w stosowaniu poduidów
+Group: Applications/System
+Requires: setup >= 2.10.0
+
+%description -n uidmap
+These programs help unprivileged users to create uid and gid mappings
+in user namespaces.
+
+%description -n uidmap -l pl.UTF-8
+Programy z tego pakietu pomagają nieuprzywilejowanym użytkownikom
+tworzyć mapowania uidów i gidów w przestrzeniach użytkowników.
+
%prep
%setup -q
%patch0 -p1
# - cracklib option refers to non-PAM passwd code
# - skey referes to non-PAM pw_auth/passwd_check (login, su, chfn, chsh) code
%configure \
- --bindir=/bin \
- --sbindir=/sbin \
--enable-shadowgrp \
%{?with_shared:--enable-shared --disable-static} \
--disable-silent-rules \
+ --enable-man \
--enable-subordinate-ids \
--with-acl \
--with-attr \
--with-group-name-max-length=32 \
--with-libpam \
--with-nscd \
+ --without-su \
--without-libcrack \
%{?with_selinux:--with-selinux} \
--with-sha-crypt \
> $RPM_BUILD_ROOT/etc/security/chfn.allow
> $RPM_BUILD_ROOT/etc/security/chsh.allow
-%{__rm} $RPM_BUILD_ROOT/{etc/pam.d,bin}/{login,su}
-%{__rm} $RPM_BUILD_ROOT%{_mandir}/{,*/}man1/{login,su}.1*
+%{__rm} $RPM_BUILD_ROOT/{etc/pam.d,%{_bindir}}/login
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/*/man1/su.1*
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/{,*/}man1/login.1*
%{__rm} $RPM_BUILD_ROOT%{_mandir}/{,*/}man3/*.3*
-# packaged in SysVinit-tools
-%{__rm} $RPM_BUILD_ROOT%{_bindir}/lastlog
-%{__rm} $RPM_BUILD_ROOT%{_mandir}/{,*/}man8/lastlog.8*
# packaged in coreutils
-%{__rm} $RPM_BUILD_ROOT/bin/groups
+%{__rm} $RPM_BUILD_ROOT%{_bindir}/groups
%{__rm} $RPM_BUILD_ROOT%{_mandir}/{,*/}man1/groups.1*
# packaged in util-linux
-%{__rm} $RPM_BUILD_ROOT/sbin/nologin
+%{__rm} $RPM_BUILD_ROOT%{_sbindir}/nologin
%{__rm} $RPM_BUILD_ROOT%{_mandir}/{,*/}man*/nologin.8*
+# not packaged yet
+%{__rm} $RPM_BUILD_ROOT%{_includedir}/shadow/subid.h
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/libsubid.a
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/libsubid.la
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/libsubid.so
+
%find_lang %{name}
%clean
%{?with_shared:%postun -p /sbin/ldconfig}
+%post -n uidmap -p /sbin/ldconfig
+%postun -n uidmap -p /sbin/ldconfig
+
%files -f %{name}.lang
%defattr(644,root,root,755)
-%doc ChangeLog NEWS TODO doc/{HOWTO,WISHLIST}
-%attr(750,root,root) %dir %{_sysconfdir}/default
+%doc ChangeLog NEWS doc/HOWTO
%attr(640,root,root) %config %verify(not md5 mtime size) %{_sysconfdir}/default/useradd
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/chage
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/chfn
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/chsh.allow
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/login.defs
%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %ghost %{_sysconfdir}/shadow
-%dir /etc/skel
%dir /etc/skel/tmp
%{?with_shared:%attr(755,root,root) %{_libdir}/lib*.so.*.*}
%attr(4755,root,root) %{_bindir}/chfn
%attr(4755,root,root) %{_bindir}/expiry
%attr(4755,root,root) %{_bindir}/gpasswd
%attr(4755,root,root) %{_bindir}/passwd
-%attr(755,root,root) %{_bindir}/chage
+%attr(4755,root,root) %{_bindir}/chage
%attr(755,root,root) %{_bindir}/faillog
-%attr(755,root,root) %{_bindir}/newgidmap
-%attr(755,root,root) %{_bindir}/newgrp
-%attr(755,root,root) %{_bindir}/newuidmap
+%attr(4755,root,root) %{_bindir}/newgrp
%attr(755,root,root) %{_bindir}/sg
%attr(755,root,root) %{_sbindir}/chgpasswd
%attr(755,root,root) %{_sbindir}/chpasswd
%{_mandir}/man1/chsh.1*
%{_mandir}/man1/expiry.1*
%{_mandir}/man1/gpasswd.1*
-%{_mandir}/man1/newgidmap.1*
%{_mandir}/man1/newgrp.1*
-%{_mandir}/man1/newuidmap.1*
%{_mandir}/man1/passwd.1*
%{_mandir}/man1/sg.1*
%{_mandir}/man5/faillog.5*
%{_mandir}/man5/passwd.5*
%{_mandir}/man5/shadow.5*
%{_mandir}/man5/suauth.5*
-%{_mandir}/man5/subgid.5*
-%{_mandir}/man5/subuid.5*
%{_mandir}/man8/chgpasswd.8*
%{_mandir}/man8/chpasswd.8*
%{_mandir}/man8/faillog.8*
%lang(fr) %{_mandir}/fr/man1/chsh.1*
%lang(fr) %{_mandir}/fr/man1/expiry.1*
%lang(fr) %{_mandir}/fr/man1/gpasswd.1*
-%lang(fr) %{_mandir}/fr/man1/newgidmap.1*
%lang(fr) %{_mandir}/fr/man1/newgrp.1*
-%lang(fr) %{_mandir}/fr/man1/newuidmap.1*
%lang(fr) %{_mandir}/fr/man1/passwd.1*
%lang(fr) %{_mandir}/fr/man1/sg.1*
%lang(fr) %{_mandir}/fr/man5/faillog.5*
%lang(fr) %{_mandir}/fr/man5/passwd.5*
%lang(fr) %{_mandir}/fr/man5/shadow.5*
%lang(fr) %{_mandir}/fr/man5/suauth.5*
-%lang(fr) %{_mandir}/fr/man5/subgid.5*
-%lang(fr) %{_mandir}/fr/man5/subuid.5*
%lang(fr) %{_mandir}/fr/man8/chgpasswd.8*
%lang(fr) %{_mandir}/fr/man8/chpasswd.8*
%lang(fr) %{_mandir}/fr/man8/faillog.8*
%lang(tr) %{_mandir}/tr/man8/userdel.8*
%lang(tr) %{_mandir}/tr/man8/usermod.8*
+%lang(uk) %{_mandir}/uk/man1/chage.1*
+%lang(uk) %{_mandir}/uk/man1/chfn.1*
+%lang(uk) %{_mandir}/uk/man1/chsh.1*
+%lang(uk) %{_mandir}/uk/man1/expiry.1*
+%lang(uk) %{_mandir}/uk/man1/gpasswd.1*
+%lang(uk) %{_mandir}/uk/man1/newgrp.1*
+%lang(uk) %{_mandir}/uk/man1/passwd.1*
+%lang(uk) %{_mandir}/uk/man1/sg.1*
+%lang(uk) %{_mandir}/uk/man5/faillog.5*
+%lang(uk) %{_mandir}/uk/man5/gshadow.5*
+%lang(uk) %{_mandir}/uk/man5/login.defs.5*
+%lang(uk) %{_mandir}/uk/man5/passwd.5*
+%lang(uk) %{_mandir}/uk/man5/shadow.5*
+%lang(uk) %{_mandir}/uk/man5/suauth.5*
+%lang(uk) %{_mandir}/uk/man8/chgpasswd.8*
+%lang(uk) %{_mandir}/uk/man8/chpasswd.8*
+%lang(uk) %{_mandir}/uk/man8/faillog.8*
+%lang(uk) %{_mandir}/uk/man8/groupadd.8*
+%lang(uk) %{_mandir}/uk/man8/groupdel.8*
+%lang(uk) %{_mandir}/uk/man8/groupmems.8*
+%lang(uk) %{_mandir}/uk/man8/groupmod.8*
+%lang(uk) %{_mandir}/uk/man8/grpck.8*
+%lang(uk) %{_mandir}/uk/man8/grpconv.8*
+%lang(uk) %{_mandir}/uk/man8/grpunconv.8*
+%lang(uk) %{_mandir}/uk/man8/logoutd.8*
+%lang(uk) %{_mandir}/uk/man8/newusers.8*
+%lang(uk) %{_mandir}/uk/man8/pwck.8*
+%lang(uk) %{_mandir}/uk/man8/pwconv.8*
+%lang(uk) %{_mandir}/uk/man8/pwunconv.8*
+%lang(uk) %{_mandir}/uk/man8/useradd.8*
+%lang(uk) %{_mandir}/uk/man8/userdel.8*
+%lang(uk) %{_mandir}/uk/man8/usermod.8*
+%lang(uk) %{_mandir}/uk/man8/vigr.8*
+%lang(uk) %{_mandir}/uk/man8/vipw.8*
+
%lang(zh_CN) %{_mandir}/zh_CN/man1/chage.1*
%lang(zh_CN) %{_mandir}/zh_CN/man1/chfn.1*
%lang(zh_CN) %{_mandir}/zh_CN/man1/chsh.1*
%lang(zh_TW) %{_mandir}/zh_TW/man8/useradd.8*
%lang(zh_TW) %{_mandir}/zh_TW/man8/userdel.8*
%lang(zh_TW) %{_mandir}/zh_TW/man8/usermod.8*
+
+%files -n uidmap
+%defattr(644,root,root,755)
+%attr(4755,root,root) %{_bindir}/newgidmap
+%attr(4755,root,root) %{_bindir}/newuidmap
+%attr(755,root,root) %{_bindir}/getsubids
+%{_mandir}/man1/getsubids.1*
+%{_mandir}/man1/newgidmap.1*
+%{_mandir}/man1/newuidmap.1*
+%{_mandir}/man5/subgid.5*
+%{_mandir}/man5/subuid.5*
+%lang(fr) %{_mandir}/fr/man1/newgidmap.1*
+%lang(fr) %{_mandir}/fr/man1/newuidmap.1*
+%lang(fr) %{_mandir}/fr/man5/subgid.5*
+%lang(fr) %{_mandir}/fr/man5/subuid.5*
+%ghost %{_libdir}/libsubid.so.4
+%attr(755,root,root) %{_libdir}/libsubid.so.*.*.*