Add sh and main file
parent
c54f491042
commit
357dec0a25
|
@ -0,0 +1,34 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Generate random username and password
|
||||||
|
USERNAME="user$(shuf -i 10000-99999 -n 1)"
|
||||||
|
PASSWORD=$(openssl rand -base64 12)
|
||||||
|
|
||||||
|
ROOT_DIRECTORY="/var/www/webroot/ROOT"
|
||||||
|
|
||||||
|
# Check if user already exists
|
||||||
|
if id "$USERNAME" &>/dev/null; then
|
||||||
|
echo "User $USERNAME already exists."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Create user and set password
|
||||||
|
useradd -m -d $ROOT_DIRECTORY $USERNAME
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "Failed to create user $USERNAME."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "$USERNAME:$PASSWORD" | chpasswd
|
||||||
|
|
||||||
|
# Set user's group to litespeed (or another group with SFTP permissions)
|
||||||
|
usermod -aG litespeed $USERNAME
|
||||||
|
|
||||||
|
# Get the hostname
|
||||||
|
HOSTNAME=$(hostname -f)
|
||||||
|
|
||||||
|
# Print the credentials
|
||||||
|
echo "SFTP User Created Successfully!"
|
||||||
|
echo "Username: $USERNAME"
|
||||||
|
echo "Password: $PASSWORD"
|
||||||
|
echo "SFTP Host: $HOSTNAME"
|
||||||
|
echo "Port: 22"
|
|
@ -0,0 +1,72 @@
|
||||||
|
type: update
|
||||||
|
baseUrl: https://deploy.mightybox.io/tony/Add-SFTP-User/
|
||||||
|
name: Add SFTP User
|
||||||
|
|
||||||
|
targetNodes:
|
||||||
|
nodeGroup: cp
|
||||||
|
|
||||||
|
user: root
|
||||||
|
|
||||||
|
settings:
|
||||||
|
sfpform:
|
||||||
|
fields:
|
||||||
|
- type: string
|
||||||
|
inputType: text
|
||||||
|
name: root_directory
|
||||||
|
caption: Root Directory
|
||||||
|
default: "/var/www/webroot/ROOT"
|
||||||
|
required: true
|
||||||
|
- type: checkbox
|
||||||
|
name: enable_ssh
|
||||||
|
caption: Also enable SSH access
|
||||||
|
default: false
|
||||||
|
|
||||||
|
globals:
|
||||||
|
username: "user${fn.random(10000,99999)}"
|
||||||
|
password: ${fn.password(min)}
|
||||||
|
sftpHost: ${env.domain}
|
||||||
|
sftpPort: 22
|
||||||
|
|
||||||
|
onInstall:
|
||||||
|
- cmd[cp]: |
|
||||||
|
curl -O https://deploy.mightybox.io/tony/Add-SFTP-User/raw/master/scripts/add_user_sftp.sh
|
||||||
|
chmod +x add_user_sftp.sh
|
||||||
|
- success: |
|
||||||
|
Add-on installed successfully!
|
||||||
|
To create additional SFTP accounts, click on the "Add new SFTP user" button.
|
||||||
|
|
||||||
|
actions:
|
||||||
|
add_sftp_user:
|
||||||
|
script: /scripts/add-sftp-user.cs?_r=${fn.random}&enable_ssh=${settings.enable_ssh}
|
||||||
|
|
||||||
|
success:
|
||||||
|
email: |
|
||||||
|
Connection Details<br><br>
|
||||||
|
SFTP Host: ${globals.sftpHost}<br><br>
|
||||||
|
Port: ${globals.sftpPort}<br>
|
||||||
|
<br><br>
|
||||||
|
Login Credentials<br>
|
||||||
|
Username: ${globals.username}<br><br>
|
||||||
|
Password: ${globals.password}
|
||||||
|
text:
|
||||||
|
en: |
|
||||||
|
Connection Details
|
||||||
|
|
||||||
|
SFTP Host: ${globals.sftpHost}
|
||||||
|
|
||||||
|
Port: ${globals.sftpPort}
|
||||||
|
|
||||||
|
|
||||||
|
Login Credentials
|
||||||
|
|
||||||
|
Username: ${globals.username}
|
||||||
|
|
||||||
|
Password: ${globals.password}
|
||||||
|
|
||||||
|
buttons:
|
||||||
|
- settings: sfpform
|
||||||
|
action: add_sftp_user
|
||||||
|
caption: Add SFTP/SSH User
|
||||||
|
confirmText: "Are you sure you want to add this SFTP user?"
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue