12 -I$(top_srcdir)/libmisc \
13 -DLOCALEDIR=\"$(datadir)/locale\"
15 # XXX why are login and su in /bin anyway (other than for
16 # historical reasons)?
18 # if the system is screwed so badly that it can't mount /usr,
19 # you can (hopefully) boot single user, and then you're root
20 # so you don't need these programs for recovery.
22 # also /lib/libshadow.so.x.xx (if any) could be moved to /usr/lib
23 # and installation would be much simpler (just two directories,
24 # $prefix/bin and $prefix/sbin, no install-data hacks...)
26 bin_PROGRAMS = groups login su
27 sbin_PROGRAMS = nologin
28 ubin_PROGRAMS = faillog lastlog chage chfn chsh expiry gpasswd newgrp passwd
30 ubin_PROGRAMS += newgidmap newuidmap
52 # id and groups are from gnu, sulogin from sysvinit
53 noinst_PROGRAMS = id sulogin
57 suidubins = chage chfn chsh expiry gpasswd newgrp
62 suidusbins += chgpasswd chpasswd groupadd groupdel groupmod newusers useradd userdel usermod
66 suidubins += newgidmap newuidmap
71 shadowsgidubins = passwd
75 $(top_builddir)/libmisc/libmisc.a \
76 $(top_builddir)/lib/libshadow.la \
80 LIBPAM_SUID = $(LIBPAM)
88 LIBCRYPT_NOPAM = $(LIBCRYPT)
91 chage_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
92 newuidmap_LDADD = $(LDADD) $(LIBSELINUX) $(LIBCAP)
93 newgidmap_LDADD = $(LDADD) $(LIBSELINUX) $(LIBCAP)
94 chfn_LDADD = $(LDADD) $(LIBPAM) $(LIBSELINUX) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) $(LIBECONF)
95 chgpasswd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF)
96 chsh_LDADD = $(LDADD) $(LIBPAM) $(LIBSELINUX) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) $(LIBECONF)
97 chpasswd_LDADD = $(LDADD) $(LIBPAM) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF)
98 expiry_LDADD = $(LDADD) $(LIBECONF)
99 gpasswd_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF)
100 groupadd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
101 groupdel_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
102 groupmems_LDADD = $(LDADD) $(LIBPAM) $(LIBSELINUX) $(LIBECONF)
103 groupmod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF)
104 grpck_LDADD = $(LDADD) $(LIBSELINUX) $(LIBECONF)
105 grpconv_LDADD = $(LDADD) $(LIBSELINUX) $(LIBECONF)
106 grpunconv_LDADD = $(LDADD) $(LIBSELINUX) $(LIBECONF)
107 lastlog_LDADD = $(LDADD) $(LIBAUDIT) $(LIBECONF)
111 login_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) $(LIBECONF)
112 newgrp_LDADD = $(LDADD) $(LIBAUDIT) $(LIBCRYPT) $(LIBECONF)
113 newusers_LDADD = $(LDADD) $(LIBPAM) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF)
115 passwd_LDADD = $(LDADD) $(LIBPAM) $(LIBCRACK) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT_NOPAM) $(LIBECONF)
116 pwck_LDADD = $(LDADD) $(LIBSELINUX) $(LIBECONF)
117 pwconv_LDADD = $(LDADD) $(LIBSELINUX) $(LIBECONF)
118 pwunconv_LDADD = $(LDADD) $(LIBSELINUX) $(LIBECONF)
122 su_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) $(LIBECONF)
123 sulogin_LDADD = $(LDADD) $(LIBCRYPT) $(LIBECONF)
124 useradd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) $(LIBECONF)
125 userdel_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBECONF)
126 usermod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) $(LIBECONF)
127 vipw_LDADD = $(LDADD) $(LIBSELINUX) $(LIBECONF)
130 $(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
131 ln -sf newgrp $(DESTDIR)$(ubindir)/sg
132 ln -sf vipw $(DESTDIR)$(usbindir)/vigr
133 for i in $(suidbins); do \
134 chmod $(suidperms) $(DESTDIR)$(bindir)/$$i; \
136 for i in $(suidubins); do \
137 chmod $(suidperms) $(DESTDIR)$(ubindir)/$$i; \
139 for i in $(suidusbins); do \
140 chmod $(suidperms) $(DESTDIR)$(usbindir)/$$i; \
143 for i in $(shadowsgidubins); do \
144 chown root:shadow $(DESTDIR)$(ubindir)/$$i; \
145 chmod $(sgidperms) $(DESTDIR)$(ubindir)/$$i; \
150 setcap cap_setuid+ep $(DESTDIR)$(ubindir)/newuidmap
151 setcap cap_setgid+ep $(DESTDIR)$(ubindir)/newgidmap