vsftpd

程序下载地址:ftp://vsftpd.beasts.org/users/cevans/
安装之前的准备
  确认用户nobody和目录/usr/share/empty是否存在,如果不存在需要新建这个用户和目录。
  [root@localhost root]# useradd nobody
  [root@localhost root]# mkdir /usr/share/empty
  如果要允许匿名访问,还需要创建ftp用户,并将其主目录设置为/var/ftp。在RedHat Linux 9.0中这些都已默认设置好了,只需要创建一个/var/ftp目录即可。
  为了安全,目录/var/ftp不应该属于用户ftp,也不应该有写权限。设置如下:
  [root@localhost root]# chown root.root /var/ftp
  [root@localhost root]# chmod 755 /var/ftp
开始安装
  [root@localhost root]# tar -xzvf vsftpd-2.0.3.tar.gz
  [root@localhost root]# cd vsftpd-2.0.3
  [root@localhost vsftpd-2.0.3]# make
  [root@localhost vsftpd-2.0.3]# make install
安装后续工作
  由于采用源代码方式安装,很多必要的配置文件没有复制到系统中,需要手动复制。
  [root@localhost vsftpd-2.0.3]# cp vsftpd.conf /etc
  [root@localhost vsftpd-2.0.3]# cp RedHat/vsftpd.pam /etc/pam.d/ftp
  多数使用vsftpd的用户在用源代码安装后都会遇到这样的问题:匿名用户可以登录,而本地用户无论怎样设置都无法登录,原因就在于vsftpd采用了PAM验证的方式,需要复制一个验证文件本地用户才能访问。
配置vsftpd启动模式(Standalone)
  [root@localhost root]# vi /etc/xinetd.d/vsftpd
  disable = yes
  或者:
  [root@localhost root]# ntsysv
  [ ] vsftpd
  [root@localhost root]# vi /etc/vsftpd.conf
  listen=YES
  [root@localhost root]# vi /etc/rc.local
  /usr/local/sbin/vsftpd &
配置vsftpd.conf
  1.允许本地用户登录并允许其上传文件
  local_enable=YES
  write_enable=YES
  2.将本地用户锁定在主目录中,不允许切换到上一级目录中
  chroot_local_user=YES
  3.允许指定用户通过FTP登录服务器
  userlist_enable=YES
  userlist_deny=NO
  userlist_file=/etc/vsftpd.user_list
  4.禁止用户通过FTP修改文件或文件夹的权限(默认为YES)
  chmod_enable=NO
  5.设置本地用户上传的文件或文件夹的umask值(默认值为077)
  local_umask=022
  umask的值设为022表示,上传的如果是文件将权限改为644,如果是文件夹将权限改为755。在上传网页时,如果设置为077,就会出现用户没有权限(Permission denied)访问网页的问题,所以建议将umask的值设为022。
  6.限制总连接数
  max_clients=100
  7.限制每个IP最大连接数
  max_per_ip=3
  8.添加一个只能从ftp登录服务器,而不能从本地登录的用户
  以下创建一个用户ftpuser,不允许从本地登录,并创建该用户的密码。
  [root@localhost root]# useradd –g ftp –s /sbin/nologin ftpuser
  [root@localhost root]# passwd ftpuser
  Changing password for user ftpuser.
  New password:
  Retype new password:
  passwd: all authentication tokens updated successfully.
  9.创建vsftpd.user_list文件
  [root@localhost root]# vi /etc/vsftpd.user_list
  添加用户:ftp、ftpuser
逻辑选项

anonymous_enable是否允许匿名ftpyes
anon_upload_enable匿名账号上传权限,必须对目录有写入权no
anon_mkdir_write_enable匿名账号可创建目录,并在此目录中上传文件,必须对目录有写入权no
anon_other_write_enable匿名帐号其他权限,例如删除或是更名no
anon_world_readable_only匿名账号浏览权限,允许下载可阅读的档案yes
ascii_upload_enable是否启用ASCII上传方式no
ascii_download_enable是否启用ASCII下载方式no
async_abor_enable是否允许使用async ABOR命令,一般不用,容易出现问题no
check_shell是否检查用户有一个有效的shell来登陆,在没有pam验证版本时用到yes
chroot_list_enable锁定某些用户在自家目录中。具体用户在chroot_list_file参数指定的文件中no
chroot_local_user将本地用户锁定在自家目录。当此项被激活时,chroot_list_enable和chroot_local_users参数的作用将发生变化,chroot_list_file所指定文件中的用户将不被锁定在自家目录no
chown_uploads改变匿名上传文件的所有者为chown_username设定的用户名称no
connect_from_port_20使用标准的端口20进行数据连接no
deny_email_enable如果匿名用户需要密码,拒绝banned_email_file设定的文件内的电子邮件地址做为密码登陆no
dirmessage_enable是否显示目录说明文件,需要在各目录中手工创建.message文件no
guest_enable将所有非匿名登陆用户名切换成guest_username设定的用户名no
hide_ids用ftp取代文件属主和组信息no
listen独立的vsftpd服务器,选择NO,vsftpd包含在xinetd之中no
local_enble本地帐户能够登陆no
log_ftp_protocol当xferlog_std_format关闭且本选项开启时,记录所有ftp请求和回复no
ls_recurse_enable能否使用ls -R命令,设为YES可能会浪费大量服务器资源no
no_anon_password匿名用户登陆是否询问密码no
one_process_model是否使用单进程模式no
passwd_chroot_enable如果与chroot_local_user一起开启,chroot()容器的位置可以在每个用户的基础上指定。每个用户的容器来源于/etc/passwd中每个用户的自家目录字段no
pasv_promiscuous关闭PASV安全检查no
port_promiscuous关闭PORT安全检查no
port_enable允许使用PORT模式yes
pasv_enable服务器端启用PASV模式yes
setproctitle_enable是否以独立的进程来体现每一个联机no
tcp_wrappers是否与vsftpd与tcp wrapper结合,可以在/etc/hosts.allow与/etc/hosts.deny中定义可联机或是拒绝的来源地址yes
text_userdb_names当使用ls -al之类的指令查询文件的管理权时,预设会出现拥有者的UID,而不是文件拥有者的名称,若是希望出现拥有者的名称,则将此功能开启no
tunable_port_promiscuous关闭PORT安全检查no
userlist_enable设为YES,将从userlist_file选项给出的文件中装载一个含有用户名的清单,然后再读取userlist_deny的值来确定vsftpd.user_list文件中的用户是否允许访问FTP服务器no
userlist_deny设为YES,userlist_file指定文件中的账号将无法登陆,设为NO,只有userlist_file指定文件中的账号才能登入,这个选项只有在userlist_enable=YES时才会被检验yes
use_localtime显示目录清单时是用本地时间还是GMT时间,可以通过mdtm命令来达到同样效果 
use_sendfile测试平台优化 
write_enable本地用户写的权限,即是否允许删除和修改文件no
xferlog_enable开启日志,上传与下载的信息将被完整纪录在xferlog_file定义的文件中no
xferlog_std_format使用标准的日志格式yes

数字选项
accept_timeout接受建立联机逾时设定,单位为秒60
anon_max_rate匿名用户档案传输速度,单位为Bytes/s0(不限制)
anon_umask匿名用户新建档案时的umask数值077
connect_timeout响应PORT方式数据联机逾时设定,单位为秒60
data_connection_timeout建立数据联机逾时设定,单位为秒300
file_open_mode上传文件的权限,与chmod 所使用的数值相同0666
ftp_data_port数据传输端口20
idle_session_timeout用户会话逾时设定,单位为秒300
listen_address监听地址none(所有地址)
listen_port监听端口21
local_max_rate本地用户档案传输速度,单位为Bytes/s0(不限制)
local_umask本地用户上传文件的umask数值077
max_clients如果使用standalone模式,定义最大连接数0(不限制)
max_per_ip如果使用standalone模式,定义每个IP地址可以联机的数目0(不限制)
psav_address在pasv命令回复时跳转到指定的IP地址(the address is taken from the incoming connected socket)none
pasv_max_portPASV模式可使用的最大端口0(任意端口)
pasv_min_portPASV模式可使用的最小端口0(任意端口)

字符选项
anon_root匿名用户主目录none
banned_email_file /etc/vsftpd.banned_emails
banner_file欢迎信息,基于文件none
banner_fai/路径/文件名连接失败时显示文件中的内容 
chown_username匿名上传文件所属用户名root
chroot_list_file被锁定在自家目录中的用户的列表文件/etc/vsftpd.chroot_list
ftpd_banner欢迎信息,基于字符串默认(default vsftpd banner is displayed)none
ftp_username定义匿名登陆的用户名称ftp
guest_username用户名ftp
local_root本地用户主目录,例如,local_root=webdisk,本地用户登陆后其根目录为/home/username/webdisknone
message_file目录信息文件名.message
nopriv_user服务器运行于最底层时使用的用户名nobody
pam_service_name ftp
secure_chroot_dir这个选项必须指定一个空的数据夹且任何登入者都不能有写入的权限,当vsftpd 不需要file system的权限时,就会将使用者限制在此数据夹中/usr/share/empty
userlist_file /etc/vsftpd.user_list
user_config_dir用户配置文件目录。例如,user_config_dir=/etc/vsftpd/userconf,建立账号test1、test2,在/etc/vsftpd/userconf下新建文件test1、test2。test1 登陆,系统将读取/etc/vsftpd/userconf/test1文件内的设定;test2登陆,系统将读取/etc/vsftpd/userconf/test2文件内的设定none
xferlog_file日志文件位置/var/log/vsftpd.log

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值