Linux:FTP服务匿名用户,本地用户,虚拟用户配置
匿名用户
21端口:命令控制,用于接收客户端执行的FTP命令。
20端口:数据传输,用于上传、下载文件数据。

实验:匿名访问,服务器192.168.10.10 客户端192.168.10.20 匿名访问模式的FTP根目录为/var/ftp:
第1步:
服务器端,安装vsftpd服务,yum install vsftpd -y
第2步:
服务器端,编辑配置文件: vim /etc/vsftpd/vsftpd.conf 在配置文件中追加:第一项原配置文件中已存在
anonymous_enable=YES
anon_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
第3步:
客户端,安装ftp服务, yum install ftp -y
第4步:
客户端,使用命令: ftp 192.168.10.10 用户名Name: anonymous 密码空密码。
创建文件夹时,权限被拒绝。是SELinux的限制,和/var/ftp的所有者的限制
ftp> mkdir file
第5步:
服务器端,
chown ftp /var/ftp/pub
getsebool -a | grep ftp
setsebool -P ftpd_full_access=on
第6步:
客户端进行验证。
本地用户
服务器端编辑配置文件: vim /etc/vsftpd/vsftpd.conf 追加:已经有的项目不添加
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
userlist_deny=YES
userlist_enable=YES
第2步:
/etc/vsftpd/ftpusers /etc/vsftpd/user_list 禁止列表
服务器端vsftpd服务为了让FTP服务更加的安全,默认禁止以root身份登入,那么创建个普通用户abc 并添加密码:
useradd abc
passwd abc
第3步:
服务器端设置SELinux: setsebool -P ftpd_full_access=on
第4步:
客户端登录ftp192.168.10.10 并验证 ,创建的文件位于abc账户家目录:/home/abc
虚拟用户
http://blog.sina.com.cn/s/blog_3edc5e2e0102vzv8.html权限设置参考
http://blog.chinaunix.net/uid-324202-id-144759.html 数据库MySQL
虚拟用户不是系统中存在的,因此比本地用户安全,步骤
第1步:建立虚拟FTP用户数据库文件。
第2步:创建FTP根目录及虚拟用户映射的系统用户。
第3步:建立支持虚拟用户的PAM认证文件。
第4步:在vsftpd.conf文件中添加支持配置。
第5步:为虚拟用户设置不同的权限。
第6步:重启vsftpd服务,验证实验效果。
第1步:建立虚拟FTP用户数据库文件。
服务器端,切换目录cd /etc/vsftpd/
[root@linuxprobe vsftpd]# vim vuser.list
//单数行为帐号,双数行为密码。
linuxprobe
pa33w0rd
blackshield
pa22w1rd
使用db_load命令用HASH算法生成FTP用户数据库文件vuser.db: db_load -T -t hash -f vuser.list vuser.db
查看文件:file vuser.db
FTP用户数据库内容很敏感,所以权限给小一些:chmod 600 vuser.db
第2步:创建FTP根目录及虚拟用户映射的系统用户。
创建用户virtual并设置为不允许登陆系统并定义该用户的家目录:useradd -d /var/ftproot -s /sbin/nologin virtual
为保证其他用户可以访问,给予rwxr-xr-x权限:chmod -Rf 755 /var/ftproot/
第3步:建立支持虚拟用户的PAM认证文件。
[root@linuxprobe ~]# vim /etc/pam.d/vsftpd.vu
//参数db用于指向刚刚生成的vuser.db文件,但不要写后缀。
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser
第4步:在vsftpd.conf文件中添加支持配置。
vim /etc/vsftpd/vsftpd.conf
----------------------------------
anonymous_enable=NO
local_enable=YES
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd.vu
allow_writeable_chroot=YES
-------------------------------------
添加后的配置文件,已测试,可直接复制
第5步:为虚拟用户设置不同的权限。
现在不论是linuxprobe还是blackshield帐户,他们的权限都是相同的——默认不能上传、创建、修改文件,
如果希望用户blackshield能够完全的管理FTP内的资料,就需要让FTP程序支持独立的用户权限配置文件了:
指定用户独立的权限配置文件存放的目录:vim /etc/vsftpd/vsftpd.conf (user_config_dir=/etc/vsftpd/vusers_dir)
创建用户独立的权限配置文件存放的目录:mkdir /etc/vsftpd/vusers_dir/
切换进入到该目录中:cd /etc/vsftpd/vusers_dir/
创建空白的linuxprobe的配置文件:touch linuxprobe
指定blackshield用户的具体权限:vim blackshield 下面一段直接复制会报错。
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
第6步:重启vsftpd服务,验证实验效果。
setsebool -P ftpd_full_access=on
在客户端验证以上两个用户的权限。
linuxprobe用户不能创建文件夹, blackshield用户可以创建文件夹
-----------------------------------------------------------------------------------实际应用例子-------------------
/1、主配置文件:/etc/vsftpd/vsftpd.conf 删除默认配置增加以下内容:
客户端只能下载~:
anonymous_enable=YES
----------------------------------------------------------------------------------
2、让匿名用户可以上传/下载资料(权限开放最大)上一个配置文件后面增加:
改文件夹权限:
mkdir /var/ftp/uploads
chown ftp /var/ftp/uploads
还要修改seLinux:
setsebool -P ftpd_anon_write=on
setsebool -P ftpd_full_access=on
--------------------------------------------------------------------------/
3、让匿名用户具有上传权限,不能下载(实际应用案例:经审核才能下载),上传之后就在客户端看不见了
write_enable=YES
Linux:FTP服务匿名用户,本地用户,虚拟用户配置的更多相关文章
- Linux: FTP服务原理及vsfptd的安装、配置
1.FTP 服务的安装# yum install -y vsftpd [root@rusky pub]# ls -l /etc/vsftpd/ total 20 -rw-------. 1 root ...
- [转] Linux学习之CentOS(三十六)--FTP服务原理及vsfptd的安装、配置
本篇随笔将讲解FTP服务的原理以及vsfptd这个最常用的FTP服务程序的安装与配置... 一.FTP服务原理 FTP(File Transfer Protocol)是一个非常古老并且应用十分广泛的文 ...
- linux Centos 6.5 FTP服务原理及vsfptd的安装、配置(转)
本篇随笔将讲解FTP服务的原理以及vsfptd这个最常用的FTP服务程序的安装与配置... 一.FTP服务原理 FTP(File Transfer Protocol)是一个非常古老并且应用十分广泛的文 ...
- 打开Linux ftp服务,如:vsftpd: unrecognized service
打开Linux ftp服务,如:vsftpd: unrecognized service [root@BZXXDBS02 ~]# service vsftpd start vsftpd: unre ...
- Linux上FTP部署:基于mariadb管理虚拟用户
FTP原理 FTP 采用 Internet 标准文件传输协议 FTP 的用户界面, 向用户提供了一组用来管理计算机之间文件传输的应用程序.图1 FTP 的基本模型 FTP 是基于客户---服务器(C/ ...
- vsftpd 虚拟用户限定在虚拟用户目录
1.安装vsftpd yum -y install pam pam-devel db4 db4-tcl vsftpd 2.更名默认配置文件,以便恢复 cp /etc/vsftpd/vsftpd.con ...
- linux ftp服务
1 安装ftp服务 [root@localhost ~]# yum install vsftpd 启动:service vsftpd start 查看状态:systemctl |grep vsftpd ...
- Linux FTP服务安装和远程登录失败
问题:本机VPlayer安装pure-ftpd ftp服务,通过flashfxp从windows连接出现以下错误: [左] 正在连接到 vmare -> IP=192.168.174.133 ...
- FTP服务基础
网络文件共享 本章内容 FTP服务 NFS服务 SAMBA服务 DAS.NAS.SAN(文件) DAS:开放系统的直连式存储(Direct-Attached Storage) 磁盘连接到本机的电脑上, ...
随机推荐
- python——基本数据类型1——简介
列表 列表是可变数据类型.是序列类型; 列表的内容可以是数字,字符串和其它列表: 0第一个元素,-1最后一个元素, 定义连续列表 li = list(range(1,10,2)) 列表取值: 取 b: ...
- IDEA | 创建启动SpringBoot项目命令
clean package spring-boot:run -Dmaven.test.skip=true
- TYVJ P2032 「Poetize9」升降梯上 spfa最短路
%%%暴搜出奇迹%%%@SiriusRen 其实我刚开始题读错了,才导致我写图论... spfa跑最短路,开一个node记录状态(pair当然滋磁):所在楼层和槽的位置 以层数为1,槽在0的位置 为初 ...
- Floyd判圈法
---恢复内容开始--- http://blog.csdn.net/ruoruo_cheng/article/details/53100656 ---恢复内容结束---
- python之set集合、深浅拷贝
一.基本数据类型补充 1,关于int和str在之前的学习中已经介绍了80%以上了,现在再补充一个字符串的基本操作: li = ['李嘉诚','何炅','海峰','刘嘉玲'] s = "_&q ...
- Spark Mllib里决策树二元分类使用.areaUnderROC方法计算出以AUC来评估模型的准确率和决策树多元分类使用.precision方法以precision来评估模型的准确率(图文详解)
不多说,直接上干货! Spark Mllib里决策树二元分类使用.areaUnderROC方法计算出以AUC来评估模型的准确率 具体,见 Hadoop+Spark大数据巨量分析与机器学习整合开发实战的 ...
- docker系列(二):镜像
1 引言 将docker与汽车生产线类比,如果说docker引擎是汽车生产车间,那么容器就是最终的产品——汽车,而本节要介绍的镜像就如同汽车设计图纸,其重要性不言而喻——只有有了设计图(镜像),才能生 ...
- 4.词法结构-JavaScript权威指南笔记
今天是第二章.所谓词法结构(lexical structure),就是写代码中最基本的东西,变量命名,注释,语句分隔等,这是抄书抄的... 1.字符集,必须是Unicode,反正Unicode是ASC ...
- mongodb关联查询 和spring data mongodb
GITHUB:https://github.com/peterowang/Springdata-mongo 使用DBRefs DBRefs中有三个字段 - $ref - 此字段指定引用文档的集合 $i ...
- 【简问】一些个人不会的问题,收到解答经核实OK的会在下方附注答案
1.p标签内放行内块(如,input)适宜么(已知p是块元素,但p内不宜放置div)? 2.如何单独设置文字下划线颜色? 3.行内元素可以定位吗? 4.支持 margin:0 auto; 的元素类型有 ...