Skip to content

Commit 9d61bb8

Browse files
authored
Update hacker_mode.sh
1 parent 1f6b2b1 commit 9d61bb8

File tree

1 file changed

+1
-53
lines changed

1 file changed

+1
-53
lines changed

HackerOS/Scripts/Bin/hacker_mode.sh

Lines changed: 1 addition & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -6,56 +6,4 @@
66
# | _ | (_| | (__| < __/ | | |_| |___) | | | __/ (_| | | | | | |
77
# |_| |_|\__,_|\___|_|\_\___|_| \___/|____/ |_|\___|\__,_|_| |_| |_|
88

9-
set -euo pipefail
10-
11-
TARGET_CMD="/usr/bin/cage /usr/share/HackerOS/Scripts/HackerOS-Apps/Hacker-Mode"
12-
TTY="tty3"
13-
SWITCH=false
14-
15-
# Sprawdź opcję --switch
16-
if [[ "${1:-}" == "--switch" ]]; then
17-
SWITCH=true
18-
fi
19-
20-
# sprawdź, czy skrypt uruchomiono jako root
21-
if [[ $EUID -ne 0 ]]; then
22-
echo "Ten skrypt musi być uruchomiony jako root (sudo)." >&2
23-
exit 1
24-
fi
25-
26-
# Wykrywanie aktualnego użytkownika
27-
USERNAME=$(whoami)
28-
29-
# sprawdź, czy TTY istnieje
30-
if [[ ! -e "/dev/${TTY}" ]]; then
31-
echo "/dev/${TTY} nie istnieje. Sprawdź poprawność numeru TTY." >&2
32-
exit 2
33-
fi
34-
35-
# sprawdź, czy polecenie istnieje
36-
if [[ ! -x "${TARGET_CMD%% *}" ]]; then
37-
echo "Nie znaleziono wykonywalnego: ${TARGET_CMD%% *}" >&2
38-
exit 3
39-
fi
40-
41-
echo "Uruchamiam polecenie na /dev/${TTY} jako użytkownik ${USERNAME}..."
42-
echo "Polecenie: $TARGET_CMD"
43-
44-
# Komenda do uruchomienia: przekierowujemy stdout/stderr do tty3, setsid -> nowa sesja
45-
# używamy openvt aby przypisać proces do VT numer 3 (nie wymuszamy przełączenia)
46-
# su -l uruchamia polecenie w kontekście użytkownika.
47-
openvt -c 3 -- su -l "$USERNAME" -c "exec >/dev/${TTY} 2>&1; exec setsid ${TARGET_CMD}" &
48-
49-
pid=$!
50-
echo "Proces uruchomiony (PID $pid)."
51-
52-
if $SWITCH; then
53-
echo "Przełączam aktywne VT na /dev/${TTY}..."
54-
# chvt może zwrócić błąd w kontenerach lub gdy brak uprawnień, trzymamy -e off
55-
if ! chvt 3; then
56-
echo "Uwaga: chvt nie powiodło się. Możliwe, że jesteś w środowisku, gdzie chvt nie jest dostępne."
57-
fi
58-
fi
59-
60-
echo "Gotowe."
61-
exit 0
9+
cage /usr/share/HackerOS/Scripts/HackerOS-Apps/Hacker-Mode

0 commit comments

Comments
 (0)