Linux搭建FTP服务器

****FTP简介**** vsftpd(Very Security File Transfer Protocol)是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。并且是一个完全免费开放源码的ftp软件。


****安装FTP****

which vsftpd #检测是否已经安装vsftpd
sudo apt-get install vsftpd

****更改启动状态****

sudo service vsftpd start #开启ftp服务
service vsftpd status #查看FTP的状态
sudo service vsftp stop #停止ftp服务
sudo service vsftp restart #重启ftp服务
sudo /etc/init.d/vsftpd restart #倘若上面的不行就使用路径的形式直接执行 
sudo pkill vsftpd #有时候停止失败就干掉吧

****FTP用户管理**** ex:user->share 增加share用户

sudo useradd -d /home/share share

为用户添加密码

sudo passwd share 

删除share用户

sudo userdel share

更改用户的权限

sudo usermod -s /sbin/nologin share  #用户share不能telnet 只能FTP
sudo usermod -s /sbin/bash share  #用户share恢复权限
sudo usermod -d /home/alic/share  share #更改share用户的主目录

****FTP的基本配置信息vsftpd.conf****

ftpd_banner=welcome to ftp service  #设置连接服务器后的欢迎信息
idle_session_timeout=60 #限制远程的客户机连接后,所建立的控制连接,在多长时间没有做任何的操作就会中断(秒)
data_connection_timeout=120 #设置客户机在进行数据传输时,设置空闲的数据中断时间
accept_timeout=60 #设置在多长时间后自动建立连接
connect_timeout=60 #设置数据连接的最大激活时间,多长时间断开,为别人所使用;
max_clients=200 #指明服务器总的客户并发连接数为200
max_per_ip=3 #指明每个客户机的最大连接数为3
local_max_rate=50000(50kbytes/sec)  #本地用户最大传输速率限制
anon_max_rate=30000 #匿名用户的最大传输速率限制
pasv_min_port=21 #端口21
pasv-max-prot= #端口号 定义最大与最小端口,为0表示任意端口;为客户端连接指明端口;
listen_address= #IP地址 设置ftp服务来监听的地址,客户端可以用哪个地址来连接;
listen_port= #端口号 设置FTP工作的端口号,默认的为21
chroot_local_user=YES  #设置所有的本地用户可以chroot
chroot_local_user=NO #设置指定用户能够chroot
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list #只有/etc/vsftpd/chroot_list中的指定的用户才能执行 
local_root=path #无论哪个用户都能登录的用户,定义登录帐号的主目录, 若没有指定,则每一个用户则进入到个人用户主目录;
chroot_local_user=yes/no  #是否锁定本地系统帐号用户主目录(所有);锁定后,用户只能访问用户的主目录/home/user,不能利用cd命令向上转;只能向下;
chroot_list_enable=yes/no #锁定指定文件中用户的主目录(部分),文件:/chroot_list_file=path 中指定;
userlist_enable=YES/NO #是否加载用户列表文件;
userlist_deny=YES 表示上面所加载的用户是否允许拒绝登录;
userlist_file=/etc/vsftpd/user_list  #列表文件

限制IP 访问FTP:

sudo nano /etc/hosts.allow
vsftpd:192.168.5.128:DENY 设置该IP地址不可以访问ftp服务

遇到的问题: 登陆的时候一直出现****530 Login incorrect**** 原因:因为vsftpd对用户进行了限制 解决方法:修改配置文件

sudo nano /etc/pam.d/vsftpd

将auth行加上#注释即可!


登录ftp后会发现,share用户可以访问其他目录,虽然不能对其他文件做修改,但是这样做是不允许的,我们需要将share用户的访问范围控制在其主目录下。解决方法如下: Stept-One: cd /etc/vsftpd 进入ftp配置文件目录 Stept-Two: vi vsftpd.conf编辑此文件,找到#chroot_list_enable=YES,删除前面的那个#号,表示开启此限制功能找到chroot_list_file:chroot_list_file=/etc/vsftpd/chroot_list.conf (默认没有该文件需要新建),还要添加allow_writeable_chroot=YES Stept-Three: 编辑chroot_list.conf文件,加入你要限制的用户名,一行一个用户.


本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏北京马哥教育

【Python】windows下Eclipse中安装集成webpy框架

作者:JueDream 来源:http://blog.csdn.net/qq_35731570/article/details/62221021?locatio...

3239
来自专栏Java进阶架构师

一篇文章带你详解 HTTP 协议(下)

我们可以自行改变 RFC2616 中定义的状态码或者服务器端自行创建状态码,只要遵守状态码的类别定义就可以了。

1142
来自专栏iKcamp

iKcamp|基于Koa2搭建Node.js实战(含视频)☞ HTTP请求

POST/GET请求——常见请求方式处理 ?? iKcamp 制作团队 原创作者:大哼、阿干、三三、小虎、胖子、小哈、DDU、可木、晃晃 文案校对:李益、大力...

38314
来自专栏运维小白

10.16/10.17/10.18 iptables nat表应用

nat表应用 A机器两块网卡ens33(192.168.202.130)、ens37(192.168.100.1),ens33可以上外网,ens37仅仅是内部网...

2037
来自专栏向治洪

gulp+webpack工具整合简介

webpack简介 Webpack 是一个模块打包器。它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源。 ? webpa...

4375
来自专栏前端萌媛的成长之路

浅谈前端安全

1.6K2
来自专栏小筱月

webpack 配置文件相关解说

WebPack可以看做是模块打包机:它做的事情是,分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeS...

1152
来自专栏电光石火

Nexus3.x安装及配置

1.6K6
来自专栏java沉淀

用自己的电脑做网站服务器,实现外网访问

网站服务器其实就是一台大型的电脑主机,我们也可以将自己家的电脑主机去做成一台用于存放网站的网站小型服务器供别人访问。那么如何用自己的电脑去做网站服务器呢?由于...

10.6K8
来自专栏架构师之路

线上操作与线上问题排查实战

技术同学需要经常登录线上的服务器进行操作,58到家架构部/运维部/58速运技术部,联合进行了一次线上操作与线上问题排查实战演练,同学们反馈有收获,特将实战演练的...

3224

扫码关注云+社区

领取腾讯云代金券