FTP服务器
主程序:/usr/sbin/vsftpd
用户控制列表文件
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
主配置文件
/etc/vsftpd/vsftpd.conf
常用的全局配置项
listen=YES 是否以独立的方式监听服务
listen_address=192.168.134.2 设置监听的IP地址
listen_port=21 设置监听FTP服务的端口
write_enable=YES 是否启用写入权限
download_enable=YEs 是否允许下载文件
userlist_enable=YES 是否启用user_list列表文件
userlist_deny=YES 是否禁用user_list中的用户
max_clients=0 限制并发客户端连接数
max_per_ip=0 限制同一IP地址的并发连接数
常用的匿名FTP配置项
anonymous_enable=YES 启用匿名访问
anon_umask=022 匿名用户所上传文件的权限掩码
anon_root=/var/ftp 匿名用户的FTP根目录
anon_upload_enable=YES 允许上传文件
anon_mkdir_write_enable=YES 允许创建目录
anon_other_write_enable=YES 允许其他写入权
anon_max_rate=0 限制最大传输速率(字节/秒)
常用的本地用户FTP配置项
local_enable=YES 是否启用本地系统用户
local_umask=022 本地用户所上传文件的权限掩码
local_root=/var/ftp 设置本地用户的FTP根目录
chroot_local_user=YES 是否将用户禁锢在主目录
local_max_rate=0 限制最大传输速率(字节/秒)
匿名用户访问
1、准备匿名FTP访问的目录
使用匿名用户FTP对该目录有写入权限
chown ftp /var/ftp/pub/
ls -ld /var/ftp/pub/
2、开放匿名用户配置,并启动服务
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
local_enable=NO
write_enable=YES
anon_umask=022
anon_upload_enable=YES
anon_mkdir_write_enbale=YES
dirmessage_enable=YES
本地用户访问
service vsftpd start
netstat -anpt | grep "vaftpd"
grep -v "^#" vsftpd.conf.bak > vsftpd.conf
service vsftpd reload
其他常用配置
vim /etc/vsftpd/vsftpd.conf
1、修改vsftpd服务的监听地址、端口
listen=YES
listen_address=192.168.1.2
listen_port=2121
2、允许使用FTP服务器的被动模式
pasv_enable=YES
pasv_min_port=24500
pasv_max_port=24600
3、限制FTP连接的并发数、传输速率
max_clients=20
max_per_ip=2
anon_max_rate=50000
local_max_rate=200000 //单位KB/S
500 OOPS: cannot change directory
500 OOPS: priv_sock_get_cmd
setsebool ftp_home_dir on
setsebool -P ftp_home_dir on
ftp操作命令
lrzsz
rz 上传文件
sz 下载
ls
pwd 查询linux主机所在目录
lpwd 查询本机所在目录
cd 切换目录(FTP)
bin 二进制传输
lcd 切换下载目录(本地)
get 下载单个文件
mput 下载多个
put 上传单个
mput 上传多个
pronpt 关闭交互模式
bye 退出
quit 断开FTP连接
open 连接ftp服务器
user 输入ftp服务器用户名和密码
nmap 端口扫描工具
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
是否允许下载