Ubuntu安装ftp和配置多用户/多用户访问各自目录/多用户访问同一目录/禁止用户访问上级目录

1.安装vsftpd
apt-get install vsftpd
2.配置用户

以多用户为例,单用户操作方法一样

创建用户ming1,ming2和对应密码,-m创建该用户文件夹,-d指定该用户文件夹

useradd -m -d /home/ming1 -s /bin/bash ming1
passwd ming1
useradd -m -d /home/ming2 -s /bin/bash ming2
passwd ming2
3.配置vsftpd
vim /etc/vsftpd.conf

修改配置:

#禁止匿名访问
anonymous_enable=NO
#接受本地用户
local_enable=YES
#允许上传
write_enable=YES
#允许utf8识别
utf8_filesystem=YES

添加配置:

#防止报500错
seccomp_sandbox=NO

其他配置:

1)若配置全部用户只访问同一目录,比如用户ming1和用户ming2都默认访问/home/ming的目录,则需要添加配置

local_root=/home/ming/

并建立对应的目录给予权限

mkdir /home/ming
chmod -R 777 /home/ming

以上也适用单个用户的配置

2)若每个用户默认只访问自己对应的目录,比如用户ming1只访问/home/ming1目录,用户ming2只访问/home/ming2的目录,则需要删除local_root或在前面加#注释掉即可

4.禁止用户访问上级目录

默认任何用户是可以访问上级目录的,若禁止可以做如下配置

还是编辑vsftpd配置文件

vim /etc/vsftpd.conf

修改配置:

#禁止返回上一级
chroot_local_user=YES
chroot_list_enable=YES
#允许返回上级目录的用户放在/etc/vsftpd.chroot_list中,一行一个用户名,若没有/etc/vsftpd.chroot_list,则需要新建一个,否则登录会报错
chroot_list_file=/etc/vsftpd.chroot_list

将允许访问上级目录的用户名放在/etc/vsftpd.chroot_list中,一行一个用户名,不在该文件中的用户将无法访问上级目录,若没有该文件则需要新建一个,否则登录会报错

5.重启ftp服务器
service vsftpd restart
6.打开浏览器

远程服务器使用ftp:IP地址

本地使用ftp:1270.0.1

输入用户名和密码进入

7.一些报错处理

报错:500 OOPS: vsftpd: refusing to run with writable root inside chroot()

从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。需要在vsftpd的配置文件vsftpd.conf中增加下列:

allow_writeable_chroot=YES

报错:500 OOPS: cannot change directory

创建用户的时候漏掉-m参数,导致当前登录的用户没有对应目录的权限,在/home/目录下,使用ll命令可以查看文件夹是否在对应用户权限。若报此错误,需要使用“userdel -r 用户名”命令删除用户,重新按照步骤2创建用户

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值