树莓派安装FTP服务器

时间:2021-10-01 18:44:01
vsftpd是开源的轻量级的常用ftp服务器.
 
1,在树莓派上安装vsftpd服务器 (约400KB)
sudo apt-get update
sudo apt-get install vsftpd

#当出现下面这个错误的时候这是更新源的问题,要更改更新源。
(Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package vsftpd)

更新 /etc/apt/sources.list 文件中的地址,具体可以参考:Raspbian 中国软件源

 
2,启动ftp服务
sudo service vsftpd start
 
3,编辑vsftdp的配置文件
sudo nano /etc/vsftpd.conf
 
找到以下行,定义一下
anonymous_enable=NO  
表示:不允许匿名访问
 
local_enable=YES   
设定本地用户可以访问。
 
write_enable=YES
设定可以进行写操作
 
local_umask=022
设定上传后文件的权限掩码(具体怎么使用的我还在研究中......具体解释已写在文章后面)。
 
存盘退出
 
4, 重启vsftpd服务
sudo service vsftpd restart
 
5, 测试一下, OK
通过ftp连接树莓派系统,以用户名pi登录,密码是raspberry
ftp的根目录是/home/pi,即pi用户的HOME目录
可上传或下载文件了
 
出处:
https://www.cnblogs.com/jikexianfeng/p/5862130.html
https://blog.csdn.net/billyran/article/details/69486056

===========================================================================

文章中配置的local_umask与anon_umask值的介绍。
在Linux系统中,当我们创建文件的默认权限是怎么来的?如何改变这个默认权限呢?
在vsftpd配置中有local_umask项:local_umask=022
首先,我们要搞清楚umask是个啥子玩意儿?
当我们创建一个文件后,总是有一个默认权限的,那么这个权限是怎么来的呢?这就是umask干的事情。
umask设置了用户创建文件的默认去除的权限,它与chmod的效果刚好相反,umask设置的是权限的“补码”,也有叫它掩码的,而chmod设置的是文件权限码。
一般在会在/etc/profile、$ [HOME]/.bash_profile或$[HOME]/.profile中设置umask值。

如何计算umask值?
umask命令允许你设定文件创建时的缺省模式,对应每一类用户(文件属主、同组用户、其他用户)存在一个相应的umask值中的数字。对于文件来说,这一数字的最大值分别是6。系统不允许你在创建一个文本文件时就赋予它执行权限,必须在创建后用chmod命令增加这一权限。目录则允许设置执行权限,这样针对目录来说,umask中各个数字最大可以到7。
umask是在linux中常见的一个东西,它其实是一个掩码。当然,也有umask这样一个命令,它是对用户建立的文件的默认属性的定义。该定义为:
假设umask为022,则对于一个文件夹的话,它的默认属性为 777-022=755,这也就是我们平时建立文件夹的权限。
而对于一般的文件的话,则是用 666-022=644.
umask是unix操作系统的概念,umask决定目录和文件被创建时得到的初始权限
umask = 022 时,新建的目录 权限是755,文件的权限是 644
umask = 077 时,新建的目录 权限是700,文件的权限时 600

vsftpd的local_umask和anon_umask借鉴了它,该命令的一般形式为:umask nnn
其中nnn为umask值,从000 – 777。
我们只要记住umask是从权限中“拿走”相应的位即可。下表是umask值与权限的对照表:

umask值文件权限目录权限

umask值 文件权限 目录权限
 6

 

默认情况下vsftp上传之后文件的权限是600,目录权限是700
想要修改上传之后文件的权限,有两种情况
1.如果使用vsftp的是本地用户,则要修改配置文件中的 local_umask 的值
2.如果使用vsftp的是虚拟用户,则要修改配置文件中的 anon_umask 的值
如:umask值为022,则默认目录权限为755,默认文件权限为644。
多点例子:
如果配置的umask值为000,则默认目录权限为777,默认文件权限为666
如果配置的umask值为047,则默认目录权限为730,默认文件权限为620

是不是很简单呢,呵呵呵

 

参考出处:

https://blog.csdn.net/faye0412/article/details/6280755

http://blog.sina.com.cn/s/blog_49fd52cf0100nekk.html