1.更新检测是否有软件更新
sudo apt-get update;
2.安装 vsftp
sudo apt-get install vsftpd
3 ftp常用命令
sudo /etc/init.d/vsftpd start
sudo /etc/init.d/vsftpd stop
sudo /etc/init.d/vsftpd restart
4.修改参数
sudo vim /etc/vsftpd.conf
按i进入编辑模式
如下修改:
向文件中添加
userlist_deny=NO
userlist_enable=YES
userlist_file=/etc/allowed_users
seccomp_sandbox=NO
使文件中的"local_enable=YES
"
按esc
输入:wq
保存退出。
下面是一个比较完整的有中文注释的设置:
#这些设置系统默认是开启的,可以不管
listen=NO
listen_ipv6=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
#下面的就要自定义设置了,建议系统默认的不管,然后复制下面的
#是否允许匿名访问,NO为不允许
anonymous_enable=NO
#是否允许本地用户访问,就是linux本机中存在的用户,YES允许
local_enable=YES
#是否开启写模式,YES为开启
write_enable=YES
#新建文件权限,一般设置为022,那么新建后的文件的权限就是777-022=755
local_umask=022
#是否启动userlist为通过模式,YES的话只有存在于userlist文件中的用户才能登录ftp(可以理解为userlist是一个白名单),NO的话,白名单失效,和下面一个参数配合使用
userlist_enable=YES
#是否启动userlist为禁止模式,YES表示在userlist中的用户禁止登录ftp(黑名单),NO表示黑名单失效,我们已经让userlist作为一个白名单,所以无需使用黑名单功能
userlist_deny=NO
#指定哪个文件作为userlist文件,我们稍后编辑这个文件
userlist_file=/etc/vsftpd.user_list
#是否限制本地所有用户切换根目录的权限,YES为开启限制,即登录后的用户不能访问ftp根目录以外的目录,当然要限制啦
chroot_local_user=YES
#是否启动限制用户的名单list为允许模式,上面的YES限制了所有用户,可以用这个名单作为白名单,作为例外允许访问ftp根目录以外
chroot_list_enable=YES
#设置哪个文件是list文件,里面的用户将不受限制的去访问ftp根目录以外的目录
chroot_list_file=/etc/vsftpd.chroot_list
#是否开启写模式,开启后可以进行创建文件夹等写入操作
allow_writeable_chroot=YES
#设置ftp根目录的位置,这个文件我们稍后自己创建
local_root=/var/myftp
5.修改密码。默认创建的ftp用户名为ftp
更改密码:
sudo passwd uftp
6.ftp访问测试
ftp localhost
注意的一些问题:
匿名ftp的目录必须要555权限,否则会报错。也就是说该目录所有者只能有读取,执行的操作。
如果要其他ftp用户给该文件写的权限,请使用577
如果文件权限找不到问题,请看ftp打开的文件目录的所有者!
简介配置:
在 /etc/vsftd.conf
最后加入
userlist_deny=NO
userlist_enable=NO
userlist_file=/etc/allowed_users
seccomp_sandbox=NO
local_enable=YES
anon_root=/var/ftp/anon_ftp/
tcp_wrappers=YES
ftp_username=ftp
no_anon_password=YES
anon_world_readable_only=YES
allow_writeable_chroot=YES
开启一下注释:
chroot_local_user=YES
给匿名的目录执行一下权限:(假设匿名目录为:/var/ftp/anon_ftp)
sudo chmod -R 577 anon_ftp
sudo chown -R ftp /var/ftp/anon_ftp
重启vsftp
sudo /etc/init.d/vsftpd restart
测试
ftp localhost
ftp
#正常情况下,会进入ftp匿名目录,用命令ls可以查看内容
最后强调,给匿名目录的权限是:所有者只有读
权限,其他管理者拥有读写
权限
注意:已经创建了的目录,需要删除后,才会授予新的权限,php ftp_mkdir这个方法,遇到重复的目录不会重新建,也不会覆盖原来的权限。