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
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被动连接端口
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
, 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
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/
É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
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!