-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathftp_server
56 lines (45 loc) · 1.64 KB
/
ftp_server
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#!/bin/bash
# Hacer una copia de seguridad del archivo de configuración original de vsftpd.conf
cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
# Crear un nuevo archivo de configuración de vsftpd.conf
cat << EOF > /etc/vsftpd.conf
# Configuración de vsftpd
# Activar el soporte de IPv4 y IPv6
listen=YES
# Permitir que los usuarios escriban en sus propios directorios
write_enable=YES
# No permitir el acceso anónimo
anonymous_enable=NO
local_enable=YES
# Permitir la escritura de archivos a los usuarios
local_umask=022
# No permitir que los usuarios vean los archivos ocultos
hide_file=.*
# Establecer el directorio raíz de FTP
local_root=/srv/ftp
# Permitir el acceso a los usuarios de la lista de usuario
userlist_enable=YES
userlist_file=/etc/vsftpd.user_list
userlist_deny=NO
EOF
# Crear el directorio raíz de FTP
mkdir /srv/ftp 2> /dev/null
# Establecer los permisos de directorio correctos
chmod 777 /srv/ftp
# Reiniciar el servicio vsftpd
systemctl restart vsftpd
# Crear un nuevo usuario FTP
echo "$(tput setaf 9)[$(tput setaf 3)*$(tput setaf 9)]$(tput setaf 2) Ingrese el nombre del usuario:"
read username
# Crear el usuario
/usr/sbin/adduser $username
# Establecer una contraseña para el usuario
echo "$(tput setaf 9)[$(tput setaf 3)*$(tput setaf 9)]$(tput setaf 2) Ingrese una contraseña para el usuario:"
read -s password
echo "$username:$password" | chpasswd 2>/dev/null
# Agregar el usuario a la lista de usuarios permitidos de vsftpd
echo "$username" >> /etc/vsftpd.user_list
# Mostrar un mensaje de éxito
echo "$(tput setaf 9)[$(tput setaf 3)*$(tput setaf 9)]$(tput setaf 2) El usuario FTP $username se ha creado correctamente."
sleep 1
tput sgr0