这是系统自带的ftp,服务端部署:
[root@yiqiang ~]# yum install -yvsftpd
安装客户端服务:yum install -y lftp
[root@yiqiang ~]# netstat -lnp 查看进程,谁占用21端口。
[root@yiqiang ~]# killall pure-ftpd 因为ftp一般都占用21端口,需要关掉才可以。
( 关闭防火墙或者清空防火墙规则及关闭selinux
iptables -F
service iptables save
vim /etc/selinux/config
SELINUX=disabled
查看用户 # cat /etc/passwd )
创建ftp账户并设置密码
[root@yiqiang ~]# passwd test 更改test的密码
更改用户 test 的密码 。
新的 密码
为123!@#
会显示 : passwd: 所有的身份验证令牌已经成功更新。
[root@yiqiang ~]# /etc/init.d/vsftpd start
为 vsftpd 启动 vsftpd: [成功]
客户端访问:
[root@yiqiang test]# lftp test@192.168.1.106 用户test登陆
[root@yiqiang test]# lftp yanghao@192.168.1.106 用户yanghao登陆
[root@yiqiang yanghao]# grep yanghao /etc/passwd 查看用户所在目录地址
yanghao:x:505:505::/home/yanghao:/bin/bash
[root@yiqiang ~]# cd /home/yanghao
[root@yiqiang yanghao]# touch 12.yxy
[root@yiqiang yanghao]# mkdir 21.xyx
[root@yiqiang yanghao]# ls
建立FTP成功!
客服机登陆:
lftp yanghao@192.168.1.106,查看pwd命令,出现百分号%表示不安全
lftp yanghao@192.168.1.106:~> pwd
ftp://yanghao@192.168.1.106/%2Fhome/yanghao
为提高安全性,限制客户端访问只在访问账户家目录下:
主服务机上设置vim /etc/vsftpd/vsftpd.conf
更改#chroot_local_user=YES 为chroot_local_user=YES
:wq保存退出
[root@yiqiang ~]# /etc/init.d/vsftpd restart 重启即可!
虚拟用户配置:
首先创建用户并且此账户不能登录系统:
# useraddvirftp -s /sbin/nologin
创建虚拟用户的账户和密码:
# vim /etc/vsftpd/vsftpd_login 编辑一下内容:
test1 虚拟账户1
wwwhao123com 虚拟账户1的密码
test2 虚拟账户2
www.hao123.com 虚拟账户2的密码
:wq保存退出
# chmod 600 /etc/vsftpd/vsftpd_login 设置虚拟账户文件的权限
需要生成可识别二进制的库文件:执行如下:
# db_load -T -t hash -f /etc/vsftpd/vsftpd_login/etc/vsftpd/vsftpd_login.db 生成文件存放的地点
创建虚拟账户:
# mkdir /etc/vsftpd/vsftpd_user_conf
# cd /etc/vsftpd/vsftpd_user_conf
# vim test1 编辑如下内容:
local_root=/home/virftp/test1 虚拟账户家目录
anonymous_enable=NO 是否可用
write_enable=YES 是否可写
local_umask=022 umask默认值
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 传输速度
:wq保存退出
# mkdir /home/virftp/test1 创建虚拟用户的家目录
并且赋予账户权限
# chown -R virftp:virftp /home/virftp/test1
# 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
:wq保存退,继续编辑vsftp配置文件,查看前,先检查配置文件存在否。
# ls /lib/security/pam_userdb.so (为32位的地址)#ls /lib64/security/pam_userdb.so(为64位的,uname -a)
# vim /etc/vsftpd/vsftpd.conf 修改内容为:从上往下找:
anonymous_enable=NO
local_enable=YES
write_enable=YES
anon_upload_enable=NO
anon_mkdir_write_enable=NO
并尾部添加内容为:
guest_enable=YES
guest_username=virftp
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf
:wq保存退出,并重启 # /etc/init.d/vsftpd restart
登陆
#cd /home/virftp/test1/
#ls
#touch 121212.txt
# mkdir 23232.hth
#cat /etc/vsftpd/vsftpd_login 查看密码
lftp test1@192.168.1.106
口令:
wwwhao123.com
登陆成功。
也可以用浏览器登陆,防火墙和hosts设置 。
ftp://192.168.1.106/
输入:test1 密码: wwwhao123.com,登陆成功。可以查看文件