修改配置文件:/etc/vsftpd/vsftpd.conf
最基本的相关设置
listen=yes --打开ftp服务,开启匿名服务(只允许匿名用户列表ftp根目录,可以下载;根ftp目录在:/var/ftp/)
pam_service_name=vsftpd --使用PAM认证
listen_port=21 --监听ftp端口
listen_address=x.x.x.x -- 听某个ip或地址
idle_session_timeout=600 --空闲会话断开前的经过的秒数
connect_timeout=60 --网络连接超时秒数
accept_timeout=60 --用户连接到服务器后排队等候超时
max_client=400 --最大客户端连接数
max_per_ip=1 --每ip最大连接数
local_max_rate=100000 --本地用户的最大连接速率
bitanno_max_rate=1000 --匿名用户的最大连接速率
辅助基本设置
ftpd_banner=欢迎信息
banner_file=/var/vsftpd_banner_files --使用该文件中的欢迎信息,注意该设置会override ftpd_banner的设置
banner_fail=/var/vsftpd_banner_fail --使用该文件中的显示连接失败信息
dirmessage_enable=yes --切换目录时使用该目录下的.message显示消息
匿名用户管理 本质上:vsftp进程将匿名用户模拟Linux上的nobody用户,所有必须保证适当的Linux系统权限
anonymous_enable=yes --允许匿名用户访问ftp,是默认设置,访问根ftp目录 注意必须保证匿名用户所访问的目录在Linux下有写r权限
anon_root=/var/ftp/anon --修改匿名用户的ftp根目录
anon_upload_enable=yes --允许匿名用户在根ftp目录的上传文件权限 注意必须保证匿名用户所访问的目录在Linux下有写w权限
anon_mkdir_write_enable=yes --允许匿名用户创建目录并上传文件权限 注意必须保证匿名用户所访问的目录在Linux下有写w权限
anon_world_readable_only=no --允许匿名用户的读权限,可浏览所有文件、目录、子目录 注意必须保证匿名用户所访问的目录在Linux下有写r权限
本地用户管理 本质上:vsftp进程将本地用户模拟Linux上的对应本地用户,所有必须保证适当的Linux系统权限
anonymous_enable=no --关闭匿名登陆
local_root=/var/ftp --本地用户的根目录,可以通过设置chroot_local_user=yes来限制本地用户只能在其home下
local_enable=yes --允许本地用户登陆vsftp服务器
write_enable=yes --允许本地用户的写权限
chroot_local_user=yes --本地用户只能处于自家home下,如果没有这个设置,登陆用户可以访问任何具有Linux权限的os系统目录
chroot_list_enable=yes --只允许列表中的用户更改根目录,必须同时设置了chroot_local_user=yes、chroot_list_file=/var/vsftpd/chroot_list ;否则该设置不起作用
chroot_list_file=/var/vsftpd/chroot_list --允许用户列表,如果chroot_list_enable=yes,必须设置该参数
userlist_enable=yes --禁止userlist_file文件中列出的本地用户登陆vsftp服务器,配合userlist_deny策略设置
userlist_deny=yes --限制策略:限制userlist_file文件中列出的本地用户登陆vsftp服务器——默认设置;否则只允许userlist_file文件中的用户访问
userlist_file=/etc/vsftpd/userlist --用户列表
Vsftp 服务器 配置 用户 限制 锁定 目录 只允许访问自己的目录,不让浏览根目录
一、默认VSFTPD.CONF(RHEL4)没有明显列出其中以下选项
添加一下设置,就会默认新建用户锁定到自己的目录里面
# lock user in home directory
chroot_local_user=YES
其中原始配置的一部分是这样的
# You may specify an explicit list of local users to chroot() to
# their home directory. If chroot_local_user is YES, then this list
# becomes a list of users to NOT chroot().
chroot_local_user=YES
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd.chroot_list
参数 | 说明 |
listen_address=ip address | 指定侦听 IP |
listen_port=port_value | 指定侦听端口,默认 21 |
anonymous_enable=YES | 是否允许使用匿名帐户 |
local_enable=YES | 是否允许本地用户登录 |
nopriv_user=ftp | 指定 vsftpd 服务的运行帐户,不指定时使用 ftp |
write_enable=YES | 是否允许写入 |
anon_upload_enable=YES | 匿名用户是否可上传文件 |
anon_mkdir_write_enable=YES | 匿名用户是否建立目录 |
dirmessage_enable=YES | 进入每个目录是显示欢迎信息,在每个目录下建立 .message 文件在里面写欢迎信息 |
xferlog_enable=YES | 上传 / 下载 文件时记录日志 |
connect_from_port_20=YES | 是否使用 20 端口传输数据 ( 是否使用主动模式 ) |
chown_uploads=YES 、 chown_username=whoever | 修改匿名用户上传文件的拥有者 |
xferlog_file=/var/log/vsftpd.log | 日志文件 |
xferlog_std_format=YES | 使用标准文件日志 |
idle_session_timeout=600 | 会话超时,客户端连接到 ftp 但未操作 |
data_connection_timeout=120 | 数据传输超时 |
async_abor_enable=YES | 是否允许客户端使用 sync 等命令 |
ascii_upload_enable=YES 、 ascii_download_enable=YES | 是否允许上传 / 下载 二进制文件 |
chroot_local_user=YES | 限制所有的本地用户在自家目录 |
chroot_list_enable=YES 、 chroot_list_file=/etc/vsftpd/chroot_list | 指定不能离开家目录的用户,将用户名一个一行写在 /etc/vsftpd/chroot_list 文件里,使用此方法时必须 chroot_local_user=NO |
ls_recurse_enable=YES | 是否允许使用 ls -R 等命令 |
listen=YES | 开启 ipv4 监听 |
listen_ipv6=YES | 开启 ipv6 监听 |
pam_service_name=vsftpd | 使用 pam 模块控制, vsftpd 文件在 /etc/pam.d 目录下 |
userlist_enable=YES | 此选项被激活后, vsftpd 将读取 userlist_file 参数所指定的文件中的用户列表。当列表中的用户登录 FTP 服务器时,该用户在提示输入密码之前就被禁止了。即该用户名输入后, vsftpd 查到该用户名在列表中, vsftpd 就直接禁止掉该用户,不会再进行询问密码等后续步聚 |
userlist_deny=YES | 决定禁止还是只允许由 userlist_file 指定文件中的用户登录 FTP 服务器。此选项在 userlist_enable 选项启动后才生效。 YES ,默认值,禁止文件中的用户登录,同时也不向这些用户发出输入密码的提示。 NO ,只允许在文件中的用户登录 FTP 服务器 |
tcp_wrappers=YES | 是否允许 tcp_wrappers 管理 |
local_root=/home/ftp | 所有用户的根目录,,对匿名用户无效 |
anon_max_rate | 匿名用户的最大传输速度,单位是 Byts/s |
local_max_rate | 本地用户的最大传输速度,单位是 Byts/s |
download_enable= YES | 是否允许下载 |