Linux vsftp 部署&优化

[[email protected] ~]# yum install -y vsftpd  #安装 centos自带的vsftp 服务

启动 vsftpd 服务,如果服务启动失败,检查日志。可以看到是 端口被 pure-ftpd占用。

关掉pure_ftpd 服务,再启动,就可以了。

[[email protected] ~]# /etc/init.d/vsftpd start

Starting vsftpd for vsftpd:                                [  OK  ]

以user3 为范例:

[[email protected] ~]# 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 命令先安装

[[email protected] ~]# yum install -y lftp

[[email protected] ~]# lftp [email protected]

Password:

lftp [email protected]:~> ls        #里面什么都没有

lftp [email protected]:~>

[[email protected] ~]# grep user3 /etc/passwd   #查找user3的家目录

user3:x:502:502::/home/user3:/bin/bash

[[email protected] ~]# ls /home/user3/  #目录是空的

[[email protected] ~]#  touch /home/user3/1207.txt

[[email protected] ~]# mkdir /home/user3/1207

[[email protected] ~]# ls /home/user3/

1207  1207.txt

黙认的用户在客户端访问。

[[email protected] ~]# lftp [email protected]
Password:
lftp [email protected]:~> 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 [email protected]:~>

此时的user3可以进入任何一个目录下(root除外)。黙认的vsftp 这样用是很危险的。

下面来配置一款安全的用法:

可以像 pure-ftpd  那用建一个虚拟用户来映射。这样更加安全。

也可以通过编辑配置文件来做一些限制。

[[email protected] ~]# vim /etc/vsftpd/vsftpd.conf

#chroot_local_user=YES  #打开这这个限限

[[email protected] ~]# /etc/init.d/vsftpd restart  #重启vsftpd 服务

Shutting down vsftpd:                                      [  OK  ]

Starting vsftpd for vsftpd:                                [  OK  ]

在客户端进行操作

lftp [email protected]:~> cd /etc
cd: Access failed: 550 Failed to change directory. (/etc)  #/etc/文件夹进不去

[[email protected] ~]# useradd virftp -s /sbin/nologin   #创建用户

[[email protected] ~]# vim /etc/vsftpd/vsftpd_login      #存放用户&密码

[[email protected] ~]# chmod 600 /etc/vsftpd/vsftpd_login #更改文件权限,只限root可以看

[[email protected] ~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db

#为vsftpd 生成可识别的二进制的库文件,保存路径 /etc/vsftpd/vsftpd_login.db

[[email protected] ~]# mkdir /etc/vsftpd/vsftpd_user_conf  #创建虚拟用户配置文件存放目录

[[email protected] 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

[[email protected] vsftpd_user_conf]# mkdir /home/virftp/linux1  #创建用户家目录

[[email protected] vsftpd_user_conf]# chown  -R virftp:virftp /home/virftp/linux1

#修改成映射用户的权限

编辑认证相关的配置文件

[[email protected] 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的路径

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

确定文件存在不存在

[[email protected] 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       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

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

[[email protected] 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

[[email protected] vsftpd_user_conf]# uname -a  #查看系统位数

Linux LNMP 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

[[email protected] 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

[[email protected] vsftpd_user_conf]# /etc/init.d/vsftpd restart

Shutting down vsftpd:                                      [  OK  ]

Starting vsftpd for vsftpd:                                [  OK  ]

在客户端测试出现如下图状况,不能访问

将local_enable=YES       #改为YES即可。

在本地家目下创建文本&目录

[[email protected] vsftpd_user_conf]# cd /home/virftp/linux1/

[[email protected] linux1]# ls

[[email protected] linux1]# touch 1207

[[email protected] linux1]# touch 1207.txt

[[email protected] linux1]# ls

1207  1207.txt

在客户端可以正常查看

[[email protected]Bird ~]# lftp [email protected]
Password:
lftp [email protected]:~> 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 vsftp 部署&优化

时间: 2024-10-25 09:10:36

Linux vsftp 部署&优化的相关文章

pureftp、vsftp部署及优化

pure-ftp部署及优化 pure-ftpd 官网 http://www.pureftpd.org/project/pure-ftpd ftp服务器上: [[email protected] client mnt]# cd /usr/local/src/ [[email protected] client src]#wget http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.40.tar.gz [[email p

Linux 之 samba 部署&优化

Samba是什么 Samba服务类似于windows上的共享功能,可以实现在Linux上共享文件,windows上访问,当然在Linux上也可以访问到. 是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务. [[email protected] ~]# yum install -y samba samba-client #安装 samba 服务端,客户端是 samba-client [[email protected] ~]# vim /

Linux系统部署规范v1.0

Linux系统部署规范v1.0 目的: 1.尽可能减少线上操作: 2.尽可能实现自动化部署: 3.尽可能减少安装服务和启动的服务: 4.尽可能使用安全协议提供服务: 5.尽可能让业务系统单一: 6.尽可能监控可监控的一切信息: 7.尽可能控制一切可控制的安全策略: 8.尽可能定期更新补丁修补漏洞: 具体规范: A. 帐户和口令 帐户: 1.为每个系统维护人员建立一个独立的普通权限帐号,为监控机建立监控帐号,分别用于日常系统维护和系统监控: 2.FTP 服务器配置虚拟帐号: 3.禁止除root 帐

在Linux下部署kettle的Job

关于如何用kettle创建job以及如何部署kettle到linux上,我就不细说了,大家应该都会,下面重点说一下,如何让job执行起来先将创建好的脚本上传到kettle指定目录下面,创建调用job执行的脚本文件, export JAVA_HOME=/usr/java/jre1.6.0_23 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar /opt

在LINUX上部署带有JAR包的JAVA项目

         在LINUX上部署带有JAR包的JAVA项目 首先eclipse上要装上一个小插件,叫做Fat Jar 点击Fat Jar 红框里选上主类点击Next 如图把勾打上 在该路径下找到jar包 通过ftp协议把jar包放在linux服务器下 进入到jar包路径 输入指令 java -jar XXX.jar 运行成功! 注意!!!!!!!!!!!!!!!! 当你断开服务器连接时,工程会停止! 所以要用下面的指令 指令:nohup java -jar XXX.jar 通过指令ps -e

Linux网络性能优化方法简析

Linux网络性能优化方法简析 2010-12-20 10:56 赵军 IBMDW 字号:T | T 性能问题永远是永恒的主题之一,而Linux在网络性能方面的优势则显而易见,这篇文章是对于Linux内核中提升网络性能的一些优化方法的简析,以让我们去后台看看魔术师表演用的盒子,同时也看看内核极客们是怎样灵活的,渐进的去解决这些实际的问题. AD:2014WOT全球软件技术峰会北京站 课程视频发布 对于网络的行为,可以简单划分为 3 条路径:1) 发送路径,2) 转发路径,3) 接收路径,而网络性

Linux之nginx优化与防盗链

Linux之nginx优化与防盗链 Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为"engine X",是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器.Nginx是由俄罗斯人 Igor Sysoev为俄罗斯访问量第二的 Rambler.ru站点开发. Nginx以事件驱动(epoll)的方式编写,所以有非常好的性能,同时也是一个非常高效的反向代理.负载平衡.但是Nginx并不支持cgi方式运行,原因是可以减少因

Linux下部署docker记录(1)-Volume使用

之前部署了Linux下部署docker记录(0)-基础环境安装,接下来看看Docker Volume的使用. Docker volume使用1)一个数据卷是一个特别指定的目录,该目录利用容器的UFS文件系统可以为容器提供一些稳定的特性或者数据共享.数据卷可以在多个容器之间共享.2)创建数据卷,只要在docker run命令后面跟上-v参数即可创建一个数据卷,当然你也可以跟多个-v参数来创建多个数据卷,当创建好带有数据卷的容器后,你就可以在其他容器中通过--volumes-froms参数来挂载该数

Linux之部署KVM虚拟化平台

Linux之部署KVM虚拟化平台 案例需求: 1.安装KVM所需软件,验证. 2.设置KVM网络,将网络设置为桥接模式. 3.使用virt-manager安装linux系统. 4.kvm基本管理的命令 (1)查看虚拟机的状态 (2)虚拟机的关机,强制关机和开机 (3)虚拟机的挂起和恢复 (4)配置虚拟机实例伴随宿主机自动启动 (5)导出虚拟机配置 5.kvm文件管理 (1)将raw格式磁盘转换为qcow2格式 (2)转换后,修改xml配置文件 (3)查看虚拟机磁盘信息 6.虚拟机克隆 7.虚拟机