Loading
0

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.50Password:lftp user3@10.72.4.50:~> lsdrwxr-xr-x    2 0        0            4096 Dec 07 02:47 1207-rw-r--r--    1 0        0               0 Dec 07 02:45 1207.txtlftp 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 /etccd: 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的路径
---------------------------------------
确定文件存在不存在

分页阅读: 1 2
【声明】:8090安全小组门户(http://www.8090-sec.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们:邮箱hack@ddos.kim,我们会在最短的时间内进行处理。