最近突然想弄个小网站,虽然可以把代码直接复制或者放到云服务器上,但是觉得还是配置一下ftp比较好,于是就选择vsftpd。什么是vsftpd,可以参考一下鸟哥的教程:http://www.huzs.net/?p=1213#server
因为是新手,上网查了大概好多配置方案和方法,包括vsftpd.conf等配置,但是都觉得和自己的情况很不一样,导致折腾了很久,所以最后决定总结一下,由于是菜鸟,若有错误之处请多多指教!
1、首先,我们要下载一下命令是:
sudo apt-get install vsftpd
如果下载不了我们更新一下即可:sudo apt-get update
一般这一步都ok的
2、配置vsftpd第一步允许上传
在操作前,我们可以cp vsftpd.conf vsftpd.conf.org 这样已作为备份
如图1:
这一步也是最关键的一步,因为从网上看到有腾讯云的服务器,阿里云的还有aws的,都差不多,但是都有些区别,既然用到了vsftpd,我们就在设定一个如下场景:不允许匿名登录,允许用户登录,主动被动都可以,允许用户上传和下载。
listen=NO
listen_ipv6=YES
禁止匿名
anonymous_enable=NO
local_enable=YES
允许上传
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
dirmessage_enable=YES
chown_uploads=YES
ascii_upload_enable=YES
ascii_download_enable=YES
将这些前面的#都去掉之后,并且改成上述模样基本就ok了
2、配置vsftpd第二步限制用户登录
很多时候到这便就不太明白了,这个用户什么的弄的很复杂,其实比较好理解:
1、创建用户上传文件夹和用户
这个时候我先保存一下配置文件并退出(按esc 然后: wq!)
useradd -d /home/yuan yuan
创建了一个yuan的用户,并且ftp访问时在/home/yuan下面
设置密码passwd yuan
2、更改用户目录为主目录
usermod -d /home/yuan yuan
之后给一个权限
chmod 777 /home/yuan
3、之后有一步是关于shell的
vi /etc/shells
将/usr/sbin/nologin加在后面
如图2:
3、明白用户管理的表
#chroot_local_user=YES
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd.chroot_list
解了这3行的注释,我们看到有指定一个用户列表“vsftpd.chroot_list”,要自己建立。
如图1:
如果是两个YES(就上面那样),那么是指,限制所有用户,开放(列表中)特定,限制一切用户,只解禁 /etc/vsftpd.chroot_list 的用户,也即是只有这个列表中的用户可以访问所有文件,不在列表的只能访问指定目录。反正如此
vi /etc/vsftpd.chroot_list
配置文件修改如下:
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
最后加一个这个设定访问文件夹
local_root=/home/yuan
4、重启vsftpd
service vsftpd restart
service vsftpd stauts //查看状态的,running代表在运行
现在系统登录试一下:
如图3:
5、我使用的是filezilla,用flashfxp也可以
如图4:
至此全部ok
若是关于用户设计有疑问的可以去看看其他文章,我可能讲的不太明白
原文链接:https://blog.csdn.net/lotdoney/article/details/79203878