博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vsftpd
阅读量:4204 次
发布时间:2019-05-26

本文共 5703 字,大约阅读时间需要 19 分钟。

程序下载地址:

安装之前的准备
  确认用户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 是否允许匿名ftp yes
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/s 0(不限制)
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/s 0(不限制)
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_port PASV模式可使用的最大端口 0(任意端口)
pasv_min_port PASV模式可使用的最小端口 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/webdisk none
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

转载地址:http://jssli.baihongyu.com/

你可能感兴趣的文章
关于mysql升级到5.5报错问题
查看>>
magento - 通过storeid,分类id,天数(几天内)得到产品
查看>>
一个很不错的bash脚本编写教程,至少没接触过BASH的也能看懂!
查看>>
Redis和Memcache对比及选择
查看>>
用谷歌账号登陆magento、
查看>>
php oauth 模块在linux下安装
查看>>
代替nginx的服务器 - The Tengine Web Server
查看>>
nginx 升级成 tengine 的代码
查看>>
magento rest api 调用
查看>>
magento rest api 调用!
查看>>
magento rest api get Token key and secret
查看>>
谷歌获取货币汇率代码
查看>>
安装nginx
查看>>
手动6 - 隐藏Nginx版本号
查看>>
手动7 - nginx 日志切割
查看>>
magento - 使用后台设置的时间用法
查看>>
Linux常用命令
查看>>
清除文件中的.svn文件
查看>>
手动11 -nginx 优化配置
查看>>
php加速器 - zendopcache
查看>>