Dre4m Shell
Server IP : 85.214.239.14  /  Your IP : 3.142.132.224
Web Server : Apache/2.4.61 (Debian)
System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.18
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
MySQL : OFF  |  cURL : OFF  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : OFF
Directory :  /etc/network/if-up.d/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /etc/network/if-up.d/mountnfs
#! /bin/sh
# Description:       Now that TCP/IP is configured, mount the NFS file
#                    systems in /etc/fstab if needed. If possible,
#                    start the portmapper before mounting (this is needed for
#                    Linux 2.1.x and up).
#
#                    Also mounts SMB filesystems now, so the name of
#                    this script is getting increasingly inaccurate.

# Skip the mountnfs hook when being triggered by the networking SysV init
# script and instead use the systemd built-in mechanisms to mount remote
# file systems.
# This avoids a deadlock caused by the rpcbind SysV init script depending
# on $network and the $network LSB facility being provided by the networking
# SysV init script.
if [ -d /run/systemd/system ]; then
	systemctl list-jobs | grep -q network.target && exit 0
fi

PATH=/sbin:/bin
. /lib/init/vars.sh

. /lib/lsb/init-functions
. /lib/init/mount-functions.sh

set_env() {
	# Read through fstab line by line. If it is NFS, set the flag
	# for mounting NFS file systems. If any NFS partition is found
	# and it not mounted with the nolock option, we start the
	# portmapper.
	#
	# If any sec={krb5,krb5i,krb5p} option is given, or any of the
	# file systems are nfs4, we'll need to start rpc.gssd and/or
	# rpc.idmapd too; we'll leave that to nfs-common.

	start_nfs=no
	NETFS=""
	NETDEV=""
	for file in $(fstab_files); do
		if [ -f "$file" ]; then
			while read DEV MTPT FSTYPE OPTS REST; do
				case "$DEV" in
				  ""|\#*)
					continue
					;;
				esac
				case "$OPTS" in
				  noauto|*,noauto|noauto,*|*,noauto,*)
					continue
					;;
				  _netdev|*,_netdev|_netdev,*|*,_netdev,*)
					NETDEV=yes
					;;
				esac
				case "$FSTYPE" in
				  nfs)
					# NFS filesystems normally
					# require statd and
					# portmap. However, if nolock
					# is set, portmap and statd
					# are not required for this
					# file system.
					case "$OPTS" in
					  nolock|*,nolock|nolock,*|*,nolock,*)
						# no action
						;;
					  *)
						start_nfs=yes
						;;
					esac

					# However, Kerberos requires
					# gssd, so start nfs-common
					# anyway.
					case "$OPTS" in
					  sec=krb5|*,sec=krb5|sec=krb5,*|*,sec=krb5,*|sec=krb5i|*,sec=krb5i|sec=krb5i,*|*,sec=krb5i,*|sec=krb5p|*,sec=krb5p|sec=krb5p,*|*,sec=krb5p,*)
						start_nfs=yes
						;;
						esac
					;;
				  nfs4)
					# NFSv4 requires idmapd, so
					# start nfs-common no matter
					# what the options are.
					start_nfs=yes
					;;
				  smbfs|cifs|coda|ncp|ncpfs|ceph)
					;;
				  *)
					FSTYPE=
					;;
				esac
				if [ "$FSTYPE" ]; then
					case "$NETFS" in
					  $FSTYPE|*,$FSTYPE|$FSTYPE,*|*,$FSTYPE,*)
						;;
					  *)
						NETFS="$NETFS${NETFS:+,}$FSTYPE"
						;;
					esac
				fi
			done < "$file"
		fi
	done
}

do_start() {
	#
	# Initialize nfs-common (which starts rpc.statd, rpc.gssd
	# and/or rpc.idmapd, and loads the right kernel modules if
	# applicable) if we use Kerberos and/or NFSv4 mounts.
	#
	if [ "$start_nfs" = yes ] && [ -x /etc/init.d/nfs-common ]
	then
		[ -x /etc/init.d/portmap ] && /etc/init.d/portmap start
		[ -x /etc/init.d/rpcbind ] && /etc/init.d/rpcbind start
		/etc/init.d/nfs-common start
	fi

	pre_mountall
	if [ "$NETFS" ]
	then
		mount -a -t$NETFS
	fi
	if [ "$NETDEV" ]; then
		mount -a -O _netdev
	fi
	post_mountall
}

exit_unless_last_interface() {
    ifaces="$(ifquery --list)"
    for i in $ifaces ; do
	if [ "$i" = "lo" ]; then
	    continue
	fi
	if ! ifquery --state $i >/dev/null ; then
	    msg="if-up.d/mountnfs[$IFACE]: waiting for interface $i before doing NFS mounts"
	    log_warning_msg "$msg"
	    exit 0
	fi
    done
}

# Using 'no !=' instead of 'yes =' to make sure async nfs mounting is
# the default even without a value in /etc/default/rcS
set_env
# Exit immediately and do not claim to wait for the last interface if
# no network file systems are listed in /etc/fstab.
if [ "$start_nfs" = "no" ] && [ ! "$NETFS" ] && [ ! "$NETDEV" ]; then
  exit 0
fi

if [ no != "$ASYNCMOUNTNFS" ]; then
    # Not for loopback!
    [ "$IFACE" != "lo" ] || exit 0

    [ "$ADDRFAM" = "inet" ] || [ "$ADDRFAM" = "inet6" ] || exit 0

    # Lock around this otherwise insanity may occur
    mkdir /var/run/network          2>/dev/null || true

    # Wait until all auto interfaces are up before attempting to mount
    # network file systems.
    exit_unless_last_interface

    if mkdir /var/run/network/mountnfs 2>/dev/null ; then
	:
    else
	msg="if-up.d/mountnfs[$IFACE]: lock /var/run/network/mountnfs exist, not mounting"
	log_failure_msg "$msg"
	# Log if /usr/ is mounted
	[ -x /usr/bin/logger ] && /usr/bin/logger -t "if-up.d/mountnfs[$IFACE]" "$msg"
	exit 0
    fi

    on_exit() {
        # Clean up lock when script exits, even if it is interrupted
	rmdir /var/run/network/mountnfs 2>/dev/null || exit 0
    }
    trap on_exit EXIT # Enable emergency handler
    do_start
elif [ yes = "$FROMINITD" ] ; then
    do_start
fi

Anon7 - 2022
AnonSec Team