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