tar vsftpd-2.0.6.tar.gz
修改 builddefs.h
#define VSF_BUILD_PAM
#define VSF_BUILD_SSL
#define VSF_BUILD_TCPWRAPPERS
make &&make install
复制安装目录下的vsftpd.conf到/etc目录
修改 /etc/vsftpd.conf
#------------------------------
ftpd_banner="welcome to Hanqinet FTP!"
listen=YES
listen_port=21
anonymous_enable=NO
local_enable=YES
write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
guest_enable=YES
#虚拟帐号对应的系统帐号,名称为ftp
guest_username=ftp
#虚拟用户的配置文件目录,具体配置文件为用户名同名的文件
user_config_dir=/etc/vsftpd/vsftpd_user_conf
#不允许用户更改根目录
#chroot_local_user=YES
#--------------注意
#tcp_wrappers=YES
#pasv_enable=YES
#使用pam验证,对应与 /etc/pam.d/目录下的文件名
pam_service_name=vsftpd.pam
max_clients=500
max_per_ip=10
idle_session_timeout=600
data_connection_timeout=120
connect_timeout=60
accept_timeout=60
#设置ftp使用的端口 和防火墙设置有关
pasv_min_port=30000
pasv_max_port=30999
#-----------------------------
copy安装目录下redhat目录中的vsftpd.pam到/etc/pam.d/
删除/etc/pam.d/vsftpd.pam中的内容,并插入两行内容
#-----------------------------
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
accountrequired /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
#-----------------------------
创建虚拟用户对应的系统帐号 ftp
groupadd ftp
useradd -d /var/ftp -g ftp ftp
chown root:root /var/ftp
#chmod og-w /var/ftp
创建虚拟用户配置目录
mkdir /etc/vsftpd/vsftpd_user_conf
在此目录下生成对应用户名的配置文件
例如:
允许上传、下载、删除
local_root=/var/www/html/#对应目录需要guest用户有访问权限
anon_world_readable_only=NO
write_enable=YES #写权限
anon_upload_enable=YES#开启虚拟用户上传权限
anon_other_write_enable=YES #开启虚拟用户删除权限
anon_mkdir_write_enable=YES #开启虚拟用户写入和创建权限
anon_umask=022
下载、上传,但不能删除
local_root=/var/www/html/
anon_world_readable_only=NO
#写权限
write_enable=YES
#开启虚拟用户上传权限
anon_upload_enable=YES
#开启虚拟用户删除权限
anon_other_write_enable=NO
#开启虚拟用户写入和创建权限
anon_mkdir_write_enable=YES
#开启虚拟用户上传后文件权限,默认文件是700权限,022后变为755权限
anon_umask=022
只下载
local_root=/var/www/html/
anon_world_readable_only=NO
创建虚拟用户数据库/etc/vsftpd/vsftpd_login.db
先创建明文数据文件,格式如下
用户名1
密码1
用户名2
密码2
保存为 vsftp_login.txt
使用db_load生成登录数据库文件
db_load -T -t hash -f vsftp_login.txt /etc/vsftpd/vsftpd_login.db
如果系统没有db_load文件,可在安装盘的db4-utils-*.rpm中找到
问题,如何删除虚拟用户,修改虚拟用户?
删除vsftpd_login.db重新生成,对于大量ftp用户可使用mysql。
启动vsftpd
/usr/local/sbin/vsftpd /etc/vsftpd.conf &
启动脚本也可以从rpm包中取得
/etc/rc.d/init.d/vsftpd
make /etc/vsftpd
ln -s /etc/vsftpd.conf /etc/vsftpd/vsftpd.conf
ln -s /usr/local/sbin/vsftpd /usr/sbin/vsftpd
在centos5.4上直接编译vsftp出现错误,无法解决,后来干脆用yum直接安装了一个,然后采用系统虚拟用户的方式,也很方便。
方法如下:
yum install vsftpd
安装到 /etc/vsftpd/下,系统自动生成ftp用户,作为匿名登录用户。
我的ftp需求,关闭匿名登录,新增abc用,只允许登录后下载,所以先创建abc用户
adduser -d /home/abc -g ftp -s /sbin/nologin abc
设置abc的ftp登录密码
passwd abc
配置vsftpd.conf,主要内容如下
anonymous_enable=NO
local_enable=YES
write_enable=NO
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO.
dirmessage_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES
listen_address=192.168.1.1
listen_port=21
pasv_min_port=30000
pasv_max_port=30999
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
说明: /etc/vsftpd/chroot_list 需手工创建,然后将abc加入其中,确保abc登录后目录被锁定在自己的home中。
windows平台的免费或破解mail服务器有的是,何必费这事?例如foxmailServer等,免费的一搜有很多森弯,破解版的更多。册卖
Qmail有人做好了Qmail,apache,php,mysql的合集安装包,安州春逗装后一切都好使,比sendmail也强多了啊。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)