HEX
Server: Apache/2.4.29 (Ubuntu)
System: Linux bareserver 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64
User: root (0)
PHP: 7.2.24-0ubuntu0.18.04.17
Disabled: 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,
Upload Files
File: //usr/sbin/cryptdisks_stop
#!/bin/sh

# cryptdisks_stop - wrapper around cryptsetup which parses
# /etc/crypttab, just like mount parses /etc/fstab.

# Initial code stolen from cryptdisks_start by Jon Dowland <jon@alcopop.org>
# Copyright (C) 2008 by Jonas Meurer <jonas@freesources.org>
# License: GNU General Public License, v2 or any later
# (https://www.gnu.org/copyleft/gpl.html)

set -e

if [ $# -lt 1 ]; then
	echo "usage: $0 <name>" >&2
	echo >&2
	echo "reads /etc/crypttab and stops the mapping corresponding to <name>" >&2
	exit 1
fi

. /lib/cryptsetup/cryptdisks.functions

INITSTATE="manual"
DEFAULT_LOUD="yes"

if [ -x "/usr/bin/id" ] && [ "$(/usr/bin/id -u)"  != "0" ]; then
	log_warning_msg "$0 needs root privileges"
	exit 1
fi

log_action_begin_msg "Stopping crypto disk"

count=0
tablen="$(egrep -vc "^[[:space:]]*(#|$)" "$TABFILE")"
egrep -v "^[[:space:]]*(#|$)" "$TABFILE" | while read dst src key opts; do
	count=$(( $count + 1 ))
	if [ "$1" = "$dst" ]; then
		ret=0
		handle_crypttab_line_stop "$dst" "$src" "$key" "$opts" <&3 || ret=$?
	elif [ $count -ge $tablen ]; then
		ret=1
		device_msg "$1" "failed, not found in crypttab"
	else
		continue
	fi
	log_action_end_msg $ret
	exit $ret
done 3<&1