FTP,即文件传输协议,它使得主机间可以共享文件。FTP使用TCP生成一个虚拟连接用于控制信息,然后再生成一个单独的TCP连接用于数据传输。控制连接使用类似TELNET协议在主机间交换命令和消息。文件传输协议是TCP/IP网络上两台计算机传送文件的协议,FTP是在TCP/IP网络和INTERNET上最早使用的协议之一,它属于网络协议组的应用层。FTP客户机可以给服务器发出命令来下载文件,上传文件,创建或改变服务器上的目录。
服务端
1、安装软件
1
|
[root@plinuxos ~]
# yum install -y vsftpd
|
2、创建用户
1
|
[root@plinuxos ~]
# useradd -s /sbin/nologin vsftpuser
|
3、调整vsftpd_login文件
1
2
3
4
5
6
7
|
[root@plinuxos ~]
# vim /etc/vsftpd/vsftpd_login ##奇数行是用户名,偶数行是密码
grodd
123456
juispan
123456
[root@plinuxos ~]
# chmod 600 /etc/vsftpd/vsftpd_login
[root@plinuxos ~]
# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db ##转换成二进制文件
|
4、编辑虚拟用户
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
[root@plinuxos ~]
# mkdir /etc/vsftpd/vsftpd_user_conf
[root@plinuxos ~]
# cd /etc/vsftpd/vsftpd_user_conf/
[root@plinuxos vsftpd_user_conf]
# vim grodd
local_root=
/home/vsftpuser/grodd
##虚拟用户家目录
anonymous_enable=NO
##是否允许用户匿名
write_enable=YES
##是否可写
local_umask=022
##创建的新文件或目录权限
anon_upload_enable=NO
##是否允许匿名用户可上传
anon_mkdir_write_enable=NO
##是否允许匿名用户可以创建目录并且写
idle_session_timeout=600
##FTP超出多少秒重新登录
data_connection_timeout=120
##数据传输的超出时间
max_clients=10
##最大客户端数目
[root@plinuxos vsftpd_user_conf]
# mkdir /home/vsftpuser
[root@plinuxos vsftpd_user_conf]
# mkdir /home/vsftpuser/grodd/
[root@plinuxos vsftpd_user_conf]
# echo "123456" > /home/vsftpuser/grodd/1.txt
[root@plinuxos vsftpd_user_conf]
# chown -R vsftpuser:vsftpuser /home/vsftpuser
|
5、修改认证文件
1
2
3
4
5
6
7
8
9
10
11
12
13
|
[root@plinuxos vsftpd_user_conf]
# vim /etc/pam.d/vsftpd
#%PAM-1.0
auth sufficient
/lib64/security/pam_userdb
.so db=
/etc/vsftpd/vsftpd_login
##新增行1
account sufficient
/lib64/security/pam_userdb
.so db=
/etc/vsftpd/vsftpd_login
##新增行2
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
[root@plinuxos vsftpd_user_conf]
# ls /lib64/security/pam_userdb.so
/lib64/security/pam_userdb
.so
|
6、编辑vsftpd.conf文件
1
2
3
4
5
6
7
8
9
10
11
12
|
[root@plinuxos vsftpd_user_conf]
# vim /etc/vsftpd/vsftpd.conf
##以下修改##
anonymous_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
##以下新增##
chroot_local_user=YES
guest_enable=YES
guest_username=virftp
virtual_use_local_privs=YES
user_config_dir=
/etc/vsftpd/vsftpd_user_conf
allow_writeable_chroot=YES
|
7、启动服务
1
2
3
4
5
6
|
[root@plinuxos vsftpd_user_conf]
# systemctl start vsftpd
[root@plinuxos vsftpd_user_conf]
# ps aux|grep vsftp
root 123655 0.0 0.0 52708 564 ? Ss 22:19 0:00
/usr/sbin/vsftpd
/etc/vsftpd/vsftpd
.conf
root 123667 0.0 0.0 112648 968 pts
/0
S+ 22:20 0:00
grep
--color=auto vsftp
[root@plinuxos vsftpd_user_conf]
# netstat -lntp |grep vsftp
tcp6 0 0 :::21 :::* LISTEN 123655
/vsftpd
|
客户端
1、安装lftp
1
|
[root@plinuxos vsftpd_user_conf]
# yum install -y lftp
|
2、测试效果
1
2
3
|
[root@plinuxos vsftpd_user_conf]
# lftp grodd@127.0.0.1
Password:
lftp grodd@127.0.0.1:~>
|
本文转自Grodd51CTO博客,原文链接:http://blog.51cto.com/juispan/1959173
,如需转载请自行联系原作者