#!/usr/bin/env bash set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" BASE_DIR="${PRACTICE2_DIR:-/usr/local/practice2}" echo "Setting up directory structure at: $BASE_DIR" mkdir -p "$BASE_DIR/etc" "$BASE_DIR/confdata" "$BASE_DIR/bin" "$BASE_DIR/log" touch "$BASE_DIR/etc/passwd" cp "$SCRIPT_DIR/config.py" "$BASE_DIR/bin/config.py" cp "$SCRIPT_DIR/usermgr.py" "$BASE_DIR/bin/usermgr" cp "$SCRIPT_DIR/access.py" "$BASE_DIR/bin/confaccess" cp "$SCRIPT_DIR/bruteforce.py" "$BASE_DIR/bin/bruteforce" chmod +x "$BASE_DIR/bin/usermgr" "$BASE_DIR/bin/confaccess" "$BASE_DIR/bin/bruteforce" if [ "$(id -u)" -eq 0 ]; then chmod 700 "$BASE_DIR" "$BASE_DIR/etc" "$BASE_DIR/confdata" "$BASE_DIR/bin" "$BASE_DIR/log" chmod 600 "$BASE_DIR/etc/passwd" echo "Permissions set (root-only)." else echo "Warning: not running as root; skipping permission hardening." fi echo "" echo "Done. Directory layout:" ls -la "$BASE_DIR" echo "" echo "Next steps:" echo " $BASE_DIR/bin/usermgr add " echo " $BASE_DIR/bin/confaccess" echo " $BASE_DIR/bin/bruteforce " echo "" echo "To add bin to PATH temporarily:" echo " export PATH=\"$BASE_DIR/bin:\$PATH\""