需求:(虚拟用户分下载用户/下载、上传但不能删除用户/管理用户)

一、安装 yum -y install vsftpd*

yum -y install pam*

yum -y install db4*

二、系统帐户

1、vsftpd服务的宿主用户

useradd vsftpd -s /sbin/nologin

2、vsftpd虚拟宿主用户

useradd ftpuser -s /sbin/nologin *不允许相关用户登录。

三、vsftpd.conf设置

1、备份 cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.ysbk

2、设置 —- anonymous_enable=NO 设定不允许匿名访问

local_enable=YES 设定本地用户可以访问。注意:主要是为虚拟宿主用户,如果该项目设定为NO那么所有虚拟用户将无法访问。

write_enable=YES 设定可以进行写操作。

local_umask=022 设定上传后文件的权限掩码。

anon_upload_enable=NO 禁止匿名用户上传。

anon_mkdir_write_enable=NO 禁止匿名用户建立目录。

dirmessage_enable=YES 设定开启目录标语功能。

xferlog_enable=YES 设定开启日志记录功能。

connect_from_port_20=YES 设定端口20进行数据连接。

chown_uploads=NO 设定禁止上传文件更改宿主。

xferlog_file=/var/log/vsftpd.log 设定Vsftpd的服务日志保存路径。注意,该文件默认不存在。必须要手动touch出来,并且由于这里更改了Vsftpd的服务宿主用户为手动建立的Vsftpd。必须注意给与该用户对日志的写入权限,否则服务将启动失败。

xferlog_std_format=YES 设定日志使用标准的记录格式。

nopriv_user=vsftpd 设定支撑Vsftpd服务的宿主用户为手动建立的Vsftpd用户。注意,一旦做出更改宿主用户后,必须注意一起与该服务相关的读写文件的读写赋权问题。比如日志文件就必须给与该用户写入权限等。 async_abor_enable=YES 设定支持异步传输功能。

ascii_upload_enable=YES ascii_download_enable=YES 设定支持ASCII模式的上传和下载功能。

ftpd_banner=Welcome to Awei FTP servers 设定Vsftpd的登陆标语。

chroot_local_user=YES 禁止本地用户登出自己的FTP主目录。

pam_service_name=vsftpd 设定PAM服务下Vsftpd的验证配置文件名。因此,PAM验证将参考/etc/pam.d/下的vsftpd文件配置。以下这些是关于Vsftpd虚拟用户支持的重要配置项目。默认Vsftpd.conf中不包含这些设定项目,需要自己手动添加配置。

guest_enable=YES 设定启用虚拟用户功能。

guest_username=ftpuser 指定虚拟用户的宿主用户。

virtual_use_local_privs=YES 设定虚拟用户的权限符合他们的宿主用户。

user_config_dir=/etc/vsftpd/vconf 设定虚拟用户个人Vsftp的配置文件存放路径。也就是说,这个被指定的目录里,将存放每个Vsftp虚拟用户个性的配置文件,一个需要注意的地方就是这些配置文件名必须和虚拟用户名相同。 —-

3.建立Vsftpd的日志文件,并更该属主为Vsftpd的服务宿主用户:

[root@KcentOS5 ~]# touch /var/log/vsftpd.log

[root@KcentOS5 ~]# chown vsftpd.vsftpd /var/log/vsftpd.log

4.建立虚拟用户配置文件存放路径:

[root@KcentOS5 ~]# mkdir /etc/vsftpd/vconf/

四、制作虚拟用户数据库文件 1.先建立虚拟用户名单文件:

[root@KcentOS5 ~]# touch /etc/vsftpd/virtusers 建立了一个虚拟用户名单文件,这个文件就是来记录vsftpd虚拟用户的用户名和口令的数据文件,我这里给它命名为virtusers。为了避免文件的混乱,我把这个名单文件就放置在/etc/vsftpd/下。

2.编辑虚拟用户名单文件:

[root@KcentOS5 ~]# vi /etc/vsftpd/virtusers

—————————- download 1234 upload 5678 admin 9012 —————————- 编辑这个虚拟用户名单文件,在其中加入用户的用户名和口令信息。格式很简单:“一行用户名,一行口令”。

3.生成虚拟用户数据文件:

[root@KcentOS5 ~]# db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db

五、设定PAM验证文件,并指定虚拟用户数据库文件进行读取在/etc/pamd.vsftpd的文件头部加入以下信息(在后面加入无效) —- auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/virtusers account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/virtusers —-

六、虚拟用户的配置

1、download用户,只能下载不能上传和删除 – write_enable=NO –

2、upload能下载、上传但不能删除 – write_enable=YES cmds_allowed=ABOR,CWD,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RETR,RNFR,RNTO,SIZE,STOR,TYPE,USER,REST,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST,FEAT file_open_mode=0444 –

3、admin对ftp进行管理 – 默认的vsftpd.conf文件就可以了,不要做任何修改。 –

4、补充:如果对上传用户要限制其上传目录(主目录),需要加入 – local_root=/home/ftp/upload – 前将/home/ftp/upload给予相应的权限。

CENTOS5下VSFTPD的设置相关推荐

  1. Ubuntu下安装FTP服务及使用(VSFTPD详细设置)(二)

    vsftpd 作为一个主打安全的FTP服务器,有很多的选项设置.下面介绍了vsftpd的配置文件列表,而所有的配置都是基于vsftpd.conf这个配置文件 的.本文将提供完整的vsftpd.conf ...

  2. Centos5搭建vsftpd服务

    更换镜像源 由于centos5已经历史久远,内置的镜像源已经不能用.看: 因此,我手工更换了阿里云的源.(ps:我本来是想用网易的源,但不知为什么,这个源在安装vsftpd时提示http 404错误) ...

  3. vsftpd的主配置文件是什么linux,linux下vsftpd配置文件选项详细说明

    //关闭 三.vsftp配置文件各选项说明 #vi /etc/vsftpd/vsftpd.conf 允许匿名登录 12 anonymous_enable=YES 允许本地帐号登录 15 local_e ...

  4. linux vsftpd用法,Linux_LINUX系统下vsftpd 命令详解,FTP命令是Internet用户使用最频 - phpStudy...

    LINUX系统下vsftpd 命令详解 FTP命令是Internet用户使用最频繁的命令之一,不论是在DOS还是UNIX操 作系统下使用FTP,都会遇到大量的FTP内部命令. 熟悉并灵活应用FTP的内 ...

  5. suse linux修改ftp端口,suse Linux系统下的网络设置(ftp telnet xmanager)

    suse系统下的网络设置:ftp.telnet.Xmanager 注:首选蓝色字体的方法 一.FTP配置 方法一:FTP方式访问LINUX文件服务器. 1.在LINUX文件服务器上,启动Y AST,在 ...

  6. Linux下vsftpd服务的部署

    文章目录 ftp介绍 vsftpd安装 vsftpd基本信息 实验环境说明 匿名用户访问控制 匿名用户登录控制 匿名用户家目录控制 匿名用户上传控制 匿名用户下载控制 匿名用户目录建立控制 匿名用户下 ...

  7. linux设置网口物理地址吗,centos下网口vlan设置

    如果要使vlan之间进行通信,我们通常会使用三层交换机或者路由器子接口模式来做.Linux上关于VLAN与Cisco交换机中继连接,也是可以实现其互相之间的通信的. 环境:RHEL 5.2 最小化安装 ...

  8. Linux下vsftpd的配置文件的参数详解

    vsftpd配置文件采用"#"作为注释符,以"#"开头的行和空白行在解析时将被忽略,其余的行被视为配置命令行,每个配置命令的"="两边不要留 ...

  9. Linux下环境变量设置

    1.在Windows 系统下,很多软件安装都需要配置环境变量,比如 安装 jdk ,如果不配置环境变量,在非软件安装的目录下运行javac 命令,将会报告找不到文件,类似的错误. 2.那么什么是环境变 ...

最新文章

  1. Linux CentOS6.x ip设置(网卡设置)
  2. 为什么多 TCP 连接比单 TCP 连接传输快
  3. 玩儿转物联网IoT - 在Beagle Bone Black上运行node.js 程序
  4. 洛谷——P1194 买礼物
  5. 安装openstack_午餐前如何安装OpenStack Cloud
  6. SQL中常用的的时间跟日期函数
  7. 带你体验云原生场景下 Serverless 应用编程模型
  8. bzoj1854 [Scoi2010]游戏
  9. vue element-UI的树形结构,父级关联,返回数据反选的问题
  10. 【javascript】手写一个webpack plugin
  11. Case:update中把in改写成join性能提高数倍
  12. 千套多行业多样式单页多页中英文简历模板(自荐信,简历封面,求职),共630M
  13. MSN Direct 日志系统浅析
  14. android 链接打开app,Android 实现浏览器打开app
  15. 软件测试到底有多重要?
  16. 统计学的Python实现-019:任意正态分布计算概率
  17. 掌握如何使用Rose绘制活动图的方法
  18. CSS之transform的translate平移属性【2D】(一)
  19. Go代码调优利器-火焰图
  20. 轨物范世:华为手机的影像哲学

热门文章

  1. qt中生成并读取配置文件Ini
  2. CTF工具-seccomp-tools
  3. JavaScript学习笔记:常量,枚举,宏定义
  4. ROCKOUT软件测试工程师,具透丨这才是让 iMessage 变得好玩有用的原因:iMessage App Store 详解...
  5. java打乱一组正序数字,Leetcode︱4.Median of Two Sorted Arrays寻找两个正序数组的中位数.java...
  6. linux下编译安装ntfs,linux下编译安装ntfs
  7. java if (name!=null name!=),java中的NullPointerException异常
  8. java客户端_Java常用的Http client客户端
  9. java 切面_Java笔试面试精心整理得到89道Spring 核心知识【收藏向】
  10. 编程doc转html,Python批量将word转html,并将html内容发布至网站。