FTP-VSFTP

来源:百度文库 编辑:神马文学网 时间:2024/04/30 03:15:21
(原代码)安装vsftpd
*************************************************************
1、下载最新的vsftpd-2.0.5.tar.gz
# tar xzvf vsftpd-2.0.5.tar.gz
2、编译安装(参考INSTALL)
环境预处理:
#finger nobody
#finger ftp (anonymous匿名用户)。
#mkdir /usr/share/empty/
#mkdir /var/ftp/
#useradd -d /var/ftp ftp
#chown root.root /var/ftp
#chomd og-w /var/ftp
# make
# make install
3、配置文件处理
# cp vsftpd.conf /etc/
# cp RedHat/vsftpd.pam /etc/pam.d/ftp /用户认证共用模块
#vi /etc/vsftpd.conf
追加一条:listen=YES /让FTP独立运行。
4、运行确认(到此匿名登录,系统用户不能登录)
# /usr/local/sbin/vsftpd &  /手动启动
#netstat  -tnl /查看是否起来
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN
# vi /etc/rc.local 追加一条,让系统启动时启动FTP
/usr/local/sbin/vsftpd &
vsftpd的配置文件项说明
*****************************************************************************
# Example config file /etc/vsftpd.conf
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
#chown_uploads=YES
#chown_username=whoever
xferlog_file=/var/log/vsftpd.log
ftpd_banner=Welcome to Benet !
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd.chroot_list
listen=YES
#killall -1 vsftpd  /重启此ftp服务
配anonymous用户可上传文件
****************************************************************************
#ls -ld /var/ftp
drwxr-xr-x    2 root     root         4096  3月  7 21:18 /var/ftp
建一个允许匿名上传的子文件夹,且给相应写权限
[root@RHL9 ftp]# chgrp ftp incoming/
[root@RHL9 ftp]# chmod g+w incoming/
drwxrwxr-x    2 root     ftp          4096  3月  7 21:58 incoming
配anonymous用户可上传文件,但不可看文件
******************************************************************
[root@RHL9 ftp]# chmod g-r incoming/
drwx-wxr-x    2 root     ftp          4096  3月  7 21:58 incoming
改变“根(chroot)”的设置
***************************************************************************
anonymous用户如下:
ftp> pwd
257 "/incoming"
rora系统用户如下:
ftp> pwd
257 "/home/rora"
设置# Example config file /etc/vsftpd.conf 这样rora用户同anonymous一样仅限在指定用户目录下操作FTP。
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
vi /etc/vsftpd.chroot_list  /在文件中添加用户
rora
benet
FTP用户控制
***********************************************************************************************************
缺省在/etc/ftpusers文件中的用户不可登录FTP,这个文件其实是由/etc/pam.d/ftp控制
[root@RHL9 incoming]# cat /etc/pam.d/ftp
#%PAM-1.0
auth       required     /lib/security/pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
auth       required     /lib/security/pam_unix.so shadow nullok
auth       required     /lib/security/pam_shells.so
account    required     /lib/security/pam_unix.so
session    required     /lib/security/pam_unix.so
修改为如下:则仅有/etc/ftpusers文件中的用户可FTP服务器
auth       required     /lib/security/pam_listfile.so item=user sense=allow file=/etc/ftpusers onerr=succeed
虚拟账号(了解)
**************************************************************************************************
1、先建一个文件users.txt
tom
123
jack
123456
# db_load -T -t hash -f users.txt /etc/vsftpd_login.db
#chmod 600 /etc/vsftpd_login.db
2、修改/etc/pam.d/ftp 增加:
#auth       required     /lib/security/pam_listfile.so item=user sense=allow file=/etc/ftpusers onerr=succeed
#auth       required    /lib/security/pam_unix.so shadow nullok
#auth       required    /lib/security/pam_shells.so
#account    required    /lib/security/pam_unix.so
#Session    required    /lib/security/pam_unix.so
auth    required        pam_userdb.so   db=/etc/vsftpd_login
account    required        pam_userdb.so   db=/etc/vsftpd_login
3、建虚拟账号目录
useradd vuser
4、编辑/etc/vsftpd.conf,禁止匿名用户
详情请看:man vsftpd.conf