Avtomatik İstifadəçi Yaratma
Bir fayldan istifadəçi siyahısı oxuyaraq avtomatik olaraq birdən çox istifadəçi hesabı yaradan script. Hər istifadəçi üçün home qovluğu və şifrə təyin edir.
Yayımlanma: 20.01.2024
Yenilənmə: 15.11.2024
Kod
#!/bin/bash
# Automated User Creation Script
if [ "$EUID" -ne 0 ]; then
echo "Error: This script must be run as root or with sudo"
echo "Usage: sudo $0"
exit 1
fi
USER_FILE="users.txt"
if [ ! -f "$USER_FILE" ]; then
echo "Error: User file $USER_FILE not found!"
echo ""
echo "Please create a file named \"users.txt\" with the following format:"
echo "username:password:Full Name"
echo ""
echo "Example:"
echo "john:SecurePass123:John Doe"
echo "jane:SecurePass456:Jane Smith"
exit 1
fi
echo "======================================"
echo " AUTOMATED USER CREATION"
echo "======================================"
echo "Reading users from: $USER_FILE"
echo ""
while IFS=: read -r username password fullname; do
[[ -z "$username" || "$username" =~ ^#.*$ ]] && continue
if id "$username" &>/dev/null; then
echo "⚠️ User \"$username\" already exists. Skipping..."
continue
fi
useradd -m -c "$fullname" -s /bin/bash "$username"
if [ $? -eq 0 ]; then
echo "✓ User \"$username\" created successfully"
echo "$username:$password" | chpasswd
if [ $? -eq 0 ]; then
echo " ✓ Password set for \"$username\""
else
echo " ✗ Failed to set password for \"$username\""
fi
chage -d 0 "$username"
echo " ✓ Password change required on first login"
echo ""
else
echo "✗ Failed to create user \"$username\""
echo ""
fi
done < "$USER_FILE"
echo "======================================"
echo "User creation process completed!"
echo ""
echo "Summary - Recent users:"
echo "----------------------"
getent passwd | grep -E "/home/" | tail -n 10
İstifadə
# Create user list (users.txt)
# Format: username:password:fullname
echo "john:Passw0rd123:John Doe" > users.txt
echo "jane:Passw0rd456:Jane Smith" >> users.txt
sudo chmod +x create_users.sh
sudo ./create_users.sh