mirror of
https://github.com/Terranom674/Piwigo_Bratonien_Tools.git
synced 2026-09-19 11:44:31 +00:00
Revert unrelated sudo bridge change
This commit is contained in:
@@ -5,40 +5,6 @@ CONFIG_DIR="/etc/bratonien-tools/nc-connector"
|
|||||||
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
|
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
shopt -s nullglob
|
shopt -s nullglob
|
||||||
|
|
||||||
provision_manual_start_bridge() {
|
|
||||||
# Der periodische Connector-Dienst laeuft privilegiert. Er darf deshalb die
|
|
||||||
# eng begrenzte Freigabe fuer den manuellen Admin-Start selbst pflegen.
|
|
||||||
# Erlaubt wird ausschliesslich genau ein systemctl-Aufruf fuer genau diesen
|
|
||||||
# Dienst; weder eine Shell noch beliebige sudo/systemctl-Kommandos.
|
|
||||||
[[ "${EUID:-$(id -u)}" -eq 0 ]] || return 0
|
|
||||||
command -v visudo >/dev/null 2>&1 || return 0
|
|
||||||
|
|
||||||
local sudoers_dir="/etc/sudoers.d"
|
|
||||||
local sudoers_file="$sudoers_dir/bratonien-nc-connector"
|
|
||||||
local rule="www-data ALL=(root) NOPASSWD: /usr/bin/systemctl start bratonien-nc-connector.service"
|
|
||||||
local tmp
|
|
||||||
|
|
||||||
mkdir -p -- "$sudoers_dir"
|
|
||||||
if [[ -r "$sudoers_file" ]] && [[ "$(tr -d '\r' < "$sudoers_file" | sed '/^[[:space:]]*#/d;/^[[:space:]]*$/d')" == "$rule" ]]; then
|
|
||||||
chown root:root -- "$sudoers_file"
|
|
||||||
chmod 0440 -- "$sudoers_file"
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
tmp="$(mktemp "$sudoers_dir/.bratonien-nc-connector.XXXXXX")"
|
|
||||||
trap 'rm -f -- "$tmp"' RETURN
|
|
||||||
printf '%s\n' "$rule" > "$tmp"
|
|
||||||
chown root:root -- "$tmp"
|
|
||||||
chmod 0440 -- "$tmp"
|
|
||||||
visudo -cf "$tmp" >/dev/null
|
|
||||||
mv -f -- "$tmp" "$sudoers_file"
|
|
||||||
chown root:root -- "$sudoers_file"
|
|
||||||
chmod 0440 -- "$sudoers_file"
|
|
||||||
trap - RETURN
|
|
||||||
}
|
|
||||||
|
|
||||||
provision_manual_start_bridge
|
|
||||||
|
|
||||||
if ! php "$SCRIPT_DIR/reconcile-webdav.php"; then
|
if ! php "$SCRIPT_DIR/reconcile-webdav.php"; then
|
||||||
echo "NC Connector: WebDAV-Verbindungen konnten nicht mit der Runtime abgeglichen werden." >&2
|
echo "NC Connector: WebDAV-Verbindungen konnten nicht mit der Runtime abgeglichen werden." >&2
|
||||||
exit 1
|
exit 1
|
||||||
|
|||||||
Reference in New Issue
Block a user