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  #创建虚拟用户配置文件存放目录

spacer.gif

[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即可。

085340a9ea03ec5091ed9d1c09c736d4.png

7db78cb2b761fdf92efac961ffaf3078.png

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

[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 来查看

b259a115df54bdb728a6d5934c41c9e1.png

059fa1b9b738d21e97104876e59431be.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值