Linux安装vsftp及常见问题处理

Linux安装vsftp

1. Linux查看是否安装vsftp

rpm -qa vsftp
如果安装过,如下图:
这里写图片描述
2. 安装vsftp
yum install -y vsftpd

3. 关闭匿名访问
安装成功后,使用service vsftpd restart启动;
vsftpd安装成功后,默认会打开匿名访问,安全起见,我们一般都会关闭匿名访问:
vim /etc/vsftpd/vsftpd.conf
找到 anonymous_enable 并编辑
anonymous_enable=NO
保存,并重启vsftp服务:service vsftpd restart

/etc/vsftpd/vsftpd.conf:vsftpd 的核心配置文件
/etc/vsftpd/ftpusers:用于指定哪些用户不能访问FTP 服务器。 黑名单
/etc/vsftpd/user_list:指定允许使用vsftpd 的用户列表文件。 白名单
/etc/vsftpd/chroot_list:指定允许使用vsftpd 的用户列表文件。 控制名单下的目录能不能离开ftp根目录

4. 创建用户并指定文件夹
创建用户:test
用户指定目录: /home/files
用户密码:test

> useradd -d /home/files test
> passwd test

5. 限制用户只能访问指定文件夹
修改/etc/vsftpd/vsftpd.conf如下:
chroot_list_enable=YES //限制访问自身目录
chroot_list_file=/etc/vsftpd/chroot_list
编辑chroot_list文件,将test用户添加进去,每个用户名一行

6. 启动服务器
service vsftpd restart

7. 测试
widnows 下 ctrl+R -> cmd :

ftp ip
输入用户名 ,密码
dir

现在, 你也许已经连上ftp了, 也许ftp还连不上!!!
也许你连上了ftp了, 发现你既不能上传文件,也不能创建文件夹!!!!

下面,填坑:

1. 如果你还没连上ftp,请在服务依次检查:

// 检查是否启动vsfpt
ps -ef | grep vsftpd
//如果没有启动
service vsftpd start
//查看vsftpd运行状态
service vsftpd status
//查看链接的端口是否监听
lsof -i:21
//查看防火墙是否关闭
service iptables status

2.如果已经连上,但是登录不上去:

//检查用户是否存在
cat /etc/passwd
//检查配置,查看是否禁用ftp登录,此时分多种情况。我用的是指定用户,指定目录的方式配置ftp
//如果在/etc/vsftpd/vsfptd.conf开启chroot_list_enable=YES,需要在/etc/vsftpd/chroot_list中添加限制的用户
//检测防火墙是否开启
service iptables status
下面是/etc/vsftpd/vsftpd.conf中的关键配置:

anonymous_enable=NO # 不允许匿名访问,禁用匿名登录
chroot_local_user=YES # 启用限定用户在其主目录下
use_localtime=YES # 使用本地时(自行添加)
chroot_list_enable=YES
local_enable=YES # 允许使用本地帐户进行FTP用户登录验证
allow_writeable_chroot=YES # 如果启用了限定用户在其主目录下需要添加这个配置,解决报错 500 OOPS: vsftpd: refusing to run with writable root inside chroot()
xferlog_enable=YES # 启用上传和下载的日志功能,默认开启。
local_umask=022 # 设置本地用户默认文件掩码022 ;FTP上本地的文件权限,默认是077,不过vsftpd安装后的配置文件里默认是022

3. 如果已经登录上, 却无法上传,创建文件夹:

常见错误:
553 could not create file //上传文件的时候
500 OOPS: vsftpd: refusing to run with writable root inside chroot () //创建文件夹的shihou
根据博客:https://blog.csdn.net/bluishglc/article/details/42399439 中解释,当我们限定了用户不能跳出其主目录之后,使用该用户登录FTP时往往会遇到这个错误
从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。
解决方案(针对给指定用户限定访问目录):
首先, 我们需要保证/opt/vsftpd/vsftpd.conf中:
write_enable=YES
ascii_upload_enable=YES
ascii_download_enable=YES
allow_writeable_chroot=YES
加入设定目录 /opt/ftp/upload/为指定用户链接ftp后的根目录,并且我们需要给登录用户写入/删除权限。首先 /opt/ftp/upload文件夹,不能有写入权限。只能给 upload下创建文件夹, 并给 chmod -R 777 文件夹权限。
用户再次登录后, 即有上传权限,也有在根文件夹下 创建文件夹的权限。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值