#!/bin/bash echo "=== SFTP Addon Debug Script ===" echo "Timestamp: $(date)" echo echo "=== Environment Checks ===" echo "Operating System: $(cat /etc/os-release | grep PRETTY_NAME | cut -d= -f2 | tr -d '\"')" echo "Kernel: $(uname -r)" echo "User running script: $(whoami)" echo "Current directory: $(pwd)" echo echo "=== Directory Checks ===" echo "Web root exists: $([ -d '/var/www/webroot/ROOT' ] && echo 'YES' || echo 'NO')" echo "SFTP users dir exists: $([ -d '/home/sftpusers' ] && echo 'YES' || echo 'NO')" echo "Addon directory exists: $([ -d '/home/jelastic/add-sftp-user-addon' ] && echo 'YES' || echo 'NO')" echo "Logs directory exists: $([ -d '/home/jelastic/add-sftp-user-addon/logs' ] && echo 'YES' || echo 'NO')" echo echo "=== File Permissions ===" echo "/home permissions: $(stat -c '%a %U:%G' /home)" echo "/home/sftpusers permissions: $([ -d '/home/sftpusers' ] && stat -c '%a %U:%G' /home/sftpusers || echo 'Directory does not exist')" echo "/var/www/webroot/ROOT permissions: $([ -d '/var/www/webroot/ROOT' ] && stat -c '%a %U:%G' /var/www/webroot/ROOT || echo 'Directory does not exist')" echo echo "=== Command Availability ===" echo "useradd: $(which useradd || echo 'NOT FOUND')" echo "chpasswd: $(which chpasswd || echo 'NOT FOUND')" echo "mount: $(which mount || echo 'NOT FOUND')" echo "sshd: $(which sshd || echo 'NOT FOUND')" echo echo "=== SSH Configuration ===" echo "SSH service status: $(systemctl is-active sshd)" echo "SSH config test: $(sshd -t 2>&1 && echo 'VALID' || echo 'INVALID')" echo "SFTP subsystem configured: $(grep -q 'Subsystem.*sftp' /etc/ssh/sshd_config && echo 'YES' || echo 'NO')" echo "Match Group sftpusers configured: $(grep -q 'Match Group sftpusers' /etc/ssh/sshd_config && echo 'YES' || echo 'NO')" echo echo "=== Group Information ===" echo "sftpusers group exists: $(getent group sftpusers >/dev/null && echo 'YES' || echo 'NO')" echo "litespeed group exists: $(getent group litespeed >/dev/null && echo 'YES' || echo 'NO')" echo echo "=== Recent Logs ===" if [ -f "/home/jelastic/add-sftp-user-addon/logs/script_output.log" ]; then echo "Last 10 lines from script_output.log:" tail -10 /home/jelastic/add-sftp-user-addon/logs/script_output.log else echo "No script output log found" fi echo if [ -f "/home/jelastic/add-sftp-user-addon/logs/errors.log" ]; then echo "Last 5 lines from errors.log:" tail -5 /home/jelastic/add-sftp-user-addon/logs/errors.log else echo "No error log found" fi echo echo "=== Existing SFTP Users ===" if [ -d "/home/sftpusers" ]; then ls -la /home/sftpusers/ | head -20 else echo "No SFTP users directory found" fi echo echo "=== Debug Script Complete ==="