Chinaunix首页 | 论坛 | 博客
  • 博客访问: 26436
  • 博文数量: 11
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 140
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-15 10:11
文章分类

全部博文(11)

文章存档

2009年(11)

我的朋友
最近访客

分类: BSD

2009-04-15 10:38:09

原文参考《鸟哥的私房菜》
 
vsftpd-2.0.5-12.el5.i386.rpm
一般系统安装盘里含有该文件
安装完后vsftpd的文件结构
VSFTPD的文件结构是很简洁的,主要包括:
  /usr/sbin/vsftpd ---- VSFTPD的主程序
  /etc/rc.d/init.d/vsftpd ---- 启动脚本
  /etc/vsftpd/vsftpd.conf ---- 主配置文件
  /etc/pam.d/vsftpd ---- PAM认证文件
  /etc/vsftpd/ftpusers ---- 禁止使用VSFTPD的用户列表文件
  /etc/vsftpd/user_list ---- 禁止或允许使用VSFTPD的用户列表文件
  /var/ftp ---- 匿名用户主目录
  /var/ftp/pub      ---- 匿名用户的下载目录
/etc/logrotate.d/vsftpd.log -------VSFTPD的日志文件
如果希望使用Xinetd启动VSFTPD的运行方式,那么首先要将vsftpd.conf配置文件中的
listen参数值改为NO。其次,编写/etc/xinetd.d/vsftpd文件,内容如下:
service vsftpd
  {
  disable = no
  socket_type = stream
  wait = no
  user = root
  server = /usr/sbin/vsftpd
  port = 21
  log_on_success += PID HOST DURATION
  log_on_failure += HOST
  }
通过修改disable值为no或yes,并重新启动xinetd,从而启动或停止VSFTPD
由于VSFTPD的单独模式已经拥有足够的能力,一般都是以单独模式来运行的,而非Xinetd
方式
单独模式启动
#/etc/init.d/vsftpd start
VSFTPD的配置文件/etc/vsftpd/vsftpd.conf是个文本文件。以“#”字符开始的行是注释行。每
个选项设置为一行,格式为“option=value”,注意“=”号两边不能留空白符。除了这个主配
置文件外,还可以给特定用户设定个人配置文件
以下是配置文件的说明
# vi vsftpd.conf
# 默认配置文件: /etc/vsftpd.conf
#
########################################
# 下面是配置的选项及说明 #
# 中文文档来源: #
########################################
######### 核心设置 ###########
# 允许本地用户登录
local_enable=YES
# 本地用户的写权限
write_enable=YES
# 使用FTP的本地文件权限,默认为077
# 一般设置为022
local_umask=022
# 切换目录时
# 是否显示目录下.message的内容
dirmessage_enable=YES
#验证方式
#pam_service_name=vsftpd
# 启用FTP数据端口的数据连接
connect_from_port_20=YES
 
# 以独立的FTP服务运行
listen=yes
# 修改连接端口
#listen_port=2121
######### 匿名登录设置 ###########
# 允许匿名登录
anonymous_enable=NO
# 如果允许匿名登录
# 是否开启匿名上传权限
#anon_upload_enable=YES
# 如果允许匿名登录
# 是否允许匿名建立文件夹并在文件夹内上传文件
#anon_mkdir_write_enable=YES
# 如果允许匿名登录
# 匿名帐号可以有删除的权限
#anon_other_write_enable=yes
# 如果允许匿名登录
# 匿名的下载权限
# 匿名为Other,可设置目录/文件属性控制
#anon_world_readable_only=no
# 如果允许匿名登录
# 限制匿名用户传输速率,单位bite
#anon_max_rate=30000
######### 用户限制设置 ###########
#### 限制登录
# 用userlist来限制用户访问
#userlist_enable=yes
# 名单中的人不允许访问
 
#userlist_deny=no
# 限制名单文件放置的路径
#userlist_file=/etc/vsftpd_userlist_deny.chroot
#### 限制目录
# 限制所有用户都在家目录
#chroot_local_user=yes
# 调用限制在家目录的用户名单
chroot_list_enable=YES
# 限制在家目录的用户名单所在路径
chroot_list_file=/etc/vsftpd.chroot
######### 日志设置 ###########
# 日志文件路径设置
xferlog_file=/var/log/vsftpd.log
# 激活上传/下载的日志
xferlog_enable=YES
# 使用标准的日志格式
#xferlog_std_format=YES
######### 安全设置 ###########
# 用户空闲超时,单位秒
#idle_session_timeout=600
# 数据连接空闲超时,单位秒
#data_connection_timeout=120
# 将客户端空闲1分钟后断开
#accept_timeout=60
# 中断1分钟后重新连接
#connect_timeout=60
 
# 本地用户传输速率,单位bite
#local_max_rate=50000
# FTP的最大连接数
#max_clients=200
# 每IP的最大连接数
#max_per_ip=5
######### 被动模式设置 ###########
# 是否开户被动模式
pasv_enable=yes
# 被动模式最小端口
pasv_min_port=5000
# 被动模式最大端口
pasv_max_port=6000
######### 其他设置 ###########
# 欢迎信息
ftpd_banner=Welcome to Lesishu's Server!
如果想让其他用户,该用户要在/etc/passwd中存在(比如root也能使用
FTP),可以如下设置:
# vi /etc/vsftpd/vsftpd.conf
與實體用戶有關的設定如下:
local_enable=YES
write_enable=YES
local_umask=022
 
userlist_enable=YES
# vi /etc/pam.d/vsftpd
检查是否有
auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
没有就加上
把ftpusers和user_list两个文件中的root行注释掉
# vi /etc/vsftpd/ftpusers
# vi /etc/vsftpd/user_list
如没注释掉,登陆输入root的密码会出现530 Permission denied
如出现500 OOPS: cannot change directory:/root信息是SELINUX的原因
输入
#setsebool -P ftpd_disable_trans 1
即可解决
# /etc/init.d/vsftpd restart
该ftp的root用户拥有本地root用户的所有权限,可以下载任意文件
如要限定该用户只在家目录下活动,使用chroot设定
# vi /etc/vsftpd/vsftpd.conf
# 增加是否設定針對某些使用者來 chroot 的相關設定呦!
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
#vi /etc/vsftpd.chroot_list
添加root用户
#/etc/init.d/vsftpd restart
这样,root用户活动目录只限定在/root目录中,而进不了/usr等其他目录
 
阅读(1040) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~