Code前端首页关于Code前端联系我们

示例讲解CentOS7服务器环境下vsftpd的安装配置方法

terry 2年前 (2023-09-28) 阅读数 61 #未命名

该示例讲解CentOS7服务器环境下vsftpd的安装配置方法。分享给大家参考一下,具体如下:

0x:卸载Vsftpd

[root@localhost ~]# yum remove vsftpd
[root@localhost ~]# find / -name "vsftpd*"
/etc/vsftpd
/etc/vsftpd/vsftpd.conf.bak
[root@localhost ~]# rm -fr /etc/vsftpd/

1x:重新安装

[root@localhost home]#yum -y install vsftpd
[root@localhost home]# systemctl start vsftpd.service
[root@localhost home]# systemctl status vsftpd.service

● vsftpd.service - Vsftpd ftp daemon
 Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; disabled; vendor preset: disabled)
 Active: active (running) since Thu 2017-11-09 21:15:18 EST; 8s ago
 Process: 5716 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS)
 Main PID: 5717 (vsftpd)
 CGroup: /system.slice/vsftpd.service
   └─5717 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
Nov 09 21:15:18 localhost.localdomain systemd[1]: Starting Vsftpd ftp daemon...
Nov 09 21:15:18 localhost.localdomain systemd[1]: Started Vsftpd ftp daemon.
Hint: Some lines were ellipsized, use -l to show in full.

Active:活动(正在运行) 说明 安装完成

2x:本地用户配置

[root@localhost vsftpd]# useradd test1
[root@localhost vsftpd]# passwd test1
Changing password for user test1.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.

Test1 Local帐号另外,以下是在不更改/etc/vsftpd/vsftpd.conf的情况下使用本地帐号查询和黑名单用户(本地用户)访问下载和上传文件。

其余无关紧要

cat /etc/vsftpd/chroot_list
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
tcpdump -i eth0 src host hostname(明文)
touch /home/test1/test1.txt
local_root=/tmp/test1_root/
local_max_rate=0
groupadd tg
gpasswd -a test1 tg
chown root:tg /tmp/test1_root/
chmod 775 /tmp/test1_root/
ll /temp/
chroot_local_user=YES
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list

3x:匿名用户配置

[root@localhost vsftpd]# vi /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
[root@localhost vsftpd]# systemctl restart vsftpd
[root@localhost vsftpd]# touch /var/ftp/pub/lm.txt
[root@localhost vsftpd]# chown ftp /var/ftp/pub

以上服务器配置可以访问并上传文件到发布目录

可能出现的问题:

1。被ftp用户视为理所当然 /var/ftp/目录的权限出现如下问题

[root@localhost vsftpd]# chown ftp /var/ftp/
[root@localhost vsftpd]# ll -d /var/ftp/
drwxr-xr-x. 3 ftp root 4096 Nov 10 17:03 /var/ftp/
C:\Users\xiaor>ftp 192.168.5.147
连接到 192.168.5.147。
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用户(192.168.5.147:(none)): anonymous
331 Please specify the password.
密码:
500 OOPS: vsftpd: refusing to run with writable root inside chroot()
远程主机关闭连接。

解决办法:

[root@localhost vsftpd]# chown root /var/ftp
[root@localhost vsftpd]# chown ftp/var/ftp/pub

2. Windows CMD(命令提示符)会产生以下错误以及如何处理它。

4x:虚拟用户配置(亮点,最推荐)

1.添加虚拟用户密码文件并创建身份验证文件

[root@localhost vsftpd]# vi /etc/vsftpd/vuser.txt
[root@localhost vsftpd]# yum -y install db4-utils
[root@localhost vsftpd]# db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db

2。编辑 vsftpd

[root@localhost vsftpd]# vi /etc/pam.d/vsftpd
在其文件中添加下面两行,并注释其它行
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser
#%PAM-1.0
#session  optional   pam_keyinit.so  force revoke
#auth    required  pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
#auth    required  pam_shells.so
#auth    include   password-auth
#account  include   password-auth
#session  required   pam_loginuid.so
#session  include   password-auth
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser

3 PAM 身份验证文件。创建本地映射用户并设置主机目录权限

[root@localhost vsftpd]# useradd -d /home/vftproot -s /sbin/nologin vuser
[root@localhost vsftpd]# ll /home/
[root@localhost vsftpd]# chmod 555 /home/vftproot/
[root@localhost vsftpd]# ll /home/

4。修改配置文件,重启vsftpd,测试

[root@localhost vsftpd]# vi /etc/vsftpd/vsftpd.conf
guest_enable=YES
guest_username=vuser
pam_service_name=vsftpd
[root@localhost vsftpd]# systemctl restart vsftpd.service

5。设置虚拟用户权限并继续设置:下载可以,但上传不行

[root@localhost vsftpd]# vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
[root@localhost_centos vsftpd]# systemctl restart vsftpd.service
 [root@localhost vsftpd]# mkdir /home/vftproot/pub
 [root@localhost vsftpd]# chmod 777 /home/vftproot/pub
 [root@localhost vsftpd]# ll -d /home//vftproot/pub
 drwxrwxrwx. 2 root root 4096 Nov 12 16:33 /home//vftproot/pub

虚拟用户上传也可以。就是这个!

C:\Users\xiaor>ftp 192.168.5.147
连接到 192.168.5.147。
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用户(192.168.5.147:(none)): ftpxrl
331 Please specify the password.
密码:
230 Login successful.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
pub
t1.txt
226 Directory send OK.
ftp: 收到 16 字节,用时 0.00秒 16000.00千字节/秒。
ftp> cd pub
250 Directory successfully changed.
ftp> put abc.txt
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.
ftp>

6。设置问题

A,500 OOPS:vsftpd:拒绝使用可写根 chroot() 运行

C:\Users\xiaor>ftp 192.168.5.147
连接到 192.168.5.147。
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用户(192.168.5.147:(none)): ftpxrl
331 Please specify the password.
密码:
500 OOPS: vsftpd: refusing to run with writable root inside chroot()
远程主机关闭连接。

[root@localhost vsftpd]# chmod 555 /home/vftproot/

C:\Users\xiaor>ftp 192.168.5.147
连接到 192.168.5.147。
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用户(192.168.5.147:(none)): ftpxrl
331 Please specify the password.
密码:
230 Login successful.
ftp>

B,530 登录不正确

解决方案:/libd/Modify。在下面 vsftpd 中的 /lib64

5x 中:防火墙设置

3。将 ftp

打开 etc/vsftpd.conf

更改为 chroot_list_enable=NO:chroot_list_enable=YES

设置被动模式端口5。防火墙设置

将端口 30000 添加到被动模式。如果您想以主动模式开户,则需要添加端口20。帮助大家配置CentOS服务器。

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门