您的位置:首页 > 编程语言 > PHP开发

FTP服务搭建与配置

2018-01-17 21:16 387 查看
一、FTP介绍

• FTP是File Transfer Protocol(文件传输协议,简称文传协议)的英文简称,用于在Internet上控制文件的双向传输。

• FTP的主要作用就是让用户连接一个远程计算机(这些计算机上运行着FTP服务器程序),并查看远程计算机中的文件,然后把文件从远程计算机复制到本地计算机,或把本地计算机的文件传送到远程计算机。

• 小公司用的多,大企业不用FTP,因为不安全

二、使用vsftpd搭建ftp服务

centos上自带vsftpd
yum install -y vsftpd
useradd -s /sbin/nologin virftp
vim /etc/vsftpd/vsftpd_login //内容如下,奇数行为用户名,偶数行为密码,多个用户就写多行
chmod 600 /etc/vsftpd/vsftpd_login

[root@greg02 ~]# useradd -s /sbin/nologin virftp
[root@greg02 ~]# vim /etc/vsftpd/vsftpd_login
[root@greg02 ~]# cat /etc/vsftpd/vsftpd_login
testuser1
greglinux
user1
greglinux
[root@greg02 ~]# chmod 600 /etc/vsftpd/vsftpd_login
[root@greg02 ~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db

db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db

[root@greg02 ~]# ls -l /etc/vsftpd/
total 36
-rw------- 1 root root   125 Aug  3 14:10 ftpusers
-rw------- 1 root root   361 Aug  3 14:10 user_list
-rw------- 1 root root  5030 Aug  3 14:10 vsftpd.conf
-rwxr--r-- 1 root root   338 Aug  3 14:10 vsftpd_conf_migrate.sh
-rw------- 1 root root    36 Jan 18 05:01 vsftpd_login
-rw-r--r-- 1 root root 12288 Jan 18 05:02 vsftpd_login.db
[root@greg02 ~]# mkdir /etc/vsftpd/vsftpd_user_conf
[root@greg02 ~]# 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

[root@greg02 vsftpd_user_conf]# vim /etc/pam.d/vsftpd
[root@greg02 vsftpd_user_conf]# cat !$
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

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@greg02 vsftpd_user_conf]# ps aux |grep vsftp
root       4338  0.0  0.0  53216   576 ?        Ss   05:13   0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
root       4371  0.0  0.0 112664   964 pts/0    S+   05:21   0:00 grep --color=auto vsftp


三、测试ftp

[root@greg02 vsftpd_user_conf]# lftp testuser1@127.0.0.1
Password:
lftp testuser1@127.0.0.1:~> ls
-rw-r--r--    1 1003     1005            0 Jan 17 21:09 aming.txt
lftp testuser1@127.0.0.1:/> quit


执行命令ls,看是否正常输出

若不正常查看日志/var/log/messages和/var/log/secure

windows下安装filezilla客户端软件,进行测试

四、xshell使用ftp5搭建xftp传输文件

CTRL+ALT+F可以在xshell里调用xftp,然后实现linux和Windows互传文件

四、使用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

[root@greg02 ~]# touch /data/ftp/123.txt
[root@greg02 ~]# lftp ftp_usera@127.0.0.1
Password:
lftp ftp_usera@127.0.0.1:~> ls
drwxr-xr-x    2 1010       pure-ftp           21 Jan 19 05:03 .
drwxr-xr-x    2 1010       pure-ftp           21 Jan 19 05:03 ..
-rw-r--r--    1 0          0                   0 Jan 19 05:03 123.txt

[root@greg02 ~]# chown pure-ftp:pure-ftp /data/ftp/123.txt
[root@greg02 ~]# lftp ftp_usera@127.0.0.1
Password:
lftp ftp_usera@127.0.0.1:~> ls
drwxr-xr-x    2 1010       pure-ftp           21 Jan 19 05:03 .
drwxr-xr-x    2 1010       pure-ftp           21 Jan 19 05:03 ..
-rw-r--r--    1 1010       pure-ftp            0 Jan 19 05:03 123.txt

pure-pw list/userdel/usermod/passwd
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: