一 安装FTP

1 检测是否已经安装FTP

rpm -qa | grep vsftpd

2 若没有,则进行安装

yum install vsftpd

二 设置vsftpd开机启动

chkconfig --level  vsftpd on

三 配置FTP服务器(开启基于用户的访问控制)

1 配置文件的修改

vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO   # 是否开启匿名登录
local_enable=YES # 是否允许本地用户登录
write_enable=YES # 是否允许上传
local_umask= # 默认的umask码
diremssage_enable=YES # 是否显示目录说明文件
xferlog_enable=YES # 是否记录ftp传输过程
connect_from_prot_20=YES # 是否确定端口传输来自20
xferlog_ftd_format=YES # 是否使用标准的ftp xferlog模式
chroot_list_enable=YES # 是否将系统用户限制在自己的home目录下
chroot_list_file=/etc/vsftpd/chroot_list # 列表不受限制的用户
listen=YES # 是否开启监听
pam_service_name=vsftpd # 服务名称
userlist_enable=YES
tcp_wrappers=YES

2 修改selinux

getsebool -a | grep ftp

若报错,getsebool:  SELinux is disabled。则

vim /etc/selinux/config

修改 SELINUX=1。

然后重启LINUX,"shutdown -r now" 立刻重启(root用户使用)。

重新执行 "getsebool -a | grep ftp"

修改selinux,允许用户在家目录写入数据

setsebool -P allow_ftpd_anon_write off
setsebool -P ftp_home_dir on

四 创建虚拟用户

1 创建一个用户,然后修改用户的登陆shell为nologin,让用户不能登陆系统,只能使用ftp之内的服务

// 指定用户 test 属于组 ftp,只能访问的目录是 /home/www/test,不能登陆系统
useradd -d /home/www/test -g ftp -s /sbin/nologin test
// 设置该用户的密码
passwd test

2 把用户 test 添加到chroot_list中

// 把 test 加入该文件
vim /etc/vsftpd/chroot_list

五 测试虚拟用户

在浏览器的地址栏输入 "ftp://你的ip",在弹出的对话框中输入账号、密码,即可连接成功。

六 其他配置

打开配置文件 vsftpd.conf

max_client=100     # vsftpd最大支持链接数100个IP
max_per=5      # 每个IP能支持5个链接

local_max_rate=81920   # 限制传输速度

listen_address=某个IP    # 绑定某个IP到vsftpd,只允许该IP访问

xferlog_file=/var/log/vsftpd.log   # 日志存放位置

最新文章

  1. python基础-生成随机字符串方法
  2. node.js学习资料
  3. V-rep学习笔记:曲柄摇杆机构
  4. [shell编程]一个简单的脚本
  5. 手绘经典QQ头像 请让我一个人呆一会
  6. CoreCRM 开发实录 —— 单元测试之 Mock UserManager 和 SignInManager
  7. IO库
  8. 【bzoj2432】【NOI2011】兔农
  9. innerHTML .innerText区别
  10. 深入浅出Tomcat/2 - Tomcat启动和停止
  11. Control算法相关
  12. Zepto tap 穿透bug、解决移动端点击穿透问题
  13. 【C++】C++中的引用与指针
  14. 我的Linux系统九阴真经
  15. Luogu 2173 [ZJOI2012]网络 - LCT
  16. Http请求帮助类
  17. 优化ansible速度
  18. MD5 哈希等各种加密方式 都是对这个对象进行各种运算, 然后得出1个字符串
  19. Javascript-逻辑判断或(&&)练习
  20. 联合权值dp

热门文章

  1. xen 不同后端存储方案的性能对比
  2. 手一抖误删了根目录 /usr 之后的挽救过程
  3. [转]Google 的开源技术protobuf 简介与例子
  4. WebBrowser(超文本浏览框)控件默认使用IE9,IE10的方法
  5. Spring Mvc 传递参数要controller出现了400,日期参数全局处理,格式化yyyy-MM-dd 和yyyy-MM-dd HH:mm:ss
  6. 利用js将图片地址进行转义
  7. [CP1804]最短路
  8. 八. 输入输出(IO)操作8.文件的压缩处理
  9. Android开发之如何保证Service不被杀掉(broadcast+system/app
  10. PHP添加mcrypt扩展模块