Ubuntu下安装及配置Vsftpd服务器

本文章分三个部分从易到难

1.搭建前的一些准备工作

  1. 需要手动创建一个目录-ftp的根目录,用户可以访问该目录下的资源,
mkdir /home/uftp

接着创建一个子目录,

mkdir /home/uftp/data

修改ftp这个目录的权限,

chmod -R 777 /home/uftp

匿名用户登录

1apt-get install vsftpd 安装ftp服务器

 2 配置vsftpd.conf文件,要有root权限:

sudo gedit /etc/vsftpd.conf
    配置文件以匿名登录
 在后面加上

anonymous_enable=YES
anon_root=/home/……/ftp
no_anon_password=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES

3 重启sudo /etc/init.d/vsftpd restart

最后就可以实现匿名登录

在这里插入图片描述

.

本地用户登录

添加用户

useradd -d /home/ftp/data -s /sbin/nologin uftp

设置密码

passwd zhangxw

然后修改配置文件

sudo gedit /etc/vsftpd.conf

直接在后面加

限制用户对主目录以外目录访问
chroot_local_user=YES
#指定一个 userlist 存放允许访问 ftp 的用户列表
userlist_deny=NO
userlist_enable=YES
#记录允许访问 ftp 用户列表
userlist_file=/etc/vsftpd.user_list

#不配置可能导致莫名的530问题
seccomp_sandbox=NO
#允许文件上传
write_enable=YES

#使用utf8编码
utf8_filesystem=YES

建立相应的本地用户登录文件夹位于 /etc下先建立vsftpd文件夹

sudo mkdir /etc/vsftpd

sudo cd /etc/vsftpd

touch vsftpd.user_list

创建文件成功后,我们就可以添加访问用户了,添加用户的命令是

useradd -d /home/uftp/data -s /sbin/nologin uftp

将上面添加的用户,手动写入到
gedit /etc/vsftpd/ vsftpd.user_list

只需要添加第一行第一个名字即可
. 最后进行本地登录在这里插入图片描述

虚拟用户登录

最难搞的来了 本人搞了一下午加1天勉强搞完
1.在上述基础上加入虚拟用户时候新建虚拟用户的配置文件:

sudo touch /etc/vsftpd/stu

在这里插入图片描述

2.专门建立一个存放这些虚拟用户及它们密码的数据库并赋予权限

$touch loguser.txt
$vim loguser.txt
*/将用户名、密码一行一行地填写,比如用户名为usera,密码为123456,那么,loguser.txt的内容是:
usera
123456
*/
将txt文件改成数据库文件
db4.8_load -T -t hash -f vsftpd_login.txt /etc/vsftpd_login.db
赋予权限
$chmod 600 /etc/vsftpd_login.db

文件/etc/pam.d/vsftpd.vu的内容是

auth sufficient pam_userdb.so db=/etc/vsftpd_login account sufficient
pam_userdb.so db=/etc/vsftpd_login

注意一定要顶行写

3.创建用户vsftpd

useradd vsftpd -d /home/vsftpd -s /bin/false
chown vsftpd:vsftpd /home/vsftpd

配置完成后先修改vsftpd.conf文件配置

sudo gedit /etc/vsftpd.conf

listen=YES
anonymous_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
chroot_local_user=YES
guest_enable=YES
guest_username=vsftpd
user_config_dir=/etc/vsftpd_user_conf
pam_service_name=vsftpd.vu
local_enable=YES
secure_chroot_dir=/var/run/vsftpd
local_max_rate=204800
在这里插入图片描述

修改parm目录

touch /etc/pam.d/vsftpd.vu

文件/etc/pam.d/vsftpd.vu的内容是
注意一定要顶行写


auth sufficient pam_userdb.so 
db=/etc/vsftpd_login
account sufficient pam_userdb.so 
db=/etc/vsftpd_login

listen=YES
anonymous_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
chroot_local_user=YES
guest_enable=YES
guest_username=vsftpd
user_config_dir=/etc/vsftpd_user_conf
pam_service_name=vsftpd.vu
local_enable=YES
secure_chroot_dir=/var/run/vsftpd
local_max_rate=204800

5.配置usera(用户)文件

$mkdir /etc/vsftpd_user_conf
$cd /etc/vsftpd_user_conf
$touch usera
文件/etc/vsftpd_user_conf/usera的内容是
local_root=/home/vsftpd/usera

创建usera的工作目录

cd /home/vsftpd/

mkdir usera

touch test.txt

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

注意别加

seccomp_sandbox=NO

write_enable=YES

utf8_filesystem=YES

allow_writeable_chroot=YES

加上可能导致莫名的530问题

6.重启ftp

/etc/init.d/vsftpd restart
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Ubuntu安装配置vsftpd服务器,您可以按照以下步骤进行操作: 1. 首先,打开终端并更新软件包列表: ``` sudo apt update ``` 2. 然后,使用以下命令安装vsftpd服务器: ``` sudo apt install vsftpd ``` 3. 安装完成后,您可以使用以下命令启动vsftpd服务: ``` sudo systemctl start vsftpd ``` 4. 接下来,您可以运行以下命令将vsftpd服务设置为开机自启动: ``` sudo systemctl enable vsftpd ``` 5. 默认情况下,vsftpd配置文件位于`/etc/vsftpd.conf`。您可以使用以下命令进行编辑: ``` sudo nano /etc/vsftpd.conf ``` 6. 在编辑器中,您可以根据您的需求进行配置。以下是一些常用的配置选项: - `anonymous_enable=YES`:允许匿名用户访问。 - `local_enable=YES`:允许本地用户访问。 - `write_enable=YES`:允许用户上传文件。 - `chroot_local_user=YES`:限制用户只能在其主目录下操作。 7. 配置完成后,保存并关闭文件。然后,重新加载vsftpd服务以使更改生效: ``` sudo systemctl restart vsftpd ``` 8. 如果您的系统上有防火墙,您还需要允许FTP流量通过。例如,使用以下命令允许FTP的默认端口 21: ``` sudo ufw allow 21 ``` 现在,您的vsftpd服务器已经安装配置完成。您可以使用FTP客户端连接到服务器并开始传输文件。请注意,为了安全起见,您可能需要进一步配置和限制访问权限,例如使用TLS/SSL加密、限制用户访问等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值