Maison  >  Article  >  Opération et maintenance  >  Exploitation et maintenance Linux pour créer un service vsftp qui répond à vos propres exigences

Exploitation et maintenance Linux pour créer un service vsftp qui répond à vos propres exigences

齐天大圣
齐天大圣original
2020-11-21 17:40:561695parcourir

Après avoir installé le logiciel vsftpd sur le serveur et compris le fichier de configuration principal du logiciel /etc/vsftpd/vsftpd.conf, nous pouvons créer le service FTP que nous souhaitons.

Spécifiez le port, etc.

listen_port=21 Définir le port d'écoute

download_enable=YES Autoriser le téléchargement de fichiers

download_enable=YES Autoriser le téléchargement de fichiers

max_clients=100 Limiter le nombre de connexions client simultanées

max_per_ip=100 Limiter le nombre de connexions simultanées avec la même IPInterdire les anonymes et les entités connexion utilisateur

Tout d'abord, désactivez la connexion des utilisateurs anonymes et refusez les droits de navigation aux utilisateurs anonymes.

anonymous_enable=NO

Alors pourquoi les utilisateurs physiques ne sont-ils pas autorisés à se connecter ? Étant donné que les utilisateurs physiques peuvent déjà utiliser le protocole FTP plus sécurisé pour se connecter, il n'est pas nécessaire d'utiliser le protocole FTP pour se connecter. De plus, comme FTP est un protocole de transfert de texte clair, il serait mauvais que le mot de passe du compte soit intercepté.

Comment interdire aux utilisateurs physiques de se connecter ? La troisième étape de configuration des utilisateurs virtuels sera abordée ci-dessous dans l'article. Commentez tout sous /etc/pam.d/vsftpd. Paramètres de connexion active et de connexion passive

Nous voulons construire un bâtiment qui prend en charge à la fois le mode de connexion active et la connexion passive, les paramètres sont donc comme suit :

Paramètres du port pour le mode de connexion actif

connect_from_port_20=YES

Configurez le pare-feu et laissez passer le port 21. De plus, il n'est pas nécessaire d'ouvrir le port 20. Les paquets de données que l'hôte. les demandes et réponses actives sont directement autorisées à entrer dans la machine (établir/lié).

iptables -A INPUT -p tcp --dport 21 -j ACCEPT # FTP服务
iptables -A INPUT  -m state --state ESTABLISHED,RELATED -j ACCEPT

Activez le mode passif et le port de connexion passif est limité à l'un des 10001 ~ 11000.

pasv_enable=YES
pasv_min_port=10001
pasv_max_port=11000

Configurez le pare-feu pour permettre l'ouverture des ports entre 10 000 et 11 000.

iptables -A INPUT -p tcp --dport 10001::11000 -j ACCEPT # ftp被动连接端口
Configuration des utilisateurs virtuels

    Les étapes pour configurer les utilisateurs virtuels sont les suivantes :
  1. Créer un fichier de mot de passe d'utilisateur virtuel
  2. Générer un fichier d'authentification de mot de passe d'utilisateur virtuel
  3. Modifier le fichier d'authentification PAM de vsftpd
  4. Établissez un répertoire de mappage local et définissez les autorisations du répertoire hôte
  5. Modifiez le fichier de configuration.
  6. Donner à chaque utilisateur virtuel un fichier de configuration distinct

1. Créez un fichier de mot de passe pour l'utilisateur virtuel

, Le Le format du fichier est le nom d'utilisateur pour les lignes impaires et le mot de passe pour les lignes paires. Créez un tel fichier /etc/vsftpd/vusers ci-dessous, avec le contenu suivant :

ftptest1
111111
ftptest2
222222

2. Générez un fichier d'authentification par mot de passe d'utilisateur virtuel

, et exécutez la commande suivante :

db_load -T -t hash -f  /etc/vsftpd/vusers  /etc/vsftpd/login.db

Lorsque la commande est exécutée correctement, le fichier /etc/vsftpd/login.db apparaîtra. Pour des raisons de sécurité, nous définissons les autorisations de ce fichier sur 600.

chmod 600 login.db

3. Modifiez le fichier de configuration PAM requis par l'utilisateur virtuel

vim /etc/pam.d/vsftpd

Remplacez tous les précédents. content Commentez-le et ajoutez deux nouvelles lignes

auth    required    /lib64/security/pam_userdb.so  db=/etc/vsftpd/login 
account   required    /lib64/security/pam_userdb.so  db=/etc/vsftpd/login

Notez que s'il est 32 bits, supprimez le 64 après lib, et il n'est pas nécessaire d'ajouter un suffixe après la connexion. Après cette opération, les utilisateurs de l'entité ne pourront plus se connecter au service FTP.

4. Créez un répertoire de mappage local et définissez les autorisations du répertoire hôte.

Créez l'utilisateur hôte de l'utilisateur virtuel

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

Modifiez les autorisations du répertoire sur 755

# chmod 755 /home/vsftp/

5.Modifiez le fichier de configuration.

Écrivez les lignes d'informations de configuration suivantes dans le fichier de configuration /etc/vsftpd/vsftpd.conf.

# 开启虚拟用户登陆功能
guest_enable=YES

# 将虚拟用户与宿主用户对应
guest_username=ftpuser

# pam认证文件(该配置默认存在)
pam_service_name=vsftpd

# vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了,所以要加入下面配置
allow_writeable_chroot=YES

6. Créez un fichier de configuration distinct pour chaque utilisateur virtuel.

Si vous souhaitez créer un fichier de configuration distinct pour chaque utilisateur virtuel, vous devez ajouter

user_config_dir=/etc/vsftpd/config

au fichier de configuration principal pour spécifier le chemin du fichier de configuration de l'utilisateur virtuel. Créez ensuite leurs propres fichiers de configuration pour les deux utilisateurs virtuels :

# ftptest1虚拟用户的配置文件

# 创建虚拟用户家目录
# mkdir /home/vsftp/ftptest1
# chown ftpuser:ftpuser /home/vsftp/ftptest1/

# 建立配置文件
# mkdir /etc/vsftpd/config 
# vim /etc/vsftpd/config/ftptest1  <=== 虚拟用户各自配置文件和自己的用户名对应起来

# 指定家目录
local_root=/home/vsftp/ftptest1
# 允许相关权限
download_enable=yes
anon_upload_enable=yes
anon_other_write_enable=YES
anon_mkdir_write_enable=yes
anon_world_readable_only=no
# 设置最大传输速度,单位b/s
anon_max_rate=100000

Remarque : Il n'existe actuellement aucun fichier de configuration distinct pour l'utilisateur virtuel ftptest2, donc pour cet utilisateur, utilisez la configuration du fichier de configuration principal (/ etc /vsftpd/vsftpd.conf)Pour plus d'articles techniques connexes, veuillez visiter la colonne

Tutoriel du système Linux !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn