ftp服务器安装设置

文章篇幅较长内容主要有可以对以下的内容进行搜索

*******************************************************************************

用户登录控制

禁止用户切换到其他目录。

设置欢迎信息

限制文件的传输速度

实现实体用户(本地用户、虚拟用户)访问

用户分开管理不同用户有不同的权限

*******************************************************************************

第一步:

安装vsftpd

第二步:

配置文件

第三步:

访问服务器进行测试

============================

后面的内容是对 ftp 服务器进行进一步的安全控制(用户登录控制)

============================

用户无法登陆

vim /etc/vsftpd/ftpusers

该文件中保存的用户无法进行登录操作。

登录成功之后,默认进入到用户的家目录下。

如果要访问 pub 文件夹,在路径后面加上 pub 就能访问到该文件

userlist_enable=YES

userlist_deny=YES

的时候, /etc/vsftpd/usr_list 文件中保存的用户无法登录ftp

vim /etc/vsftpd/vsfptd.conf

vim /etc/vsftpd/ftpusers

vim /etc/vsftd/user_list

使用root用户登录的时候无法进行登录

说明:

userlist_enable=YES

userlist_deny=YES

在ftpuser 不存在的用户root(可以进行登录) 和 user_list 存在的用户root(不可以登录),最终root不可以登录

将ftpusers 中root用户取消注释,则root 用户无法登录到ftp。

vim /etc/vsftpd/ftpusers

userlist_enable=YES

userlist_deny=NO

的时候, /etc/vsftpd/usr_list 文件中保存的用户可以登录ftp

root 用户还是无法进行登录

说明:

userlist_enable=YES

userlist_deny=NO

的时候, user_list(可以登录) 和 ftpuser(不可以登录) 文件中同时存在的用户是也是无法进行登录操作的。

结论:vsftpd 执行的文件顺序是先执行 user_list 再执行 ftpuser

---------------------------------------------------------------------------------------

下面的在 ftpuser 中注释掉了 root,在 vsftpd.conf 文件中注释掉,userlist_deny  userlist_enable

---------------------------------------------------------------------------------------

说明,用户通过 doc 界面然后登录,就可以获得服务器上任何(该用户所拥有权限的)文件。显然这是不安全的。

--------------------------------------------------------

禁止用户切换到其他目录。

---------------------------------------------------------

vim /etc/vsftpd/vsftpd.conf

chroot_local_user=YES 本地用户都不可以切换到主目录以外的目录

/etc/vsftpd/chroot_list 该文件中用户 “能” 切换到主目录以外的目录,默认是没有这个文件的,

vim /etc/vsftpd/chroot_list 手动创建一个文件,一个用户占一行

root 用户不能进行目录的切换

vim /etc/vsftpd/chroot_list

重启服务

------------------------------------------

设置欢迎信息

------------------------------------------

vim /etc/vsftpd/vsftpd.conf

重启服务

或者,指定一个文件,将欢迎信息写到文件里面

vim /etc/vsftpd/vsftpd_banner_file

重启服务

----------------------------------------------------------------

限制文件的传输速度

---------------------------------------------------------------

vim /etc/vsftpd/vsftpd.conf

#匿名用户最大传输速度,单位 B/s(字节每秒),默认是0,表示不限速

anon_max_rate=0

#本机使用者最大的传输速度

local_max_rate=0

一般来讲是不进行限制的,ftp 服务器目前一般都是在内网进行使用,都是自己人用,没有必要限速。

---------------------------------------------------------------

实现实体用户(本地用户、虚拟用户)访问

--------------------------------------------------------------

前面使用的root 用户都是 本地用户进行登录的,本地用户是可以使用账号密码登录到linux 操作系统上面的。

方式1.文本方式进行设置

需要的环境:

db4

db4-devle

db4-java

db4-tcl

db4-utils

yum install db4

yum install db4-java

yum install db4-tcl

生成数据库

db_load -T -t hash -f loguser.txt vsftpd_login.db

设置数据库文件的权限

vim /etc/pam.d/vsftpd

#%PAM-1.0

#session optional pam_keyinit.so force revoke

#auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed

#auth required pam_shells.so

#auth include password-auth

#account include password-auth

#session required pam_loginuid.so

#session include password-auth

#添加的内容,我的系统是 64位的,在lib 里面没有 pam_userdb.so 这个文件

auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

创建用户

echo "etony's vsftpd server" > /home/vsftpd/msg

vim /etc/vsftpd/vsftpd.conf

#虚拟用户登录系统设置

guest_enable=YES

guest_username=virtual

重启服务

登录成功。

方式2:数据库方式进行设置

安装 mysql 数据库

参考centos6:https://blog.csdn.net/yang_zzu/article/details/104352726

参考centos7:https://blog.csdn.net/yang_zzu/article/details/104469902(使用docker容器进行安装)

由于我的centos6 在之前安装 centreon 的时候,导致数据库无法在这台服务器上运行。

所以现在使用另外的一台linux 服务器上面的mysql 数据库,配置原理是一样的。

新建一个vsftpd 数据库

连接到vsftpd数据库执行语句

-- 创建表

create table user(

name varchar(10),

passwd VARCHAR(20)

);

-- 添加数据

insert into user values('ftp','123456');

-- 查询数据

SELECT * from user;

-- 给虚拟用户所映射的本地用户相应的数据库操作权限

grant select,insert on user to 'virtual'@'%' IDENTIFIED by '123456'

grant select,insert on user to 'virtual'@'%' IDENTIFIED by '123456'

表达的是 将 user 表的 select,insert 赋给 virtual 用户,任何地址都可以进行连接,连接密码 123456

新建pam 文件

vim /etc/pam.d/vsftpd.u

#我的是64 位操作系统,所以使用的 lib64

auth required /lib64/security/pam_mysql.so user=virtual passwd=123456 host=192.168.44.161 db=vsftpd table=user

account required /lib64/security/pam_mysql.so user=virtual passwd=123456 host=192.168.44.161 db=vsftpd table=user usercolumn=name passwdcolumn=passwd crypt=2

crypt: 密码验证机制,0:明文,1:DES加密,2:MYSQL的password()函数加密,3:MD5算法,4:sha加密

yum install pam_mysql

查找pam_mysql.so 文件

find / -name pam_mysql.so

如果 pam_mysql.so 文件,在 /lib64/security/ 文件夹内不存在,则需要将找到的文件,复制到这个文件夹下一份

ftp 用户正常的登录系统

ftp 可以上传文件,下载部分文件,该用户上传的文件,权限是600,可以下载权限是666 的文件

------------------------------------------

用户分开管理不同用户有不同的权限

------------------------------------------

vim /etc/vsftpd/vsftpd.conf

创建 /etc/vsftpd/vsftpd_user_conf 文件夹

添加 zhuji 用户的配置文件(如果对login 用户进行配置,只要添加 login 文件然后添加配置即可)

对 zhuji 虚拟用户进行设置

#允许写操作

write_enable=YES

#允许上传

anon_upload_enable=YES

#允许创建文件夹

anon_mkdir_write_enable=YES

#默认情况下,虚拟用户只能读取任何用户都可读取的文件和目录(公共资源),取消用户的只读限制

anon_world_readable_only=NO

#允许删除和重命名文件夹

anon_other_write_enable=YES

#本地用户创建的文件夹777-027=750,文件666-027=640,权限r:4 w:2 x:1

local_umask=027

本地用户 local_umask

虚拟用户 anon_umask

创建虚拟用户家目录的上传文件的文件夹 ftp

创建 protect 文件夹

chown virtual:  protect/

chmod 770 protect/

本地用户无法上传文件到 该ftp文件夹(本地用户无法登录了)

将ftp 文件夹的所有者,去掉 写权限

到目前为止,

zhuji 用户登录到ftp 服务器之后的权限有:

上传,下载,重命名,创建文件夹,在ftp文件夹不能上传文件,上传到 protect 文件夹中的文件该用户可以看到

login 用户的权限:

上传,下载(部分文件,通用的文件可以下载,自己上传的和别人上传的无法下载,例如:可以下载在服务器上创建的文件),在ftp文件夹不能上传文件,上传到 protect 文件夹中的文件该用户  “不” 可以看到

在linux服务器搭建函数,linux ftp服务器搭建相关推荐

  1. linux搭建ftp修改域名访问,linux下构建建设完美FTP服务器

    关键字:ubuntu linux Apache2 PHP5 Pure-FTPD pureftpd MySQL5 linux下构建建设完美FTP服务器,可管理,WEB管理,管理界面. ========= ...

  2. 怎么在linux下使用ftp服务器,怎么在Linux下建立安全的FTP服务器?

    怎么在Linux下建立安全的FTP服务器? 2018-08-31 15:53 分享人:老牛 学习Linux系统时,你可能会遇到网络服务的问题,这里将介绍linux FTP服务器安全及DHCP服务的实现 ...

  3. 查看系统是否安装了ftp服务器上,linux查看是否安装了ftp服务器上

    linux查看是否安装了ftp服务器上 内容精选 换一换 安装Tomcat时启动失败.请按如下步骤查找原因并处理: 对于已安装Tools的Linux弹性云服务器,升级内核前,需先卸载Tools,否则存 ...

  4. Linux下使用vsftpd架设FTP服务器过程

    FTP可以通过很多软件实现,我们linux下面最常用的FTP服务器架设使用vsftpd软件 vsftpd 是一个基于GPL发布的FTP服务器软件.其中的vs是" Very Secure&qu ...

  5. suse ftp文件服务器搭建,SUSE下FTP服务器搭建

    FTP(File Transfer Protocol),是TCP/IP网络上两台计算机传送文件的协议,是在TCP/IP网络和Internet上最早使用的协议之一,属于网络协议组的应 用层.FTP客户机 ...

  6. Ubuntu Server搭建FTP服务器(2) --本地用户FTP服务器架设

    Ubuntu Server搭建FTP服务器(2) --本地用户FTP服务器架设 参考:ubuntu中文wiki百科,网址:wiki.ubuntu.org.cn 环境:Ubuntu 9.04 Serve ...

  7. 利用Filezilla在局域网内搭建自己的FTP服务器

    利用Filezilla在局域网内搭建自己的FTP服务器 一.软件 Filezilla server Filezilla client 二. Filezilla client安装 三. Filezill ...

  8. send函数给FTP服务器发消息,send函数给FTP服务器发消息

    send函数给FTP服务器发消息 内容精选 换一换 Kafka系列2:深入理解Kafka消费者上篇聊了Kafka概况,包含了Kafka的基本概念.设计原理,以及设计核心.本篇单独聊聊Kafka的生产者 ...

  9. win10中搭建并配置ftp服务器的方法(实现多用户登录整合版

    源地址 win10中搭建并配置ftp服务器的方法(实现多用户登录整合版) 一.ftp的搭建 二.ftp的配置 三.用户配置(实现多用户登录) 一.ftp的搭建 1.首先我们需要启动IIS服务 第一步: ...

  10. PC上搭建简单的FTP服务器(仅用于局域网)

    PC上搭建简单的FTP服务器(仅用于局域网) 转载请附原文链接:http://blog.fandong.me/2017/07/16/PC-FTP/ 第一步:打开控制面板选择卸载程序(查看方式为类别) ...

最新文章

  1. 关于零拷贝的一点认识
  2. DataGrid分页使用小结
  3. active英语怎么读音_必须收藏!英语48个音标发音(附详细图解+视频教程)
  4. 信息论 哈夫曼编码 与 菲诺编码的实现(对一幅BMP格式的灰度图像(个人 证件照片)进行二元霍夫曼编码和译码。并进行编码效率的计算,对一幅BMP格式的灰度图像进行二 元Fano编码、译码 )
  5. c++ string类_C++|细说STL string类概貌及底层细节
  6. 解决 ORA-28001: the password has expired 问题
  7. mysql最简单的查看_查看Mysql版本号 (最简单的是status )
  8. CAD入门系列[完]
  9. 工业相机选型和镜头焦距计算
  10. 利用python实现PSM
  11. 达内CEO受邀出席搜狐“2011职业教育高峰论坛”
  12. 【054】七麦数据-应用商店中详细的应用大数据
  13. 在腾讯云上申请一个免费的centos系统,将编好的python程序和c程序上载到centos系统,
  14. phpstorm License Server激活 官网下载版本直接激活
  15. composer php 扩展,正确的Composer扩展包安装方法
  16. 《Python股票量化交易从入门到实践》随书赠送“回测框架”的使用帮助
  17. ROS项目开发流程、框架
  18. window镜像制作
  19. Hotspot 重量级锁ObjectMonitor(一) 源码解析
  20. docker 应用系列(一)--- 一步步搭建虚拟机 docker 环境 附有 vue-cli + nginx 应用

热门文章

  1. 【BZOJ3156】防御准备,斜率优化DP
  2. 原创力文档c语言程序设计第五章,C语言程序设计教程第五章练习题题目(7页)-原创力文档...
  3. 自定义数据格式的矢量地图实现
  4. 不安全的反序列化_CVE202027131 思科安全管理器反序列化漏洞 POC
  5. 判定两个点是否在一条直线的同一侧_计算几何01-判定两条线段是否相交
  6. OpenGL显示列表
  7. vue项目原理分析-2:路由
  8. 会“聆听”用户,用户反馈设计
  9. 开源软件公司易犯的 5 大错误,又该如何避免?
  10. 批量修改文件夹或文件权限