mirror of
https://github.com/sudo-project/sudo.git
synced 2025-08-22 09:57:41 +00:00
First cut add installing an init.d file for HP-UX and AIX to remove
old sudo timestamp files at boot time.
This commit is contained in:
parent
a61935c2b9
commit
96d87d55dd
@ -22,6 +22,8 @@ Makefile$
|
|||||||
^doc/.*\.mdoc\.sed$
|
^doc/.*\.mdoc\.sed$
|
||||||
^doc/varsub$
|
^doc/varsub$
|
||||||
|
|
||||||
|
^init.d/*.sh$
|
||||||
|
|
||||||
^pathnames\.h$
|
^pathnames\.h$
|
||||||
^src/sudo$
|
^src/sudo$
|
||||||
^src/sesh$
|
^src/sesh$
|
||||||
|
4
MANIFEST
4
MANIFEST
@ -159,6 +159,8 @@ include/sudo_event.h
|
|||||||
include/sudo_plugin.h
|
include/sudo_plugin.h
|
||||||
include/sudo_util.h
|
include/sudo_util.h
|
||||||
indent.pro
|
indent.pro
|
||||||
|
init.d/aix.sh.in
|
||||||
|
init.d/hpux.sh.in
|
||||||
install-sh
|
install-sh
|
||||||
ltmain.sh
|
ltmain.sh
|
||||||
m4/ax_check_compile_flag.m4
|
m4/ax_check_compile_flag.m4
|
||||||
@ -410,7 +412,6 @@ src/locale_stub.c
|
|||||||
src/net_ifs.c
|
src/net_ifs.c
|
||||||
src/openbsd.c
|
src/openbsd.c
|
||||||
src/parse_args.c
|
src/parse_args.c
|
||||||
src/preserve_fds.c
|
|
||||||
src/po/README
|
src/po/README
|
||||||
src/po/cs.mo
|
src/po/cs.mo
|
||||||
src/po/cs.po
|
src/po/cs.po
|
||||||
@ -460,6 +461,7 @@ src/po/vi.po
|
|||||||
src/po/zh_CN.mo
|
src/po/zh_CN.mo
|
||||||
src/po/zh_CN.po
|
src/po/zh_CN.po
|
||||||
src/preload.c
|
src/preload.c
|
||||||
|
src/preserve_fds.c
|
||||||
src/regress/ttyname/check_ttyname.c
|
src/regress/ttyname/check_ttyname.c
|
||||||
src/selinux.c
|
src/selinux.c
|
||||||
src/sesh.c
|
src/sesh.c
|
||||||
|
32
configure
vendored
32
configure
vendored
@ -719,6 +719,9 @@ timeout
|
|||||||
vardir
|
vardir
|
||||||
rundir
|
rundir
|
||||||
iolog_dir
|
iolog_dir
|
||||||
|
RC_LINK
|
||||||
|
INIT_DIR
|
||||||
|
INIT_SCRIPT
|
||||||
NO_VIZ
|
NO_VIZ
|
||||||
SSP_CFLAGS
|
SSP_CFLAGS
|
||||||
SSP_LDFLAGS
|
SSP_LDFLAGS
|
||||||
@ -2966,6 +2969,9 @@ $as_echo "$as_me: Configuring Sudo version $PACKAGE_VERSION" >&6;}
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -3046,6 +3052,9 @@ LT_LDEXPORTS="-export-symbols \$(shlib_exp)"
|
|||||||
LT_LDDEP="\$(shlib_exp)"
|
LT_LDDEP="\$(shlib_exp)"
|
||||||
NO_VIZ="-DNO_VIZ"
|
NO_VIZ="-DNO_VIZ"
|
||||||
OS_INIT=os_init_common
|
OS_INIT=os_init_common
|
||||||
|
INIT_SCRIPT=
|
||||||
|
INIT_DIR=
|
||||||
|
RC_LINK=
|
||||||
|
|
||||||
CHECKSHADOW=true
|
CHECKSHADOW=true
|
||||||
shadow_defs=
|
shadow_defs=
|
||||||
@ -14223,6 +14232,11 @@ fi
|
|||||||
RTLD_PRELOAD_VAR="LDR_PRELOAD"
|
RTLD_PRELOAD_VAR="LDR_PRELOAD"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Remove timedir on boot, AIX does not have /var/run
|
||||||
|
INIT_SCRIPT=aix.sh
|
||||||
|
INIT_DIR=/etc/rc.d/init.d
|
||||||
|
RC_LINK=/etc/rc.d/rc2.d/S90sudo
|
||||||
|
|
||||||
# AIX-specific functions
|
# AIX-specific functions
|
||||||
for ac_func in getuserattr setauthdb setrlimit64
|
for ac_func in getuserattr setauthdb setrlimit64
|
||||||
do :
|
do :
|
||||||
@ -14253,6 +14267,11 @@ done
|
|||||||
: ${mansectsu='1m'}
|
: ${mansectsu='1m'}
|
||||||
: ${mansectform='4'}
|
: ${mansectform='4'}
|
||||||
|
|
||||||
|
# HP-UX does not clear /var/run so we need to do it
|
||||||
|
INIT_SCRIPT=hpux.sh
|
||||||
|
INIT_DIR=/etc/rc.d/init.d
|
||||||
|
RC_LINK=/sbin/rc2.d/S900sudo
|
||||||
|
|
||||||
# HP-UX shared libs must be executable
|
# HP-UX shared libs must be executable
|
||||||
SHLIB_MODE=0755
|
SHLIB_MODE=0755
|
||||||
|
|
||||||
@ -22388,7 +22407,7 @@ test "$localedir" = '${datarootdir}/locale' && localedir='$(datarootdir)/locale'
|
|||||||
test "$localstatedir" = '${prefix}/var' && localstatedir='$(prefix)/var'
|
test "$localstatedir" = '${prefix}/var' && localstatedir='$(prefix)/var'
|
||||||
test "$sysconfdir" = '${prefix}/etc' -a X"$with_stow" != X"yes" && sysconfdir='/etc'
|
test "$sysconfdir" = '${prefix}/etc' -a X"$with_stow" != X"yes" && sysconfdir='/etc'
|
||||||
|
|
||||||
ac_config_files="$ac_config_files Makefile common/Makefile compat/Makefile doc/Makefile include/Makefile src/sudo_usage.h src/Makefile plugins/sample/Makefile plugins/group_file/Makefile plugins/system_group/Makefile plugins/sudoers/Makefile plugins/sudoers/sudoers"
|
ac_config_files="$ac_config_files Makefile common/Makefile compat/Makefile doc/Makefile include/Makefile init.d/aix.sh init.d/hpux.sh src/sudo_usage.h src/Makefile plugins/sample/Makefile plugins/group_file/Makefile plugins/system_group/Makefile plugins/sudoers/Makefile plugins/sudoers/sudoers"
|
||||||
|
|
||||||
cat >confcache <<\_ACEOF
|
cat >confcache <<\_ACEOF
|
||||||
# This file is a shell script that caches the results of configure
|
# This file is a shell script that caches the results of configure
|
||||||
@ -23376,6 +23395,8 @@ do
|
|||||||
"compat/Makefile") CONFIG_FILES="$CONFIG_FILES compat/Makefile" ;;
|
"compat/Makefile") CONFIG_FILES="$CONFIG_FILES compat/Makefile" ;;
|
||||||
"doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
|
"doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
|
||||||
"include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
|
"include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
|
||||||
|
"init.d/aix.sh") CONFIG_FILES="$CONFIG_FILES init.d/aix.sh" ;;
|
||||||
|
"init.d/hpux.sh") CONFIG_FILES="$CONFIG_FILES init.d/hpux.sh" ;;
|
||||||
"src/sudo_usage.h") CONFIG_FILES="$CONFIG_FILES src/sudo_usage.h" ;;
|
"src/sudo_usage.h") CONFIG_FILES="$CONFIG_FILES src/sudo_usage.h" ;;
|
||||||
"src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
|
"src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
|
||||||
"plugins/sample/Makefile") CONFIG_FILES="$CONFIG_FILES plugins/sample/Makefile" ;;
|
"plugins/sample/Makefile") CONFIG_FILES="$CONFIG_FILES plugins/sample/Makefile" ;;
|
||||||
@ -24465,21 +24486,14 @@ $as_echo "$as_me: You will need to customize sample.pam and install it as /etc/p
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
clear_rundir=0
|
|
||||||
case $host_os in
|
|
||||||
hpux*|aix*)
|
|
||||||
clear_rundir=1
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
case "$rundir" in
|
case "$rundir" in
|
||||||
/var/run*)
|
/var/run*)
|
||||||
|
clear_rundir=0
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
clear_rundir=1
|
clear_rundir=1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
;;
|
|
||||||
esac
|
|
||||||
if test $clear_rundir -eq 1; then
|
if test $clear_rundir -eq 1; then
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: Warning: the $rundir/ts directory must be cleared at boot time." >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: Warning: the $rundir/ts directory must be cleared at boot time." >&5
|
||||||
$as_echo "$as_me: Warning: the $rundir/ts directory must be cleared at boot time." >&6;}
|
$as_echo "$as_me: Warning: the $rundir/ts directory must be cleared at boot time." >&6;}
|
||||||
|
30
configure.ac
30
configure.ac
@ -86,6 +86,9 @@ AC_SUBST([PIE_CFLAGS])
|
|||||||
AC_SUBST([SSP_LDFLAGS])
|
AC_SUBST([SSP_LDFLAGS])
|
||||||
AC_SUBST([SSP_CFLAGS])
|
AC_SUBST([SSP_CFLAGS])
|
||||||
AC_SUBST([NO_VIZ])
|
AC_SUBST([NO_VIZ])
|
||||||
|
AC_SUBST([INIT_SCRIPT])
|
||||||
|
AC_SUBST([INIT_DIR])
|
||||||
|
AC_SUBST([RC_LINK])
|
||||||
dnl
|
dnl
|
||||||
dnl Variables that get substituted in docs (not overridden by environment)
|
dnl Variables that get substituted in docs (not overridden by environment)
|
||||||
dnl
|
dnl
|
||||||
@ -209,6 +212,9 @@ LT_LDEXPORTS="-export-symbols \$(shlib_exp)"
|
|||||||
LT_LDDEP="\$(shlib_exp)"
|
LT_LDDEP="\$(shlib_exp)"
|
||||||
NO_VIZ="-DNO_VIZ"
|
NO_VIZ="-DNO_VIZ"
|
||||||
OS_INIT=os_init_common
|
OS_INIT=os_init_common
|
||||||
|
INIT_SCRIPT=
|
||||||
|
INIT_DIR=
|
||||||
|
RC_LINK=
|
||||||
|
|
||||||
dnl
|
dnl
|
||||||
dnl Other vaiables
|
dnl Other vaiables
|
||||||
@ -1672,6 +1678,11 @@ case "$host" in
|
|||||||
RTLD_PRELOAD_VAR="LDR_PRELOAD"
|
RTLD_PRELOAD_VAR="LDR_PRELOAD"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Remove timedir on boot, AIX does not have /var/run
|
||||||
|
INIT_SCRIPT=aix.sh
|
||||||
|
INIT_DIR=/etc/rc.d/init.d
|
||||||
|
RC_LINK=/etc/rc.d/rc2.d/S90sudo
|
||||||
|
|
||||||
# AIX-specific functions
|
# AIX-specific functions
|
||||||
AC_CHECK_FUNCS(getuserattr setauthdb setrlimit64)
|
AC_CHECK_FUNCS(getuserattr setauthdb setrlimit64)
|
||||||
COMMON_OBJS="${COMMON_OBJS} aix.lo"
|
COMMON_OBJS="${COMMON_OBJS} aix.lo"
|
||||||
@ -1691,6 +1702,11 @@ case "$host" in
|
|||||||
: ${mansectsu='1m'}
|
: ${mansectsu='1m'}
|
||||||
: ${mansectform='4'}
|
: ${mansectform='4'}
|
||||||
|
|
||||||
|
# HP-UX does not clear /var/run so we need to do it
|
||||||
|
INIT_SCRIPT=hpux.sh
|
||||||
|
INIT_DIR=/etc/rc.d/init.d
|
||||||
|
RC_LINK=/sbin/rc2.d/S900sudo
|
||||||
|
|
||||||
# HP-UX shared libs must be executable
|
# HP-UX shared libs must be executable
|
||||||
SHLIB_MODE=0755
|
SHLIB_MODE=0755
|
||||||
|
|
||||||
@ -3778,7 +3794,7 @@ test "$sysconfdir" = '${prefix}/etc' -a X"$with_stow" != X"yes" && sysconfdir='/
|
|||||||
dnl
|
dnl
|
||||||
dnl Substitute into the Makefile and man pages
|
dnl Substitute into the Makefile and man pages
|
||||||
dnl
|
dnl
|
||||||
AC_CONFIG_FILES([Makefile common/Makefile compat/Makefile doc/Makefile include/Makefile src/sudo_usage.h src/Makefile plugins/sample/Makefile plugins/group_file/Makefile plugins/system_group/Makefile plugins/sudoers/Makefile plugins/sudoers/sudoers])
|
AC_CONFIG_FILES([Makefile common/Makefile compat/Makefile doc/Makefile include/Makefile init.d/aix.sh init.d/hpux.sh src/sudo_usage.h src/Makefile plugins/sample/Makefile plugins/group_file/Makefile plugins/system_group/Makefile plugins/sudoers/Makefile plugins/sudoers/sudoers])
|
||||||
AC_OUTPUT
|
AC_OUTPUT
|
||||||
|
|
||||||
dnl
|
dnl
|
||||||
@ -3798,24 +3814,16 @@ if test "$with_pam" = "yes"; then
|
|||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
dnl
|
dnl
|
||||||
dnl AIX and HP-UX do not clear /var/run
|
dnl Warn user if they may need to clear rundir manually.
|
||||||
dnl Also point out other non-cleared dirs
|
|
||||||
dnl
|
dnl
|
||||||
clear_rundir=0
|
|
||||||
case $host_os in
|
|
||||||
hpux*|aix*)
|
|
||||||
clear_rundir=1
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
case "$rundir" in
|
case "$rundir" in
|
||||||
/var/run*)
|
/var/run*)
|
||||||
|
clear_rundir=0
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
clear_rundir=1
|
clear_rundir=1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
;;
|
|
||||||
esac
|
|
||||||
if test $clear_rundir -eq 1; then
|
if test $clear_rundir -eq 1; then
|
||||||
AC_MSG_NOTICE([Warning: the $rundir/ts directory must be cleared at boot time.])
|
AC_MSG_NOTICE([Warning: the $rundir/ts directory must be cleared at boot time.])
|
||||||
AC_MSG_NOTICE([ You may need to create a startup item to do this.])
|
AC_MSG_NOTICE([ You may need to create a startup item to do this.])
|
||||||
|
25
init.d/aix.sh.in
Normal file
25
init.d/aix.sh.in
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Simple AIX rc.d script to remove the sudo timestamp directory on boot.
|
||||||
|
# This is needed because AIX does not have /var/run.
|
||||||
|
# Install as /etc/rc.d/init.d/sudo with a link /etc/rc.d/rc2.d/S90sudo
|
||||||
|
#
|
||||||
|
|
||||||
|
PATH=/usr/sbin:/usr/bin:/sbin
|
||||||
|
export PATH
|
||||||
|
|
||||||
|
TSDIR="@rundir@/ts"
|
||||||
|
rval=0
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
start)
|
||||||
|
echo "Removing the $TSDIR directory"
|
||||||
|
rm -rf "$TSDIR"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "usage: $0 start"
|
||||||
|
rval=1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
exit $rval
|
27
init.d/hpux.sh.in
Normal file
27
init.d/hpux.sh.in
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
#!/sbin/sh
|
||||||
|
#
|
||||||
|
# Simple HP-UX init.d script to remove the sudo timestamp directory on boot.
|
||||||
|
# This is needed because HP-UX does not clear /var/run on its own.
|
||||||
|
# Install as /sbin/init.d/sudo with a link /sbin/rc2.d/S900sudo
|
||||||
|
#
|
||||||
|
|
||||||
|
PATH=/usr/sbin:/usr/bin:/sbin
|
||||||
|
export PATH
|
||||||
|
|
||||||
|
TSDIR="@rundir@/ts"
|
||||||
|
rval=0
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
start_msg)
|
||||||
|
echo "Removing the $TSDIR directory"
|
||||||
|
;;
|
||||||
|
start)
|
||||||
|
rm -rf "$TSDIR"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "usage: $0 {start|start_msg}"
|
||||||
|
rval=1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
exit $rval
|
@ -79,6 +79,11 @@ install_gid = 0
|
|||||||
shlib_ext = @SHLIB_EXT@
|
shlib_ext = @SHLIB_EXT@
|
||||||
shlib_mode = @SHLIB_MODE@
|
shlib_mode = @SHLIB_MODE@
|
||||||
|
|
||||||
|
# Optional init script and rc.d link
|
||||||
|
INIT_DIR=@INIT_DIR@
|
||||||
|
INIT_SCRIPT=@INIT_SCRIPT@
|
||||||
|
RC_LINK=@RC_LINK@
|
||||||
|
|
||||||
TEST_PROGS = check_ttyname
|
TEST_PROGS = check_ttyname
|
||||||
TEST_LIBS = @LIBS@ @LIBINTL@ $(LT_LIBS)
|
TEST_LIBS = @LIBS@ @LIBINTL@ $(LT_LIBS)
|
||||||
TEST_LDFLAGS = @LDFLAGS@
|
TEST_LDFLAGS = @LDFLAGS@
|
||||||
@ -135,12 +140,21 @@ check_ttyname: $(CHECK_TTYNAME_OBJS) $(top_builddir)/common/libsudo_util.la $(LI
|
|||||||
|
|
||||||
pre-install:
|
pre-install:
|
||||||
|
|
||||||
install: install-binaries @INSTALL_NOEXEC@
|
install: install-binaries install-rc @INSTALL_NOEXEC@
|
||||||
|
|
||||||
install-dirs:
|
install-dirs:
|
||||||
$(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(bindir) \
|
$(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(bindir) \
|
||||||
$(DESTDIR)$(libexecdir)/sudo $(DESTDIR)$(noexecdir)
|
$(DESTDIR)$(libexecdir)/sudo $(DESTDIR)$(noexecdir)
|
||||||
|
|
||||||
|
install-rc:
|
||||||
|
@if [ -n "$(INIT_SCRIPT)" ]; then \
|
||||||
|
$(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(INIT_DIR) \
|
||||||
|
`echo $(DESTDIR)$(RC_LINK)|sed 's,/[^/]*$$,,'`; \
|
||||||
|
$(INSTALL) -O $(install_uid) -G $(install_gid) -m 0755 $(top_srcdir)/init.d/$(INIT_SCRIPT) $(DESTDIR)$(INIT_DIR)/sudo; \
|
||||||
|
rm -f $(DESTDIR)$(RC_LINK); \
|
||||||
|
ln -s $(INIT_DIR)/sudo $(DESTDIR)$(RC_LINK); \
|
||||||
|
fi
|
||||||
|
|
||||||
install-binaries: install-dirs $(PROGS)
|
install-binaries: install-dirs $(PROGS)
|
||||||
$(INSTALL) -b~ -O $(install_uid) -G $(install_gid) -m 04755 sudo $(DESTDIR)$(bindir)/sudo
|
$(INSTALL) -b~ -O $(install_uid) -G $(install_gid) -m 04755 sudo $(DESTDIR)$(bindir)/sudo
|
||||||
rm -f $(DESTDIR)$(bindir)/sudoedit
|
rm -f $(DESTDIR)$(bindir)/sudoedit
|
||||||
|
26
sudo.pp
26
sudo.pp
@ -291,6 +291,12 @@ still allow people to get their work done."
|
|||||||
/usr/bin/sudoreplay 0755 root: symlink $bindir/sudoreplay
|
/usr/bin/sudoreplay 0755 root: symlink $bindir/sudoreplay
|
||||||
/usr/sbin/visudo 0755 root: symlink $sbindir/visudo
|
/usr/sbin/visudo 0755 root: symlink $sbindir/visudo
|
||||||
%endif
|
%endif
|
||||||
|
%if [aix]
|
||||||
|
/etc/rc.d/init.d/sudo 0755 root:
|
||||||
|
%endif
|
||||||
|
%if [sd]
|
||||||
|
/sbin/init.d/sudo 0755 root:
|
||||||
|
%endif
|
||||||
|
|
||||||
%files [!aix]
|
%files [!aix]
|
||||||
$sudoedit_man 0644 symlink,ignore-others $sudoedit_man_target
|
$sudoedit_man 0644 symlink,ignore-others $sudoedit_man_target
|
||||||
@ -365,6 +371,18 @@ still allow people to get their work done."
|
|||||||
exit 0;
|
exit 0;
|
||||||
'
|
'
|
||||||
|
|
||||||
|
%post [aix]
|
||||||
|
# Create /etc/rc.d/rc2.d/S90sudo link if /etc/rc.d exists
|
||||||
|
if [ -d /etc/rc.d ]; then
|
||||||
|
rm -f /etc/rc.d/rc2.d/S90sudo
|
||||||
|
ln -s /etc/rc.d/init.d/sudo /etc/rc.d/rc2.d/S90sudo
|
||||||
|
fi
|
||||||
|
%endif
|
||||||
|
%post [sd]
|
||||||
|
# Create /sbin/rc2.d/S900sudo link
|
||||||
|
rm -f /sbin/rc2.d/S900sudo
|
||||||
|
ln -s /sbin/init.d/sudo /sbin/rc2.d/S900sudo
|
||||||
|
%endif
|
||||||
%preun
|
%preun
|
||||||
# Remove the time stamp dir and its contents
|
# Remove the time stamp dir and its contents
|
||||||
# We currently leave the lecture status files installed
|
# We currently leave the lecture status files installed
|
||||||
@ -379,3 +397,11 @@ still allow people to get their work done."
|
|||||||
rm -f /etc/sudo-ldap.conf
|
rm -f /etc/sudo-ldap.conf
|
||||||
fi
|
fi
|
||||||
%endif
|
%endif
|
||||||
|
%if [aix]
|
||||||
|
# Remove /etc/rc.d/rc2.d/S90sudo link
|
||||||
|
rm -f /etc/rc.d/rc2.d/S90sudo
|
||||||
|
%endif
|
||||||
|
%if [sd]
|
||||||
|
# Remove /sbin/rc2.d/S900sudo link
|
||||||
|
rm -f /sbin/rc2.d/S900sudo
|
||||||
|
%endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user