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

是否允许下载