vsftp使用记录
- ftp上传权限默认值为: 文件权限666 文件夹权限777 系统默认掩码 local_umask 默认为022
- 文件的权限为默认权限减掩码 文件权限=666-022 = 644 文件夹权限 = 777 - 022 = 755
- 系统默认目录为登录用户的家目录 使用local_root参数修改
- 其间误删了vsftpd.conf 解决办法
#彻底清除 apt purge vsftpd 重新安装 apt install vsftpd
- 报错500、解决办法在下面
- nologin 用户无法登录问题 解法
vim /etc/shells # 加入/sbin/nologin
下载安装
apt inistall vsftpd
修改配置文件
vim /etc/vsftpd.conf
做如下修改
#打开匿名访问
anonymous_enable=YES
#允许本地用户登录
local_enable=YES
#允许本地用户写权限
write_enable=YES
#用户上传文件的掩码
local_umask=022
#所有用户限制在默认目录
chroot_local_user=YES
#使能特权列表
chroot_list_enable=YES
设定列表目录
chroot_list_file=/etc/vsftp/vsftpd.chroot_list
#打开主动模式
port_enable=YES
打开被动模式
pasv_enable=YES
pasv_min_port=40000 最小端口
pasv_max_port=45000 最大端口
pasv_address=你的IP地址
被动模式使用的端口必须放行,否则无法连接。
创建文件夹及文件 将允许进入上级目录的用户加入vsftpd.chroot_list文件
mkdir /etc/vsftp
touch /etc/vsftp/vsftpd.chroot_list
设置允许root用户登录
不允许登录FTP的用户写在这个文件,在root前用#注释
vim /etc/ftpusers
解决报错:500
如果出现报错:500 OOPS: vsftpd: refusing to run with writable root inside chroot()
1、在vsftp配置文件中加入 allow_writeable_chroot=YES
2、修改配置文件中的chroot_local_user为 chroot_local_user=NO``chroot_list_enable=NO
特殊用户独立配置文件
用户默认目录在家目录中
需要修改特殊用户只允许登录FTP
创建FTP用户
useradd -M -s /sbin/nologin ftp1
passwd ftp1
在vsftp.conf配置文件中加入 user_config_dir=/etc/vsftp/userconfig
创建相应文件
mkdir /etc/vsftp/userconfig
vim ftp1
添加内容
#设定FTP用户默认目录
local_root=/home/ftp
#添加写使能
write_enable=yes
添加开机自启
update-rc.d vsftpd remove
update-rc.d vsftpd defaults
update-rc.d vsftpd enable