Instalación del servicio FTP de Centos7, instalación y configuración de FTP de Centos

================================

©Copyright Patata dulce Yao2022-04-19

Blog de Sweet Potato Yao - CSDN Blog

1. Instalar el servidor FTP

yum  install -y vsftpd

Instalar cliente ftp (se puede omitir)

yum  install -y ftp

2. Configuración del servicio FTP

1. Ingrese al directorio del archivo de configuración de FTP

cd /etc/vsftpd

2. Haga una copia de seguridad del archivo de configuración vsftpd.conf y elimine todos los comentarios.

mv vsftpd.conf vsftpd.conf.bak
grep -v "#" vsftpd.conf.bak > vsftpd.conf 

3. Edite el archivo de configuración

vi vsftpd.conf

contenido modificado


#修改
#是否支持匿名用户,默认YES,改成NO表示需要用户名密码登录不允许匿名登录
anonymous_enable=NO

#匿名上传。首先,文件系统上用户的家目录,要具备写权限。其次,ftp服务器要开启允许匿名上传的配置
anon_upload_enable=YES

#以下取消注释
#允许匿名用户上传,建立目录
anon_mkdir_write_enable=YES

#默认只能下载全部读的文件。这句话的意思是说,如果启动了这句话,则匿名用户只能下载所有用户都具备读权限的文件。如果有一个文件,有一个用户不剧本读权限,匿名用户就不能够下载。
anon_world_readable_only=YES

#匿名用户能否删除和修改上传的文件
anon_other_write_enable=YES

#指定匿名上传文件的umask值。umask的值可以直接影响到上传文件的权限。
anon_umask=077

#指定上传文件的默认的所有者和权限。 完成了这些指定之后,匿名用户上传的元数据就是我们指定的那些内容。
chown_uploads=YES
#chown_username=wang
#chown_upload_mode=0644

#所有系统用户都映射成guest用户,但是映射的guest账户,需要人为地去指定下。
#guest_enable=YES
#guest_username=vsftpd

#是否允许Linux用户登陆,默认是允许的,当然也可以禁止。
local_enable=YES

#是否允许Linux用户上传文件,如果用户默认允许登陆的话,linux用户登陆成功之后,默认位于自己的家目录,这时是允许上传文件的。 如果将下面的这句话,改成no,则服务拒绝linux用户上传文件,即便位于自己的家目录也不可以。
#write_enable=YES

#指定系统用户上传文件的默认权限
#local_umask=022

#非匿名用户登录所在目录,当使用Linux用户登陆成功之后,就不会默认在自己的家目录了。相反,会位于下面指定的目录里。
#local_root=/ftproot

#禁锢所有的用户在家目录中的意思是说,用户登陆成功之后,不能够随意切换目录,只能够在自己的家目录中进行操作。
chroot_local_user=YES

#ASCII码支持
async_abor_enable=YES
ascii_upload_enable=YES
ascii_download_enable=YES

#登录提示信息
ftpd_banner=Welcome to FTP server.  
# 这一句话优先生效
#banner_file=/etc/vsftpd/ftpbanner.txt

#设置是否使用当地时间。默认就是YES
use_localtime=YES

#虚拟用户建立独立的配置文件
user_config_dir=/etc/vsftpd/conf

listen_port=21
virtual_use_local_privs=YES

##被动模式端口
pasv_min_port=40000
pasv_max_port=40010

# 被动模式数据连接超时时长,时间单位是秒
accept_timeout=10
#主动模式数据连接超时时长,时间单位是秒
connect_timeout=10
#数据连接无数据输超时时长,时间单位是秒
data_connection_timeout=300
# 无命令操作超时时长,时间单位是秒
idle_session_timeout=300

allow_writeable_chroot=YES

3. Crea un usuario virtual

Los usuarios virtuales se crean para evitar que los usuarios de FTP inicien sesión directamente en el servidor

1. Crea un perfil de usuario virtual

vi ftp_user.conf

Contenido agregado: la línea impar es el número de cuenta, la línea par es la contraseña, la primera línea a continuación es el número de cuenta y la segunda línea es la contraseña

ftpuser
ftpuser123

2. Cifrar perfiles de usuarios virtuales

db_load -T -t hash -f ftp_user.conf ftp_user.db

Si no hay un comando db_load, debe instalarse: yum install db4 db4-utils

Cambie los permisos y elimine la configuración sin cifrar

chmod 600 ftp_user.db
rm -f  ftp_user.conf

3. Modificar los derechos de acceso FTP

copia de seguridad primero

cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak

Modificar archivo de permisos

vi /etc/pam.d/vsftpd

Primero comente todas las líneas de configuración de la autenticación y la cuenta originales en el archivo de configuración (el usuario virtual no podrá iniciar sesión sin comentar), y agregue dos líneas de información

auth required pam_userdb.so db=/etc/vsftpd/ftp_user
account required pam_userdb.so db=/etc/vsftpd/ftp_user

4. Agregue usuarios virtuales, solo puede iniciar sesión en FTP, pero no en segundo plano

useradd -d /home/ftpuser -s /sbin/nologin ftpuser

Cambiar el propietario de una carpeta

chown -R ftpuser:ftpuser /home/ftpuser

5. Perfil de usuario virtual

Crear un directorio de perfil de usuario virtual

mkdir -p /etc/vsftpd/conf


Cree un archivo de configuración para un usuario virtual (el nombre de usuario del archivo ftpuser y el archivo de base de datos recién creado deben ser iguales)

vi /etc/vsftpd/conf/ftpuser

Contenido añadido:


#用户的默认登陆目录。也就是FTP用户登陆成功之后的默认路径。
local_root=/home/ftpuser/ftpuser
write_enable=YES
anon_world_readable_only=NO
#虚拟用户上传权限
anon_upload_enable=YES
#虚拟用户创建文件夹
anon_mkdir_write_enable=YES
## 虚拟的其他用户对指定用户目录的写权限
anon_other_write_enable=YES

Cree un directorio de transferencia FTP, correspondiente al elemento de configuración local_root anterior

mkdir -p /home/ftpuser/ftpuser
chown ftpuser:ftpuser /home/ftpuser/ftpuser
chmod 775 /home/ftpuser/ftpuser

4. Abrir puerto FTP y servicio FTP

firewall-cmd --permanent --zone=public --add-service=ftp
firewall-cmd --permanent --zone=public --add-port=21/tcp 

#被动模式的端口
firewall-cmd --permanent --zone=public --add-port=40000-40010/tcp

#重新加载生效
firewall-cmd --reload
firewall-cmd --list-all
firewall-cmd --zone=public --list-ports

5. Inicio de FTP y configuración de inicio automático

#启动
systemctl start vsftpd
#设置自动启动
systemctl enable vsftpd
#查看状态
systemctl status vsftpd.service
#重启
systemctl restart vsftpd

6. Dirección de acceso FTP

ftp://192.168.10.100/

7. Resolución de errores

1, 500 OOPS: vsftpd: no se puede ubicar al usuario especificado en 'guest_username': vsftpd


注释下面的配置
#guest_enable=YES
#guest_username=vsftpd

8. Otros comandos

#安装filezilla
yum install -y filezilla
运行filezilla
filezilla &

#Selinux方式:查看防火墙状态
getenforce

#permissive表示:放任的;纵容的;姑息的;

#临时关闭:setenforce 0
setenforce 0 ->permissive

#永久关闭:vim /etc/sysconfig/selinux
将selinux=cnforcing改为selinux=disable


Firewall
1.关闭防火墙:service firewalld stop

2.关闭防火墙:systemctl stop firewalld.service

3.禁止防火墙开机启动:systemctl disable firewalld.service

4,查看防火墙状态:firewall-cmd --state

 (El tiempo es precioso, compartir no es fácil, donar y retribuir, ^_^)

================================

©Copyright Patata dulce Yao2022-04-19

Blog de Sweet Potato Yao - CSDN Blog

Supongo que te gusta

Origin blog.csdn.net/w995223851/article/details/124273941
Recomendado
Clasificación