linux下ftp的配置
最近公司要用到ftp,小菜鸡百度了一下教程,自己也总结一下
现在随便百度都是vsftpd的服务,所以这里我也是用vsftp
1.检测或安装vsftp
首先检查一下你的主机是否含有vsftp服务,关于rpm,其实是关于的软件管理,可能ubuntu没有,所以我们只需下载就是了(apt-get install rpm)
rpm -qa| grep vsftpd
如果有显示vsftp版本,证明是已经存在vsftp了,可以跳到第二步。
如果没有我们就进行安装vsftp
yum install vsftpd
如果是ubuntu,安装vsftp则执行下面的代码
apt-get install vsftpd
2.添加对应的用户
添加用的命令如下:
useradd 选项或参数 用户名
在这里我们要创建一个用户test321,他的访问的根目录在alidata/www/default,而且不给ssh访问,所以这么写
useradd -d alidata/www/default -s /bin/false test321
然后更改用户的对应的密码
passwd test321 密码
顺带一提。此时用户的信息显示在/etc/passwd里面,如果想去修改用户的初次访问目录,可以去修改该文件
3.修改用户只能去访问该目录
首先要去配置/etc/vsftpd.conf里面的配置项
在这里我们可以找到这段注释
# You may restrict local users to their home directories. See the FAQ for
# the possible risks in this before using chroot_local_user or
# chroot_list_enable below.
# chroot_local_user=YES
上面三行大致的意思是你也许想去限制他只能访问自己的根目录,那就取消注释最下面的那句话就好了,然后我取消注销chroot_local_user=YES这句话,就能使通过ftp访问的用户只能访问自己的根目录
重启服务才能生效:
service vsftpd restart
但是我们可能还想一些ftp用户具有特权,不单单是访问他的根目录,还可以去访问其他目录,我们可以这样做
在conf里面我们可以看到这段注释
# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().
#chroot_local_user=YES
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd.chroot_list
我们只要把chroot_local_user=YES这段代码取消注释,那表示打开特权,而下面的chroot_list_file这个参数就是存放含有“特权用户”的文件路径,在这个文件里面,我只要写上用户的名字就可以把他改为“特权用户”,注意:一行一个用户。
4.如何修改连接数和限制速度
以下的配置项可以直接在vsftpd.conf最下面添加
限制一个ip的连接数:max_per_ip=连接数
限制ftp的连接数: max_clients=100(注意这个是会话数,不是连接人数)
限制本地用户的速度:local_max_rate=速度
5.可能遇到的错误或问题
1.当限制用户不能跳转其他目录,即注释掉chroot_local_user=YES这句话之后就会出现错误500 OOPS: vsftpd: refusing to run with writable root inside chroot()
只要加上这句话就好了:allow_writeable_chroot=YES,这是因为,从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。摘自百度
2.虚拟用户可以登录上去,但是root账户登录不上去,查看一下你的/etc目录,看看下面是否有ftpusers这个文件,这很可能就是引起原因的文件。
ftpusers可以说是ftp登录的黑名单,凡是在这个文件上面有对应名字的,都不能登录,一般而言含有root
3.是否开启了pam模块,有时候vsftp下载下来的时候会在/etc/pam.d目录下含有一个文件vsftpd,具体pam怎么配置我不太清楚...如果这个vsftpd文件存在,新建的用户都不能登录上去,如果不想折腾的话,可以把他删了,但是具体后果我不清楚,因为我还没研究pam...
linux下ftp的配置的更多相关文章
- Linux下ftp安装配置及三种用户的验证
一.原理简介 二.安装配置 三.三种用户的验证 一.简介 FTP即文件传输协议(File Transfer Protocol),完成各主机的文件共享功能,基于客户端-服务器的协议,工作在应用层,tcp ...
- linux下通过acl配置灵活目录文件权限(可用于ftp,web服务器的用户权限控制)
linux下通过acl配置灵活目录文件权限(可用于ftp,web服务器的用户权限控制) 发表于2012//07由feng linux 本身的ugo rwx的权限,对于精确的权限控制很是力不从心的,ac ...
- Linux 下 FTP虚拟用户的使用配置
Linux下FTP虚拟用户的使用配置 Linux的FTP服务支持3种用户: 1.匿名帐户 2.本地帐户 3.虚拟用户 为什么要使用虚拟用户: 匿名帐户可以很好的保证FTP服务器的安全性,但是,对匿名用 ...
- Linux下ftp和ssh详解
学习了几天Linux下ftp和ssh的搭建和使用,故记录一下.学习ftp和ssh的主要目的是为了连接远程主机,并且进行文件传输.废话不多说,直接开讲! ftp服务器 1. 环境搭建 本人的系统是Arc ...
- Linux 下 ftp的使用
最近需要在Linux上搭建FTP服务,通过网上的一些大神学习了一些新知识,在这个做一个总结: Linux 下FTP 为 vsftp (linux red hat)1.FTP配置路径:/etc/vsft ...
- VMware Linux 下 Nginx 安装配置 - Tomcat 配置 (二)
准备工作 相关浏览: VMware Linux 下 Nginx 安装配置 (一) 1. 选在 /usr/local/ 下创建 softs 文件夹,通过 ftp 命令 把 apache-tomcat-7 ...
- Linux(4)- centos7安装python3、Linux下安装、配置virtualenv、确保开发环境的一致性、虚拟环境之virtualenvwrapper、vim
一.centos7安装python3 1.下载python3的源码包 下载地址:https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz cd ...
- Linux下安装mantis配置指南【转】
转自:http://blog.csdn.net/xabc3000/article/details/6858229 目录(?)[-] Linux下安装mantis配置指南 配置Linux下的Apache ...
- Linux下PortSentry的配置
Linux下PortSentry的配置 前年写过<IDS与IPS功能分析>一文,受到广大读者关注,现将近期有关IDS配置的文章和大家分享. Internet上的服务器一般 ...
随机推荐
- Android—锁定横屏遇到的问题
Android开发应客户需求需要锁定横屏,期间遇到的问题与大家共享一下: 首先在项目清单文件中设置: android:screenOrientation="landscape"// ...
- Git 简易手册
前言 这里就不介绍 git 了,表一看到命令行就怕怕,常用的命令也就这些,基本满足 99% 以上的项目需求,非常实用. 声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnbl ...
- DBCC CheckDB遇到a database snapshot could not be created
在备份一个客户的数据库时(数据库版本为SQL 2005 Express版本),做DBCC CHECKDB时遇到了下面错误信息: dbcc checkdb('DB_NAME'); 消息 5030,级别 ...
- SQLite学习笔记(八)&&sqlite实现架构
该系列的前面一些文章我重点讲了sqlite的核心功能,比如封锁机制,共享缓存,以及事务管理等.但对于sqlite的整体没有作一个全面的介绍,本文将从实现的层面,整体介绍sqlite的框架.各个核心模块 ...
- php CGI、Fastcgi、PHP-FPM的详细介绍与之间的关系
以下PHP CGI.Fastcgi.PHP-FPM的一些信息归纳和汇总----->详细介绍与之间的关系 一:CGI是干嘛的?CGI是为了保证web server传递过来的数据是标准格式的 web ...
- java 单例(懒汉式)
该示例考虑了懒汉式单例的线程安全问题
- 聊下git pull --rebase
有一种场景是经常发生的. 大家都基于develop拉出分支进行并行开发,这里的分支可能是多到数十个.然后彼此在进行自己的逻辑编写,时间可能需要几天或者几周.在这期间你可能需要时不时的需要pull下远程 ...
- 关于java中的MANIFEST.MF 文件内容
打开Java的JAR文件我们经常可以看到文件中包含着一个META-INF目录, 这个目录下会有一些文件,其中必有一个MANIFEST.MF,这个文件描述了该Jar文件的很多信息.可以简化Java应用程 ...
- getSupportFragmentManager要用在FragmentActivity及其子类中
getSupportFragmentManager要用在FragmentActivity及其子类中!! 关于安卓抽屉导航!! * 自定义侧边栏
- mysql 一些命令
show processlist; 查看服务进程列表show engines; 所有提供的引擎show variables like '%storage_engine%'; 当前默认的存储引擎show ...