Linux vsftpd的配置
1. root用户的ftp配置(fedora 13为例子)
1) vi打开/etc/vsftpd/ftpusers,用#号屏蔽掉root和nobody,,如下的效果。
#root
bin
daemon
adm
lp
sync
shutdown
halt
news
uucp
operator
games
#nobody
2) vi打开/etc/vsftpd/ user_list,用#号屏蔽掉root和nobody
#root
bin
daemon
adm
lp
sync
shutdown
halt
news
uucp
operator
games
#nobody
3) 用命令启动ftp,service vsftpd start
4) 就可以用root用户登录ftp了。
2. 普通用户登录ftp
1)简介:
Vsftpd –very secure FTP daemon 非常安全的FTP守护进程。
注意:以下使用root用户操作
2)安装vsftpd服务
a.查看是否已安装vsftpd服务
rpm –q vsftpd
如果该服务已安装则会显示已安装vsftpd的版本号。
b.安装vsftpd
若未安装,则可先从网上下载.rpm安装包,然后使用以下命令安装它
rpm –ivh /path/vsftpd
(例:rpm –ivh /usr/local/vsftpd-2.0.5-12.e15.i386.rpm)
3)以下通过一个实例介绍vsftpd普通用户的配置,实验系统为centOS 5 .
以下是对配置文件中一些参数的说明:
centOS 下vsftp配置文件有三:
/etc/vsftpd/vsftpd.conf 主配置文件
/etc/ftpusers 该文件中的用户不允许访问ftp
/etc/vsftpd/user_list 视主配置文件中的user_deny而定,若为YES(默认)则拒绝访问,设为NO则允许访问。
配置要求:阻止root用户登录(系统默认,不用设置),阻止匿名用户登录,指定用户在指定目录上传下载。
步骤:
(1).关掉防火墙和selinux
setup
进入文本模式设置工具,在其中找到防火墙配置,将其中的安全级别设为禁用,selinux也设为禁用。
(2).建立用户和指定用户并设密码
该示例为增加一个名为vsftpuser的用户,其目录为/home/vsftpuser.
(3).修改配置主文件
/etc/vsftpd/vsftpd.conf
a.将anonymous_enable改为NO,阻止匿名上传。
b.去掉chroot_list_enable和chroot_list_file的注释阻止用户向上级切换目录。
c. ascii_upload_enable=YES 启用允许ASCII上传传输方式
ascii_download_enable=YES 启用允许 ASCII下载传输方式
(4).在/etc/vsftpd下建立chroot_list,加入vsftpuser使其只允许访问指定的目录。
(5).重启vsftpd
Service vsftpd restart
4)若要设置服务随系统启动
只需打开终端 ——>输入ntsysv命令——>在 弹出的窗口选中vsftpd服务即可。
5)附录:
Vsftpd.conf 的默认配置:
anonymous_enable=YES 允许匿名登录local_enable=YES 允许本地用户登录
write_enable=YES 开放本地用户写权限
local_umask=022 设置本地用户生成文件的掩码为022
#anon_upload_enable=YES 此项设置允许匿名用户上传文件
#anon_mkdir_write_enable=YES 开启匿名用户的写和创建目录的权限
dirmessage_enable=YES 当切换到目录时,显示该目录下的.message隐藏文件的内容
xferlog_enable=YES 激活上传和下载日志
connect_from_port_20=YES 启用FTP数据端口的连接请求
#chown_uploads=YES 是否具有上传权限. 用户由chown_username参数指定。
#chown_username=whoever 指定拥有上传文件权限的用户。此参数与chown_uploads联用。
#xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES 使用标准的ftpd xferlog日志格式
#idle_session_timeout=600 此设置将在用户会话空闲10分钟后被中断
#data_connection_timeout=120 将在数据连接空闲2分钟后被中断
#ascii_upload_enable=YES 启用上传的ASCII传输方式
#ascii_download_enable=YES 启用下载的ASCII传输方式
#ftpd_banner=Welcome to blah FTP service 设置用户连接服务器后显示消息
#deny_email_enable=NO 此参数默认值为NO。当值为YES时,拒绝使用banned_email_file参数指定文件中所列出的e-mail地址用户登录。
#banned_email_file=/etc/vsftpd.banned_emails 指定包含拒绝的e-mail地址的文件.
#chroot_list_enable=YES 设置本地用户登录后不能切换到自家目录以外的别的目录
#chroot_list_file=/etc/vsftpd.chroot_list
#ls_recurse_enable=YES
pam_service_name=vsftpd 设置PAM认证服务的配置文件名称,该文件存放在/etc/pam.d/
userlist_enable=YES 此项配置/etc/vsftpd.user_list中指定的用户也不能访问服务器,若添加userlist_deny=No,则仅仅/etc /vsftpd.user_list文件中的用户可以访问,其他用户都不可以访问服务器。如果 userlist_enable=NO,userlist_deny=YES,则指定使文件/etc/vsftpd.user_list中指定的用户不可以访问服务器,其他本地用户可以访问服务器。
listen=YES 指明VSFTPD以独立运行方式启动
tcp_wrappers=YES 在VSFTPD中使用TCP_Wrappers远程访问控制机制,默认值为YES