RHEL/Centos下VSFTPD服务器搭建
目的
Linux下安装配置vsfptd服务器,并通过客户端验证。
环境
Centos 6
局域网
内容
配置Vsftpd服务器:实现匿名用户、本地用户和虚拟用户登录的配置。匿名用户可以上载文件,上载后的文件的权限为rw-r—r--,可以创建目录,但是不能删除文件,匿名用户的登录目录为/var/vsftpd。本地用户fayero和clinux,其中fayero可以上载文件,上载后的文件权限为rw-r-----,clinux用户不能上载文件,本地用户被限制在家目录中。root用户不能登录。
步骤
配置匿名和本地用户
- 创建/var/vsftpd/upload目录
mkdir -p /var/vsfptd/upload
- 修改/var/vsftpd/upload目录的权限
chmod o+w /var/vsftpd/upload
- 编辑vsftpd.conf,添加以下内容
write_enable=yes
#是否允许登陆用户有写权限。属于全局设置,默认值为YES。
anonymous_enable=yes
#控制是否允许匿名用户登入,YES 为允许匿名登入,NO 为不允许。默认值为YES。
anon_root=/var/vsftpd
#使用匿名登入时,所登入的目录。默认值为/var/vsftp。注意vsftp目录不能是777的权限属性,即匿名用户的家目录不能有777的权限
anon_umask=022
#设置匿名登入者新增或上传档案时的umask 值。默认值为022,则新建档案的对应权限为755。
anon_upload_enable=yes
#如果设为YES,则允许匿名登入者有上传文件(非目录)的权限,只有在write_enable=YES时,此项才有效。当然,匿名用户必须要有对上层目录的写入权。默认值为NO。
anon_mkdir_write_enable=yes
#如果设为YES,则允许匿名登入者有新增目录的权限,只有在write_enable=YES时,此项才有效。当然,匿名用户必须要有对上层目录的写入权。默认值为NO。
anon_other_write_enable=no
#如 果设为YES,则允许匿名登入者更多于上传或者建立目录之外的权限,譬如删除或者重命名。(如果anon_upload_enable=NO,则匿名用户 不能上传文件,但可以删除或者重命名已经存在的文件;如果anon_mkdir_write_enable=NO,则匿名用户不能上传或者新建文件夹,但 可以删除或者重命名已经存在的文件夹。)默认值为NO。
anon_world_readable_only=no
#如果设为YES,则允许匿名登入者下载可阅读的档案(可以下载到本机阅读,不能直接在FTP服务器中打开阅读)。默认值为YES。
user_config_dir=/etc/vsftpd/user_config_dir
#设置用户配置文件所在的目录。当设置了该配置项后,用户登陆服务器后,系统就会到/etc/vsftpd/ user_config_dir目录下,读取与当前用户名相同的文件,并根据文件中的配置命令,对当前用户进行更进一步的配置。
local_enable=yes
#允许本地用户登陆
local_umask=026
#本地用户新增档案时的umask 值。默认值为026
chroot_list_enable=no
#设置是否启用chroot_list_file配置项指定的用户列表文件。默认值为NO。
chroot_local_user=yes
#用于指定用户列表文件中的用户是否允许切换到上级目录。默认值为NO。
chroot_list_file=/etc/vsftpd/chroot_list
#用于指定用户列表文件,该文件用于控制哪些用户可以切换到用户家目录的上级目录。
userlist_enable=yes
#是否启用chroot_list文件。
userlist_deny=yes
#决定chroot_list文件中的用户是否能够访问FTP服务器。若设置为YES,则chroot_list文件中的用户不允许访问FTP,若设置为NO,则只有chroot_list文件中的用户才能访问FTP。
userlist_file=/etc/vsftpd/user_list
#控制用户访问FTP的文件,里面写着用户名称。一个用户名称一行。 - 编辑控制文件/etc/vsftpd/chroot_list,添加用户fayero、clinux。
- 编辑用户文件/etc/vsftpd/user_list,添加用户root。
- 创建/etc/vsftpd/user_config_dir目录:
mkdir /etc/vsftpd/user_config_dir
- 在/etc/vsftpd/user_config_dir目录下添加一个文件名为clinux,文件内容为
write_enable=no
- 创建fayero和clinux用户,并添加密码。
重启服务
service vsftpd restart
即可使用用户名密码访问FTP服务器。配置虚拟用户
- 在/etc/vsftp目录下创建登陆用户文件loguser.txt,内容如下:
tom
#用户名
123
#密码 - 创建有关账号的数据库文件,并配置权限:
db_load -T -t hash -f /etc/vsftpd/loguser.txt /etc/vsftpd/loguser.db
chmod 600 /etc/vsftpd/loguser.db
- 配置PAM文件,修改/etc/pam.d/vsftpd内容为:
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/loguser
account required /lib/security/pam_userdb.so db=/etc/vsftpd/loguser
- 为虚拟用户创建本地系统用户
useradd virtual
- 编辑/etc/vsftpd/vsftpd.conf文件,添加以下内容
guest_enable=yes
guest_username=virtual
virtual_use_local_privs=yes
重启vsftpd服务,即可使用虚拟用户进行登陆。
RHEL/Centos下VSFTPD服务器搭建的更多相关文章
- RHEL/Centos下Sendmail服务器搭建
目的 Linux下配置Sendmail服务器,并通过客户端验证. 环境 Cento6 局域网(可访问互联网) 内容 配置Sendmail服务器,使得客户端能够通过foxmail或者outlook ex ...
- [原创]CentOS下Radius服务器搭建
一. 实现环境: 1.系统:CentOS release 6.6 (Final) 2.需要软件包: 1) freeradius-2.1.12-6.e16.x86_64 freeradius-m ...
- 写给大忙人的centos下ftp服务器搭建(以及启动失败/XFTP客户端一直提示“用户身份验证失败”解决方法)
注:个人对偏向于底层基本上拿来就用的应用,倾向于使用安装包,直接yum或者rpm安装:而对于应用层面控制较多或者需要大范围维护的,倾向于直接使用tar.gz版本. 对于linux下的ftp服务器,实际 ...
- centos 下git服务器搭建
准备 CentOS Linux release 7.0.1406 (Core) ssh 22端口 http 80端口 本文主要是ssh协议支持,http协议配置后还有问题. 摘抄的一段说明 SSH 协 ...
- 阿里云(centos)下svn 服务器搭建
安装说明 系统环境:阿里云centos安装方式:yum install subversion 检查已安装版本 #检查是否安装了低版本的SVN[root@localhost /]# rpm -qa su ...
- Centos vsftpd服务器搭建
Centos vsftpd服务器搭建 时间:2016-07-18 1.最为简单的vsftpd服务器搭建 1.安装vsftpd 1.yum 安装 yum install vsftpd 2.rpm文件安装 ...
- CentOS下Web服务器环境搭建LNMP一键安装包
CentOS下Web服务器环境搭建LNMP一键安装包 时间:2014-09-04 00:50来源:osyunwei.com 作者:osyunwei.com 举报 点击:3797次 最新版本:lnmp- ...
- (转)CentOS下用yum搭建LNMP服务器
原文链接:http://www.xiaohuai.com/2733 CentOS下搭服务器也折腾好几次了, 每次都知道个大概, 具体repo的地址什么的还都要现找, 实在不效率, 干脆整理记录下来. ...
- 基于SSL加密的vsftpd 服务器搭建和配置
基于SSL加密的VSFTPD 服务器搭建和配置 1.安装 ubuntu系统:apt-get install vsftp lftp centos系统:yum install -y vsftpd ftp ...
随机推荐
- sqlyog 可视化查看数据库关系并创建外键
+ 一个架构设计器,把表拖进来即可查看数据库关系 如果要建立外键,需要在两个要被建立的外键之间进行操作(经过验证不需要都为主键),然后从用鼠标把子外键拖到父外键中,就可以关联上了. 参考: https ...
- Python Machine Learning: Scikit-Learn Tutorial
这是一篇翻译的博客,原文链接在这里.这是我看的为数不多的介绍scikit-learn简介而全面的文章,特别适合入门.我这里把这篇文章翻译一下,英语好的同学可以直接看原文. 大部分喜欢用Python来学 ...
- 图片轮播,信手拈来(jquery)
制作图片轮播,可以说是js或者jquery学习者应该掌握的技巧.但惭愧的是本菜之前一直一知半解,这回抽了半天多总结了下分享给大家.虽然标题比较吹牛,但目的是希望大家看了之后制作图片轮播会非常迅速. 首 ...
- c#多线程中Lock()关键字的用法小结
本篇文章主要是对c#多线程中Lock()关键字的用法进行了详细的总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助 本文介绍C# lock关键字,C#提供了一个关键字lock,它可以把一段 ...
- 用Unity的UGUI实现简单摇杆
1.在Canvas下新建一个空对象作为我们的摇杆,命名为Joystick. 摇杆由背景和杆两部分组成,所以在Joystick下新建一个Image作为摇杆的背景,命名为BG. 在BG下新建一个Image ...
- Table 组件构建过程中遇到的问题与解决思路
在 GearCase 开源项目构建 Table 组件的过程中.遇到了各式各样的问题,最后尝试了各种方法去解决这些问题. 遇到的部分问题 checkbox 的全选和半选问题 table 组件的排序请求方 ...
- yocto-sumo源码解析(七): BitBakeServer
1. 创建域套接字,管道以及锁: self.configuration = configuration self.featureset = featureset self.sockname = soc ...
- pytorch 如何使用tensorboard实时查看曲线---- tensorboardX简介
用惯了tensorflow的小伙伴肯定都用过tensorboard工具吧.虽然Facebook也推出了visdom,但是在一次不小心误触clear之后,我放弃了这个工具(页面的一个clear按钮我本来 ...
- [整理]CHttpConnection的使用
使用步骤: 1.构造一个CInternetSession的实例 CInternetSession* pSession =new CinternetSession(); //CInternetSessi ...
- $.each()用法
通过它,你可以遍历对象.数组的属性值并进行处理. 使用说明 each函数根据参数的类型实现的效果不完全一致: 1.遍历对象(有附加参数) $.each(Object, function(p1, p2) ...