- No longer need afs, dircolors, utmp, gcc4, brokentest, dateseconds, chown, rmaccess, copy, stale-utmp, no-sign-extend, fchown patches. - Updated acl, dateman, pam, langinfo, i18n, getgrouplist, selinux patches. - Dropped printf-ll, allow_old_options, jday, zh_CN patches. - NOTE: i18n patch not ported for sort(1) yet.
237 lines
7.7 KiB
Diff
237 lines
7.7 KiB
Diff
--- coreutils-5.92/src/su.c.runuser 2005-10-27 09:13:53.000000000 +0100
|
|
+++ coreutils-5.92/src/su.c 2005-10-27 09:17:11.000000000 +0100
|
|
@@ -134,7 +134,9 @@
|
|
/* The official name of this program (e.g., no `g' prefix). */
|
|
#define PROGRAM_NAME "su"
|
|
|
|
+#ifndef AUTHORS
|
|
#define AUTHORS "David MacKenzie"
|
|
+#endif
|
|
|
|
#if HAVE_PATHS_H
|
|
# include <paths.h>
|
|
@@ -172,6 +174,10 @@
|
|
#ifndef USE_PAM
|
|
char *crypt ();
|
|
#endif
|
|
+#ifndef CHECKPASSWD
|
|
+#define CHECKPASSWD 1
|
|
+#endif
|
|
+
|
|
char *getpass ();
|
|
char *getusershell ();
|
|
void endusershell ();
|
|
@@ -730,7 +736,7 @@
|
|
: DEFAULT_SHELL);
|
|
endpwent ();
|
|
|
|
- if (!correct_password (pw))
|
|
+ if (CHECKPASSWD && !correct_password (pw))
|
|
{
|
|
#ifdef SYSLOG_FAILURE
|
|
log_su (pw, false);
|
|
--- coreutils-5.92/src/Makefile.am.runuser 2005-10-27 09:13:53.000000000 +0100
|
|
+++ coreutils-5.92/src/Makefile.am 2005-10-27 09:13:53.000000000 +0100
|
|
@@ -17,7 +17,7 @@
|
|
## along with this program; if not, write to the Free Software Foundation,
|
|
## Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
|
|
-EXTRA_PROGRAMS = chroot df hostid nice pinky stty su uname uptime users who
|
|
+EXTRA_PROGRAMS = chroot df hostid nice pinky stty su runuser uname uptime users who
|
|
|
|
bin_SCRIPTS = groups
|
|
bin_PROGRAMS = [ chgrp chown chmod cp dd dircolors du \
|
|
@@ -91,6 +91,7 @@
|
|
uptime_LDADD = $(LDADD) $(GETLOADAVG_LIBS)
|
|
|
|
su_LDADD = $(LDADD) $(LIB_CRYPT) @LIB_PAM@
|
|
+runuser_LDADD = $(LDADD) $(LIB_CRYPT)
|
|
|
|
$(PROGRAMS): ../lib/libcoreutils.a
|
|
|
|
@@ -106,7 +107,7 @@
|
|
chmod +x $@-t
|
|
mv $@-t $@
|
|
|
|
-all-local: su$(EXEEXT)
|
|
+all-local: su$(EXEEXT) runuser
|
|
|
|
installed_su = $(DESTDIR)$(bindir)/`echo su|sed '$(transform)'`
|
|
|
|
--- /dev/null 2005-10-10 09:36:06.437701000 +0100
|
|
+++ coreutils-5.92/src/runuser.c 2005-10-27 09:17:34.000000000 +0100
|
|
@@ -0,0 +1,54 @@
|
|
+#define CHECKPASSWD 0
|
|
+#define pam_start my_pam_start
|
|
+#define pam_end my_pam_end
|
|
+#define pam_setcred my_pam_setcred
|
|
+#define pam_open_session my_pam_open_session
|
|
+#define pam_close_session my_pam_close_session
|
|
+#define pam_strerror my_pam_strerror
|
|
+#define pam_getenvlist my_pam_getenvlist
|
|
+#define AUTHORS "David MacKenzie, Dan Walsh"
|
|
+#include "su.c"
|
|
+int pam_start(const char *service_name, const char *user,
|
|
+ const struct pam_conv *pam_conversation,
|
|
+ pam_handle_t **pamh) {
|
|
+ return PAM_SUCCESS;
|
|
+}
|
|
+int pam_end(pam_handle_t *pamh, int pam_status) {
|
|
+ return PAM_SUCCESS;
|
|
+}
|
|
+int pam_setcred(pam_handle_t *pamh, int flags){
|
|
+ return PAM_SUCCESS;
|
|
+}
|
|
+int pam_open_session(pam_handle_t *pamh, int flags){
|
|
+ return PAM_SUCCESS;
|
|
+}
|
|
+int pam_close_session(pam_handle_t *pamh, int flags){
|
|
+ return PAM_SUCCESS;
|
|
+}
|
|
+const char *pam_strerror(pam_handle_t *pamh, int err){
|
|
+ return "";
|
|
+}
|
|
+char **pam_getenvlist(pam_handle_t *pamh){
|
|
+ return NULL;
|
|
+}
|
|
+
|
|
+int misc_conv(int num_msg, const struct pam_message **msgm,
|
|
+ struct pam_response **response, void *appdata_ptr) {
|
|
+ return PAM_SUCCESS;
|
|
+}
|
|
+
|
|
+int pam_authenticate(pam_handle_t *pamh, int flags) {
|
|
+ return PAM_SUCCESS;
|
|
+}
|
|
+
|
|
+int pam_acct_mgmt(pam_handle_t *pamh, int flags) {
|
|
+ return PAM_SUCCESS;
|
|
+}
|
|
+
|
|
+int pam_chauthtok (pam_handle_t *pamh, int flags) {
|
|
+ return PAM_SUCCESS;
|
|
+}
|
|
+
|
|
+int pam_set_item(pam_handle_t *pamh, int item_type, const void *item) {
|
|
+ return PAM_SUCCESS;
|
|
+}
|
|
--- /dev/null 2005-10-10 09:36:06.437701000 +0100
|
|
+++ coreutils-5.92/man/runuser.1 2005-10-27 09:13:53.000000000 +0100
|
|
@@ -0,0 +1,59 @@
|
|
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.33.
|
|
+.TH RUNUSER "1" "September 2004" "runuser (coreutils) 5.2.1" "User Commands"
|
|
+.SH NAME
|
|
+runuser \- run a shell with substitute user and group IDs, similar to su, but will not prompt for password.
|
|
+.SH SYNOPSIS
|
|
+.B runuser
|
|
+[\fIOPTION\fR]... [\fI-\fR] [\fIUSER \fR[\fIARG\fR]...]
|
|
+.SH DESCRIPTION
|
|
+.\" Add any additional description here
|
|
+.PP
|
|
+Change the effective user id and group id to that of USER.
|
|
+.TP
|
|
+-, \fB\-l\fR, \fB\-\-login\fR
|
|
+make the shell a login shell
|
|
+.TP
|
|
+\fB\-c\fR, \fB\-\-commmand\fR=\fICOMMAND\fR
|
|
+pass a single COMMAND to the shell with \fB\-c\fR
|
|
+.TP
|
|
+\fB\-f\fR, \fB\-\-fast\fR
|
|
+pass \fB\-f\fR to the shell (for csh or tcsh)
|
|
+.TP
|
|
+\fB\-m\fR, \fB\-\-preserve\-environment\fR
|
|
+do not reset environment variables
|
|
+.TP
|
|
+\fB\-p\fR
|
|
+same as \fB\-m\fR
|
|
+.TP
|
|
+\fB\-s\fR, \fB\-\-shell\fR=\fISHELL\fR
|
|
+run SHELL if /etc/shells allows it
|
|
+.TP
|
|
+\fB\-\-help\fR
|
|
+display this help and exit
|
|
+.TP
|
|
+\fB\-\-version\fR
|
|
+output version information and exit
|
|
+.PP
|
|
+A mere - implies \fB\-l\fR. If USER not given, assume root.
|
|
+.SH AUTHOR
|
|
+Written by David MacKenzie, Dan Walsh.
|
|
+.SH "REPORTING BUGS"
|
|
+Report bugs to <bug-coreutils@gnu.org>.
|
|
+.SH COPYRIGHT
|
|
+Copyright \(co 2004 Free Software Foundation, Inc.
|
|
+.br
|
|
+This is free software; see the source for copying conditions. There is NO
|
|
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
+.SH "SEE ALSO"
|
|
+Since this command is trimmed down version of su use you can use the su manual.
|
|
+The full documentation for
|
|
+.B su
|
|
+is maintained as a Texinfo manual. If the
|
|
+.B info
|
|
+and
|
|
+.B su
|
|
+programs are properly installed at your site, the command
|
|
+.IP
|
|
+.B info coreutils su
|
|
+.PP
|
|
+should give you access to the complete manual.
|
|
--- coreutils-5.92/man/Makefile.am.runuser 2005-10-13 15:12:26.000000000 +0100
|
|
+++ coreutils-5.92/man/Makefile.am 2005-10-27 09:13:53.000000000 +0100
|
|
@@ -7,7 +7,7 @@
|
|
link.1 ln.1 logname.1 \
|
|
ls.1 md5sum.1 mkdir.1 mkfifo.1 mknod.1 mv.1 nice.1 nl.1 nohup.1 od.1 \
|
|
paste.1 pathchk.1 pinky.1 pr.1 printenv.1 printf.1 ptx.1 pwd.1 readlink.1 \
|
|
- rm.1 rmdir.1 seq.1 sha1sum.1 shred.1 sleep.1 sort.1 split.1 stat.1 stty.1 \
|
|
+ rm.1 rmdir.1 runuser.1 seq.1 sha1sum.1 shred.1 sleep.1 sort.1 split.1 stat.1 stty.1 \
|
|
su.1 sum.1 sync.1 tac.1 tail.1 tee.1 test.1 touch.1 tr.1 true.1 tsort.1 \
|
|
tty.1 uname.1 unexpand.1 uniq.1 unlink.1 uptime.1 users.1 vdir.1 wc.1 \
|
|
who.1 whoami.1 yes.1
|
|
@@ -81,6 +81,7 @@
|
|
readlink.1: $(common_dep) $(srcdir)/readlink.x ../src/readlink.c
|
|
rm.1: $(common_dep) $(srcdir)/rm.x ../src/rm.c
|
|
rmdir.1: $(common_dep) $(srcdir)/rmdir.x ../src/rmdir.c
|
|
+runuser.1: $(common_dep) $(srcdir)/runuser.x ../src/runuser.c
|
|
seq.1: $(common_dep) $(srcdir)/seq.x ../src/seq.c
|
|
sha1sum.1: $(common_dep) $(srcdir)/sha1sum.x ../src/md5sum.c
|
|
shred.1: $(common_dep) $(srcdir)/shred.x ../src/shred.c
|
|
--- /dev/null 2005-10-10 09:36:06.437701000 +0100
|
|
+++ coreutils-5.92/man/runuser.x 2005-10-27 09:13:53.000000000 +0100
|
|
@@ -0,0 +1,4 @@
|
|
+[NAME]
|
|
+runuser \- run a shell with substitute user and group IDs
|
|
+[DESCRIPTION]
|
|
+.\" Add any additional description here
|
|
--- coreutils-5.92/tests/help-version.runuser 2005-01-05 22:08:48.000000000 +0000
|
|
+++ coreutils-5.92/tests/help-version 2005-10-27 09:13:53.000000000 +0100
|
|
@@ -136,6 +136,7 @@
|
|
seq_args=10
|
|
sleep_args=0
|
|
su_args=--version
|
|
+runuser_args=--version
|
|
test_args=foo
|
|
|
|
# This is necessary in the unusual event that there is
|
|
--- coreutils-5.92/README.runuser 2005-09-28 19:34:03.000000000 +0100
|
|
+++ coreutils-5.92/README 2005-10-27 09:13:53.000000000 +0100
|
|
@@ -11,7 +11,7 @@
|
|
df dir dircolors dirname du echo env expand expr factor false fmt fold
|
|
ginstall groups head hostid hostname id join kill link ln logname ls
|
|
md5sum mkdir mkfifo mknod mv nice nl nohup od paste pathchk pinky pr
|
|
- printenv printf ptx pwd readlink rm rmdir seq sha1sum shred sleep sort
|
|
+ printenv printf ptx pwd readlink rm rmdir runuser seq sha1sum shred sleep sort
|
|
split stat stty su sum sync tac tail tee test touch tr true tsort tty
|
|
uname unexpand uniq unlink uptime users vdir wc who whoami yes
|
|
|
|
--- coreutils-5.92/AUTHORS.runuser 2004-11-03 23:10:50.000000000 +0000
|
|
+++ coreutils-5.92/AUTHORS 2005-10-27 09:13:53.000000000 +0100
|
|
@@ -59,6 +59,7 @@
|
|
readlink: Dmitry V. Levin
|
|
rm: Paul Rubin, David MacKenzie, Richard Stallman, Jim Meyering
|
|
rmdir: David MacKenzie
|
|
+runuser: David MacKenzie, Dan Walsh
|
|
seq: Ulrich Drepper
|
|
sha1sum: Ulrich Drepper, Scott Miller
|
|
shred: Colin Plumb
|