FTP服务的搭建与配置

原创
2019/05/25 22:58
阅读数 91

FTP是File Transfer Protocol(文件传输协议,简称文传协议)的英文简称,用于在Internet上控制文件的双向传输。
 FTP的主要作用就是让用户连接一个远程计算机(这些计算机上运行着FTP服务器程序),并查看远程计算机中的文件,然后把文件从远程计算机复制到本地计算机,或把本地计算机的文件传送到远程计算机。
 小公司用的多,大企业不用FTP,因为不安全


使用VSFTP搭建FTP服务:

centos上自带vsftpd
 yum install -y vsftpd     //安装vsftpd
 useradd -s /sbin/nologin virftp
 vim /etc/vsftpd/vsftpd_login //内容如下,奇数行为用户名,偶数行为密码,多个用户就写多行
testuser1
aminglinux
 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 testuser1 //加入如下内容
local_root=/home/virftp/testuser1
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

 mkdir /home/virftp/testuser1
 touch /home/virftp/testuser1/aming.txt
 chown -R virftp:virftp /home/virftp
 vim /etc/pam.d/vsftpd //在最前面加上
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

 vim /etc/vsftpd/vsftpd.conf
 将anonymous_enable=YES 改为 anonymous_enable=NO
 将#anon_upload_enable=YES 改为 anon_upload_enable=NO
 将#anon_mkdir_write_enable=YES 改为 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
 systemctl start vsftpd //启动vsftpd服务

 

[root@aming01 ~]# yum install -y  vsftpd     //安装vsftpd
[root@aming01 ~]# useradd -s /sbin/nologin  virftp
[root@aming01 ~]# vim /etc/vsftpd/vsftpd_login
[root@aming01 ~]# cat  /etc/vsftpd/vsftpd_login
testuser01
1234567
testvirftp
1234567
[root@aming01 ~]# chmod 600 /etc/vsftpd/vsftpd_login
[root@aming01 ~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login  /etc/vsftpd/vsftpd_login.db
[root@aming01 ~]# ls -l /etc/vsftpd/
总用量 32
-rw-------. 1 root root   125 10月 31 03:45 ftpusers
-rw-------. 1 root root   361 10月 31 03:45 user_list
-rw-------. 1 root root  5116 10月 31 03:45 vsftpd.conf
-rwxr--r--. 1 root root   338 10月 31 03:45 vsftpd_conf_migrate.sh
-rw-------. 1 root root    39 4月  26 17:05 vsftpd_login
-rw-r--r--. 1 root root 12288 4月  26 17:06 vsftpd_login.db
[root@aming01 ~]# mkdir /etc/vsftpd/vsftpd_user_conf
[root@aming01 ~]# cd  /etc/vsftpd/vsftpd_user_conf

[root@aming01 vsftpd_user_conf]# vim testuser01
[root@aming01 vsftpd_user_conf]# mkdir  /home/virftp/testuser01
[root@aming01 vsftpd_user_conf]# touch  /home/virftp/testuser01/aming.txt
[root@aming01 vsftpd_user_conf]# chown -R virftp:virftp  /home/virftp/
[root@aming01 vsftpd_user_conf]#  vim /etc/pam.d/vsftpd
[root@aming01 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
[root@aming01 vsftpd_user_conf]# ls /lib64/security/pam_userdb.so
/lib64/security/pam_userdb.so

[root@aming01 vsftpd_user_conf]# vim /etc/vsftpd/vsftpd.conf
[root@aming01 vsftpd_user_conf]# systemctl start vsftpd
[root@aming01 vsftpd_user_conf]# ps aux|grep vsftpd
root       3530  0.2  0.0  53272   576 ?        Ss   17:35   0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
root       3539  0.0  0.0 112724   984 pts/0    R+   17:36   0:00 grep --color=auto vsftpd
[root@aming01 vsftpd_user_conf]# netstat -lntp  //vsftpd监听21端口号

 

测试FTP服务:

yum install -y lftp
 lftp ftpuser1@127.0.0.1
 执行命令ls,看是否正常输出
 若不正常查看日志/var/log/messages和/var/log/secure
 windows下安装filezilla客户端软件,进行测试

 

 

 

 

 

使用pure-ftpd搭建ftp服务

  yum install -y epel-release
 yum install -y pure-ftpd
 vim /etc/pure-ftpd/pure-ftpd.conf//找到pureftpd.pdb这行,把行首的#删除
 systemctl stop vsftpd
 systemctl start pure-ftpd
 mkdir /data/ftp
 useradd -u 1010 pure-ftp
 chown -R pure-ftp:pure-ftp /data/ftp
 pure-pw useradd ftp_usera -u pure-ftp  -d /data/ftp
 pure-pw mkdb
 pure-pw list/userdel/usermod/passwd

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部