树莓派3ftp服务器修改地址,树莓派搭建ftp服务器配置本地用户访问

树莓派搭建ftp服务器配置本地用户访问

本文关键字

树莓派,raspberry,debian,ftp,vsftpd,本地用户

安装并配置ftp服务器-vsftpd

安装ftp服务器

sudo apt-get install vsftpd

启动ftp服务

sudo service vsftpd start

修改默认配置

sudo nano /etc/vsftpd.conf

寻找并打开如下注释:

# 不允许匿名访问

anonymous_enable=NO

# 可以写入

write_enable=YES

# 设置上传文件掩码

local_umask=022

# 使用utf-8字符集

utf8_filesystem=YES

不允许用户浏览自己根目录以外目录需额外做如下修改:

#取消注释并将其改为NO

chroot_local_user=NO

#设置通过读取文件确定哪些用户不允许离开自己的用户目录

chroot_list_enable=YES

存盘退出nano:

ctrl+o

ctrl+x

注意,需指定限制用户列表

设置了chroot_list_enable=YES后,必须建立列表文件,

否则客户端连接失败

建立/etc/vsftpd.chroot_list文件,将不允许离开自己根目录的用户加入到该文件中,一行一个用户名比如:

sudo nano /etc/vsftpd.chroot_list

#在文件中添加限制的用户名

student

test

重启ftp服务:

sudo service vsftpd restart

测试ftp服务

如果暂时没有安装ftp客户端可以在windows下通以下方式访问

在资源管理器地址栏中输入:

ftp://ip地址

此时树莓派默认用户:pi基本上可以访问ftp

ftp客户端安装

推荐使用:fileZilla

下载连接:[https://filezilla-project.org/download.php]

2.连接到树莓派ftp服务器:

用户名:pi 默认密码:raspberry

ftp根目录:/home/pi

连接端口:21

如果查看到的文件夹出现乱码,可以修改fileZilla客户端配置,在站点管理器-我的站点-新建站点

-字符集-强制使用utf-8

添加本地用户访问

添加本地用户

sudo adduser student

默认建立同名home目录

在客户端使用新建立用户登陆ftp服务器

新建立用户如果连接时报530错误,可参考如下解决方案:

除了前面的设置外,新建用户仍然无法访问ftp服务

在树莓派(debian)系统中客户端连接时会报530错误:

530 Login incorrect.

此时需要编辑/etc/pam.d/vsftpd文件

将最后一行注释掉,不使用pam的默认授权:

auth required pam_shells.so

限制新建用户不能离开自己的home目录,需参考前面操作将其添加到限制列表中:

即编辑vsftpd.chroot_list文件将用户名填到该文件中

使用软链接存储ftp文件

由于树莓派sd卡容量有限,做ftp需要额外的硬盘空间,在使用树莓派3b+版本时,支持自动挂载usb设备

只需到media/pi目录下查看挂载的设备

在挂载设备上建立文件夹并授权

在该设备上建立ftp存储文件夹,并将文件夹所有权赋给相应使用ftp的用户

参考命令:

chown -R test your_usb_dir

# -R 递归操作 test为用户名 your_usb_dir为设备上用于ftp存储的目录名

在用户home目录下建立软链接文件夹,并进行挂载

mount --bind /media/pi/04b0b893-7bca-b54f-b7cb-0e7d051803a9/ftp/student /home/student/ftp

#将左侧文件夹挂载到右侧文件夹,文件实际存储在左侧文件夹

# 卸载命令为umount

如无法向usb设备上存储文件,请检查usb设备相应文件夹的存取权限

采用第2步方式挂载当系统重新启动后目录会丢失,这时最好采取开机挂载目录方案,修改/etc/rc.local文件添加自动执行命令

sudo nano /etc/rc.local

在exit 0前面添加如下内容

sleep 20s && /bin/mount --bind /media/pi/04b0b893-7bca-b54f-b7cb-0e7d051803a9/ftp/student /home/student/ftp

命令说明:

sleep 20s表示等待20秒,&& 表示后台运行

这样做的原因是usb设备的挂载也需要时间,等usb设备挂载完毕后再挂载ftp目录,否则在挂载时找不到usb设备.

如果挂载不成功,可以在命令行输入:

systemctl status rc-local.service

查看出错信息

其他挂载方式:

很多资料都是使用fstab去挂载,但是在树莓派下一旦出错,系统无法启动,此时没有外接显示器连ssh也无法使用,如果采用rc.local的方式,即使出错系统还是能够启动的。方便查找原因

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值