linux邮件服务,如何建立虚拟用户访问ftp?

需要建立的虚拟用户为jack、john、tom,所有虚拟用户的最大传输速度为100KB/s,安装的是字符界面、vsftpd(注:是虚拟用户不是匿名用户)... 需要建立的虚拟用户为jack、john、tom,所有虚拟用户的最大传输速度为100KB/s, 安装的是字符界面、vsftpd(注:是虚拟用户不是匿名用户) 展开
 我来答
moralistxp
推荐于2016-09-08 · TA获得超过741个赞
知道大有可为答主
回答量:2216
采纳率:76%
帮助的人:496万
展开全部
vsftpd配置虚拟用户步骤:
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
account required /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中。
Storm代理
2023-06-05 广告
StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,IP... 点击进入详情页
本回答由Storm代理提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式