|
树莓派周边配件大全
NanoPi是一个标准的LINUX嵌入式系统所以能很好完整的支持LINUX常用文件服务器vsFTP服务,vsFTP是我盟通常所讲的FTP服务的一个具体软件实现,它具有非常好的安全性而且对嵌入式和普通电脑以及服务器都支持的非常好所以VSFTP才如此通用。这节我们来通过图文方式详细讲讲vsFTP服务在NanoPi上的配置和使用。
vsFTP有两种连接模式
主动连接模式;是vsFTP默认的传输方式,他采用21端口进行登录和控制,然后打开20端口传输数据。但是此方式突破用户防火墙比较麻烦,所以不太建议使用此方式。被动连接模式;在被动模式下是有用户客户端主动发起登录和数据传输,所以能很好的穿透防火墙登录成功。该模式下用户通过21端口登录成功后,客户端再通过随机端口发起数据传输端口连接。
vsFTP服务用户支持三种模式
第一种;采用LINUX系统本身的系统用户登录,这种方式较为不安全而且配置用户不太灵活。第二种;采用MYSQL数据库存放vsFTP虚拟用户的方式,这种方式比较麻烦毕竟动用了数据库。
第三种;采用PAM文件认证的虚拟用户,配置也方便而且又不需要动用数据库。
考虑到易用性和安全性,本文以第三种PAM文件认证虚拟用户方式来配置vsFTP服务。
第一步;是安装vsFTP服务端并配置必要的环境
setenforce 0sudo apt-get install vsftpd
/etc/init.d/vsftpd restart
iptables -F
第二步;编辑配置vsftp.conf配置文件
anonymous_enable=NOlisten=YES
write_enable=YES
local_enable=YES
ascii_upload_enable=YES
ascii_download_enable=YES
local_umask=022
idle_session_timeout=600
userlist_enable=NO
connect_from_port_20=YES
pam_service_name=vsftpd
tcp_wrappers=YES
pasv_enable=YES
pasv_min_port=10000
pasv_max_port=10100
xferlog_enable=YES
xferlog_file=/etc/vsftpd/vsftpd.log
xferlog_std_format=YES
guest_enable=YES
guest_username=ftp
user_config_dir=/etc/vsftpd/vuser_conf/
allow_writeable_chroot=YES
第三步;创建用户密码文本,注意奇行是用户名,偶行是密码
vi /home/vsftpd/v_user_passwd.txtbyuser01
pwuser1
第四步; 生成虚拟用户认证的db文件
db_load -T -t hash -f /home/vsftpd/v_user_passwd.txt /home/vsftpd/v_user_passwd.dbchmod 600 /home/vsftpd/v_user_passwd.db #设置权限
第五步 编辑配置PAM认证文件
vi /etc/pam.d/vsftpd将里面其他的都注释掉,添加下面这两行
auth required pam_userdb.so db=/home/vsftpd/v_user_passwd 这里没有.db扩展名
account required pam_userdb.so db=/home/vsftpd/v_user_passwd
第六步 创建虚拟用户配置文件和目录
mkdir /etc/vsftpd/vuser_conf/vi /etc/vsftpd/vuser_conf/byuser01 虚拟用户配置文件,必须和用户名相同
local_root=/var/byuser01 虚拟用户根目录,根据实际情况修改
write_enable=YES 可写
anon_umask=022 掩码
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
第七步; 设置目录权限
mkdir /var/byuser01chmod -R 755 /var/byuser01 mkdir /var/byuser01/tt
chmod -R 777 /var/tt