linux系统ftp优化,Linux vsftp 部署优化
[root@LNMP ~]# yum install -y vsftpd #安装 centos自带的vsftp 服务
启动 vsftpd 服务,如果服务启动失败,检查日志。可以看到是 端口被 pure-ftpd占用。
关掉pure_ftpd 服务,再启动,就可以了。
[root@LNMP ~]# /etc/init.d/vsftpd start
Starting vsftpd for vsftpd: [ OK ]
以user3 为范例:
[root@LNMP ~]# passwd user3 #更改User3密码
Changing password for user user3.
New password:
BAD PASSWORD: it is based on a dictionary word
Retype new password:
passwd: all authentication tokens updated successfully.
-------------------------------------------------------
没有lftp 命令先安装
[root@LNMP ~]# yum install -y lftp
[root@LNMP ~]# lftp user3@10.72.4.50
Password:
lftp user3@10.72.4.50:~> ls #里面什么都没有
lftp user3@10.72.4.50:~>
[root@LNMP ~]# grep user3 /etc/passwd #查找user3的家目录
user3:x:502:502::/home/user3:/bin/bash
[root@LNMP ~]# ls /home/user3/ #目录是空的
[root@LNMP ~]# touch /home/user3/1207.txt
[root@LNMP ~]# mkdir /home/user3/1207
[root@LNMP ~]# ls /home/user3/
1207 1207.txt
黙认的用户在客户端访问。
[root@Bird ~]# lftp user3@10.72.4.50
Password:
lftp user3@10.72.4.50:~> ls
drwxr-xr-x 2 0 0 4096 Dec 07 02:47 1207
-rw-r--r-- 1 0 0 0 Dec 07 02:45 1207.txt
lftp user3@10.72.4.50:~>
此时的user3可以进入任何一个目录下(root除外)。黙认的vsftp 这样用是很危险的。
下面来配置一款安全的用法:
可以像 pure-ftpd 那用建一个虚拟用户来映射。这样更加安全。
也可以通过编辑配置文件来做一些限制。
[root@LNMP ~]# vim /etc/vsftpd/vsftpd.conf
#chroot_local_user=YES #打开这这个限限
[root@LNMP ~]# /etc/init.d/vsftpd restart #重启vsftpd 服务
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: [ OK ]
在客户端进行操作
lftp user3@10.72.4.50:~> cd /etc
cd: Access failed: 550 Failed to change directory. (/etc) #/etc/文件夹进不去
[root@LNMP ~]# useradd virftp -s /sbin/nologin #创建用户
[root@LNMP ~]# vim /etc/vsftpd/vsftpd_login #存放用户&密码
[root@LNMP ~]# chmod 600 /etc/vsftpd/vsftpd_login #更改文件权限,只限root可以看
[root@LNMP ~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
#为vsftpd 生成可识别的二进制的库文件,保存路径 /etc/vsftpd/vsftpd_login.db
[root@LNMP ~]# mkdir /etc/vsftpd/vsftpd_user_conf #创建虚拟用户配置文件存放目录
[root@LNMP vsftpd_user_conf]# vim linux1 #加入以下内容
local_root=/home/virftp/linux1
anonymous_enable=NO
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
max_per_ip=5
local_max_rate=50000
[root@LNMP vsftpd_user_conf]# mkdir /home/virftp/linux1 #创建用户家目录
[root@LNMP vsftpd_user_conf]# chown -R virftp:virftp /home/virftp/linux1
#修改成映射用户的权限
编辑认证相关的配置文件
[root@LNMP vsftpd_user_conf]# vim /etc/pam.d/vsftpd #在最开头两行加下以下两行
#指定使用哪种方式来认证,不然系统会使用黙认的用户&密码。
我们用的是虚拟用户,会对应一个密码库文件
auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
#/lib/security/pam_userdb.so 认证模块
#db=/etc/vsftpd/vsftpd_login db的路径
---------------------------------------
确定文件存在不存在
[root@LNMP vsftpd_user_conf]# cat /etc/pam.d/vsftpd
#%PAM-1.0
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
session optional pam_keyinit.so force revoke
auth requiredpam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth requiredpam_shells.so
auth includepassword-auth
account includepassword-auth
session required pam_loginuid.so
session includepassword-auth
----------------------------------------
[root@LNMP vsftpd_user_conf]# ls /lib64/security/pam_userdb.so
/lib64/security/pam_userdb.so
#此处需要注意:如果系统是64位的pam_userdb.so 是在这个目录 /lib64/security/pam_userdb.so
如果系统是32位的pam_userdb.so 是在这个目录 /lib/security/pam_userdb.so
[root@LNMP vsftpd_user_conf]# uname -a #查看系统位数
Linux LNMP 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013x86_64 x86_64 x86_64 GNU/Linux
[root@LNMP vsftpd_user_conf]# vim /etc/vsftpd/vsftpd.conf
chroot_local_user=YES #打开
anonymous_enable=YES 改为 anonymous_enable=NO
#anon_upload_enable=YES 改为 anon_upload_enable=NO
#anon_mkdir_write_enable=YES 改为 anon_mkdir_write_enable=NO
再增加:(在末端)
guest_enable=YES #guest #用户可可以登录,不然创建的虚拟用户不能登录
guest_username=virftp #指定虚拟用户名
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf #指定(告知)虚拟用户的文件路径
重新启动 vsftpd
[root@LNMP vsftpd_user_conf]# /etc/init.d/vsftpd restart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: [ OK ]
在客户端测试出现如下图状况,不能访问
将local_enable=YES #改为YES即可。
在本地家目下创建文本&目录
[root@LNMP vsftpd_user_conf]# cd /home/virftp/linux1/
[root@LNMP linux1]# ls
[root@LNMP linux1]# touch 1207
[root@LNMP linux1]# touch 1207.txt
[root@LNMP linux1]# ls
1207 1207.txt
在客户端可以正常查看
[root@Bird ~]# lftp linux1@10.72.4.50
Password:
lftp linux1@10.72.4.50:~> ls
-rw-r--r-- 1 0 0 0 Dec 07 05:21 1207
-rw-r--r-- 1 0 0 0 Dec 07 05:21 1207.txt
也可以通过客户端IE 来查看
linux系统ftp优化,Linux vsftp 部署优化相关推荐
- linux有必要清理内存么,Linux系统需要清理垃圾文件和优化系统吗?
Linux系统需要清理垃圾文件和优化系统吗? 前言 首先这个是windows带来的习惯,Linux系统并不需要清理垃圾文件和优化系统! 清理垃圾 Linux下没有什么垃圾文件,最多的就是程序的缓存文件 ...
- 云计算基础课堂001 Linux系统与CentOS7的安装部署(小白向—怎么在VMware虚拟机安装基于Linux操作系统的CentOS7)
云计算基础课堂001 Linux系统与CentOS7的安装部署 一.通过VMware部署CENTOS7系统 软件 创建虚拟机 安装CentOS7 进入并登陆系统 二.Linux历史与其发行版故事 三. ...
- linux系统ftp服务器详解
匿名FTP服务 1.检查并安装vsFTPD软件包 在终端窗口输入命令:"rpm –qa|grep vsftpd 命令检查系统是否安装了VsFTPD软件包,如下图所示: 如上图所示 vsftp ...
- linux系统怎么设置ftp账号密码错误,linux系统FTP设置账号密码
linux系统FTP设置账号密码 (2015-12-24 09:57:32) 一.启动vsftpd服务 1. 启动VSFTP服务器 A:cenos下运行:yum install vsftpd B. 登 ...
- Linux系统中的虚拟化安装部署
Linux系统中的虚拟化安装部署 kvm 安装条件 kvm 虚拟化安装 kvm 虚拟化相关信息 虚拟机管理命令 虚拟机在 Linux 系统中传输 虚拟机快照 运用脚本创建虚拟机 运用脚本创建虚拟机快照 ...
- 连接linux系统的mysql,Linux系统MySQL开启远程连接
1.远程连接上Linux系统,确保Linux系统已经安装上了MySQL数据库.登陆数据库.mysql -uroot -p(密码). 2.创建用户用来远程连接 GRANT ALL PRIVILEGES ...
- imx6ull移植Linux系统第二篇——Linux内核的移植
imx6ull移植Linux系统第二篇--Linux内核的移植 花了大概两周的时间,把Linux的移植认真学了一遍,期间踩了不少坑,花费了不少时间去解决各种奇奇怪怪的问题,最终完成了uboot.系统镜 ...
- Alpine linux 小内存版,Alpine Linux系统-Alpine Linux系统【轻量级Linux】下载v3.11.0 最新版-西西软件下载...
Alpine Linux系统[轻量级Linux],Alpine Linux其实就是一个清凉版的Linux系统,通过牺牲一些不常用的功能和特性来达到更加轻巧的体积以及更快的响应速度.Alpine Lin ...
- linux系统清理内存,Linux实验室:五个清理磁盘空间小妙招
1删除安装包:清空系统APT缓存 玩儿电脑最怕的就是卡慢,那么电脑卡慢应该怎么解决呢?对于windows系统来说,你可能有各种免费的杀毒软件.全家桶帮你清空系统空间,那么Linux系统怎么办?今天笔者 ...
- linux系统的笔记本,Linux:开源的免费操作系统_笔记本电脑_笔记本评测-中关村在线...
■linux Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件.应用程序和网络协议 ...
最新文章
- 你不懂js系列学习笔记-类型与文法- 04
- [文件系统]文件系统学习笔记(一)---基本概念以及inode
- 俞敏洪在北大2008年开学典礼上的演讲
- 05-JDBC连接MySQL数据库【删除数据】
- 7-2 停车场管理 (50分)
- input 模糊搜索
- JS学习笔记-OO疑问之封装
- HP DL388G5 安装64位linux虚拟系统出错!
- Java 8 Friday:更多功能关系转换
- 662. 二叉树最大宽度 golang
- bash 的相关配置
- arm linux漏洞,GitHub - armjirawat/linux-kernel-exploits: linux-kernel-exploits Linux平台提权漏洞集合...
- python数字对应车站_python爬虫查询车站信息
- 通信(1)---LTE 整体架构
- 将一个js项目改造成vue项目
- matlab y轴旋转面,Mayavi:绕y轴旋转
- EXT2.0 多选下拉框
- Java-XML解析第一篇主流开源类库解析XML
- 编程人员应该忙里偷闲
- 用firework中合并图标的方法
热门文章
- 数据 3 分钟 | 国产数据库迎来 2 名开源玩家、数据库厂商年度报告都说了些什么?...
- 快收下这份“数据库运作实践”秘制口诀
- 从零开始学python | 使用Python映射,过滤和缩减函数:所有您需要知道的
- 【经验】GaussDB(for MySQL)性能优化 —— 日志的“快递驿站”
- 【华为云技术分享】云图说 | 一张图看懂华为云弹性公网IP
- 爬虫新宠requests_html 带你甄别2019虚假大学 #华为云·寻找黑马程序员#
- Lua - 空值判断的几种情况
- 线性调频信号 matlab
- (组合数学笔记)Pólya计数理论_Part.5_Pólya定理
- 【李宏毅机器学习】Recurrent Neural Network Part2 循环神经网络(p21) 学习笔记