如何vsftpd限制用户目录为public_html和取消被动模式?
修改vsftpd的配置文件,改动如下:
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=no
pasv_enable=yes
chroot_local_user=YES
local_root=public_html
chroot_list_enable=no
ftp有主动和被动模式的简单说明:
主动模式:客户端与服务器21端口建立链接后,会发送port命令,通知服务器某个端口,然后又服务器主动链接该端口进行数据传输;
被动模式:客户端与服务器21端口(控制端口)建立链接后,会等待服务器的port命令,得到服务器的某个端口,然后客户端主动发起到服务器的链接;
在VirtualBox下安装Ubuntu,网络方式使用NAT方式,为了让宿主机和外网可以访问,设置了端口映射,这样我们就不能使用ftp的被动模式,因为被动模式中服务器的开发的端口是不确定的,因此需要将vsftpd的默认的被动模式修改为主动模式,只需要在vsftpd的配置文件中增加如下一行(/etc/vsftpd.conf)
pasv_enable=no
VSFTP的配置文件说明 /etc/vsftpd/vsftpd.conf
主动模式设置
Port_enable=YES 开启主动模式
Connect_from_port_20=YES 当主动模式开启的时候 是否启用默认的20端口监听
Ftp_date_port=%portnumber% 上一选项使用NO参数是 指定数据传输端口
被动模式
PASV_enable=YES 开启被动模式
PASV_min_port=%number% 被动模式最低端口
PASV_max_port=%number% 被动模式最高端口
匿名上传设置
anonymous_enable=YES 启用匿名帐户
anon_world_readable_only=NO 关闭匿名全局浏览
anon_upload_enable=YES 匿名上传开启
anon_mkdir_write_enable=YES 允许匿名用户创建目录
write_enable=YES 全局写入权限开启
限制本地用户访问文件系统
chroot_local_user=YES 将本地用户浏览限制在其FTP根目录下
限制部分用户访问文件系统
chroot_list_enable=YES 启用列表(不可以与上条命令同时开启)
chroot_list_file=%file path% 限制用户的列表文件
连接限制
Max_client=%number% 最大连接数
max_per_ip=%number% 每ip最大连接数
anon_max_rate=%number% 匿名用户最大速率 单位kbps
local_max_rate=%number% 本地用户最大速率 单位kbps
user_config_dir=%file path%/%username% 针对不同用户的连接速率设置
%username%文件的内容为 local_max_rate=%number%
用户主目录设置
本地用户的主目录定义在/etc/passwd文件中
其中FTP user:________为定义行
全局重定向localuser的ftp主目录
local_root=%path%
安全设置
hide_ids=YES 隐藏用户的UID和GID
改变原有banner
ftpd_banner=%message%