我是根据网站上的一个教程自己做了一遍的。有不对地方欢迎指正交流!
[root@bys ~]# rpm -qa|grep vsftpd 查询软件是否安装
vsftpd-2.0.5-16.el5_4.1
[root@bys ~]# ps -eaf|grep vsftpd 查询VSFTP相关的进程 我这个是配置好后已经有客户机登陆进入时查看的,呵呵
root 2430 1 0 01:23 ? 00:00:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
nobody 2766 2430 0 01:52 ? 00:00:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
ftp 2768 2766 0 01:52 ? 00:00:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
root 2780 2685 0 01:57 pts/0 00:00:00 grep vsftpd
[root@bys ~]# netstat -an|grep :21 查询21端口监听
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN
tcp 0 0 192.168.0.5:21 192.168.0.202:4002 FIN_WAIT2
[root@bys ~]# netstat -an|grep :21
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN
tcp 0 0 192.168.0.5:21 192.168.0.202:4376 ESTABLISHED
vsftpd安装好以后,开启服务后,默认就是可以匿名登陆的。现在我们需要设置匿名登陆用户可以在route/upload文件夹中上传文件及新建目录
[root@bys pub]# cd /etc/vsftpd
[root@bys vsftpd]# ls 查看/etc/vsftpd 中文件
ftpusers vsftpd.conf 最后一个脚本vsftpd_conf_migrate.sh是vsftpd操作的一些变量和设置
user_list vsftpd_conf_migrate.sh
[root@bys vsftpd]# more ftpusers 用户控制文件,在这个文件里面的用户,默认是不可以使用vsftpd服务的
# Users that are not allowed to login via ftp
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
[root@bys vsftpd]# more user_list 默认功能和第一个一样,但是通过配置,我们可以让只有在第二个文件里的用户才能使用vsftpd服务,这样新加入的用户就不会自动拥有vsftp的使用权,这样可以让vsftpd服务器更加安全
# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in t
his file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /e
tc/vsftpd/ftpusers
# for users that are denied.
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
[root@bys ftp]# ls 默认登陆进入FTP后的根目录是/var/ftp/ 默认只有pub文件夹 可以手动添加目录
network pub route switch
[root@bys ftp]# cd route
[root@bys route]# mkdir upload
[root@bys route]# ls
upload
[root@bys route]# pwd
/var/ftp/route
[root@bys route]# ll
婊璁?8
drwxr-xr-x 2 root root 4096 07-12 00:50 upload
[root@bys route]# cd /etc/vsftpd
[root@bys vsftpd]# more vsftpd.conf 配置文件里面的注释我给删了。看着方便
anonymous_enable=YES
write_enable=YES
local_umask=022
#anon_upload_enable=YES
#anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
#chown_uploads=YES
#chown_username=whoever
#xferlog_file=/var/log/xferlog
xferlog_std_format=YES
#idle_session_timeout=600
#data_connection_timeout=120
#nopriv_user=ftpsecure
#async_abor_enable=YES
#ascii_upload_enable=YES
#ascii_download_enable=YES
#ftpd_banner=Welcome to blah FTP service.
#deny_email_enable=YES
#banned_email_file=/etc/vsftpd/banned_emails
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd/chroot_list
#ls_recurse_enable=YES
listen=YES
#listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
[root@bys vsftpd]# pwd
/etc/vsftpd
[root@bys vsftpd]# cd /var/ftp
[root@bys ftp]# ls
network pub route switch
[root@bys ftp]# cd pub
[root@bys pub]# ls
1 q q.txt vsftpd.conf vsftpd.txt
[root@bys pub]# cd ..
[root@bys ftp]# cd route
[root@bys route]# ls
upload
[root@bys route]# ll 查看目录权限
婊璁?8
drwxr-xr-x 2 root root 4096 07-12 00:50 upload
第一步:设置upload目录写入权限
[root@bys route]# chown ftp upload/ 先修改upload目录权限分配ftp用户所有,目录权限是755
[root@bys route]# ll
婊璁?8
drwxr-xr-x 2 ftp root 4096 07-12 00:50 upload
[root@bys route]# cd /etc/vsftpd
[root@bys vsftpd]# ls
ftpusers vsftpd.conf
user_list vsftpd_conf_migrate.sh
第二步 修改配置文件中相应选项
[root@bys vsftpd]# vi vsftpd.conf
anonymous_enable=YES 是否允许匿名用户登陆
write_enable=YES
local_umask=022
anon_upload_enable=YES 把#号去掉,启用这一条配置,允许上传
anon_mkdir_write_enable=YES 把#号去掉,启用这一条配置,允许写入(新建目录)
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
#chown_uploads=YES
#chown_username=whoever
#xferlog_file=/var/log/xferlog
xferlog_std_format=YES
#idle_session_timeout=600
local_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
#chown_uploads=YES
#chown_username=whoever
#xferlog_file=/var/log/xferlog
xferlog_std_format=YES
#idle_session_timeout=600
#data_connection_timeout=120
#nopriv_user=ftpsecure
#async_abor_enable=YES
#ascii_upload_enable=YES
#ascii_download_enable=YES
#ftpd_banner=Welcome to blah FTP service.
"vsftpd.conf" 30L, 710C written
第三步:修改selinux ,使支持上传
[root@bys vsftpd]# getsebool -a|grep ftp getsebool -a 是显示所有的selinux的布尔值 查询FTP相关的
allow_ftpd_anon_write --> off
allow_ftpd_full_access --> off
allow_ftpd_use_cifs --> off
allow_ftpd_use_nfs --> off
allow_tftp_anon_write --> off
ftp_home_dir --> off
ftpd_connect_db --> off
ftpd_disable_trans --> off
ftpd_is_daemon --> on
httpd_enable_ftp_server --> off
tftpd_disable_trans --> off
[root@bys vsftpd]# setsebool -P allow_ftpd_anon_write on 设置布尔值
[root@bys vsftpd]# getsebool -a|grep ftp
allow_ftpd_anon_write --> on
allow_ftpd_full_access --> off
allow_ftpd_use_cifs --> off
allow_ftpd_use_nfs --> off
allow_tftp_anon_write --> off
ftp_home_dir --> off
ftpd_connect_db --> off
ftpd_disable_trans --> off
ftpd_is_daemon --> on
httpd_enable_ftp_server --> off
tftpd_disable_trans --> off
[root@bys vsftpd]# ls -Zd /var/ftp/route/upload
drwxr-xr-x ftp root root:object_r:public_content_t /var/ftp/route/upload
[root@bys vsftpd]# chcon -t public_content_rw_t /var/ftp/route/upload 修改
[root@bys vsftpd]# ls -Zd /var/ftp/route/upload
drwxr-xr-x ftp root root:object_r:public_content_rw_t /var/ftp/route/upload
[root@bys vsftpd]# reboot 重启服务器
Broadcast message from root (pts/1) (Tue Jul 12 01:20:51 2011):
The system is going down for reboot NOW!
[root@bys vsftpd]# Last login: Tue Jul 12 01:01:15 2011 from 192.168.0.202
[root@bys ~]# iptables -F 清空防火墙规则后客户机(WIN系统)登陆测试
[root@bys ~]#
匿名用户可以上传文件以及新建目录,但是不可以删除文件及更改目录名称。
本文转自 还不算晕 51CTO博客,原文链接:http://blog.51cto.com/haibusuanyun/609100