FTP服务搭建与配置
FTP服务介绍
FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。主要用于控制文件的双向传输,由于FTP的传输效率高,传输大文件时一般使用FTP。FTP默认使用tcp的20和21两个端口,20传输数据,21控制传输数据。
FTP的主要作用就是让用户连接一个远程计算机(这些计算机上 运行着FTP服务器程序),并查看远程计算机中的文件,然后把文件从远程计算机复制到本地计算机,或把本地计算机的文件传送到远程计算机。FTP的传输方式小工是和个人使用得多。
FTP搭建
yum install -y vsftpd //安装vsftp包
useradd -s /sbin/nologin virftp //创建账号
vim /etc/vsftpd/vsftpd_login //创建与虚拟账号相关的文件该文件中的奇数行为用户,偶数行为密码
test
dai
test1
123
test2
123
chmod 600 /etc/vsftpd/vsftpd_login //更改用户权限
db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db vsftpd使用的密码文件不是明文的,需要生成对应的库文件
mkdir /etc/vsftpd/vsftpd_user_conf
cd /etc/vsftpd/vsftpd_user_conf/ //建立与虚拟账号相关的配置文件与目录
vi test1 //创建用户对应的配置文件
local_root=/home/virftp/test
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
local_root为test的家目录,anonymous_enable用来限制是否允许匿名账户登录,write_enable=YES表示可写,local_umask指定umask值,anon_upload_enable表示是否允许账号上传文件,anon_mkdir_write_enable表示是否允许匿名账户可写。
使用vsftpd搭建ftp服务
mkdir /home/virftp/test1
touch /home/virftp/test1/dailinux.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服务
ps aux |grep vsftp //查看进程是否存在
root 2953 0.0 0.0 50632 556 ? Ss 16:45 0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
root 2955 0.0 0.0 112660 960 pts/0 R+ 16:47 0:00 grep --color=auto vsftp
yum install -y lftp //安装lftp客户端软件
yum install -y openssl* //防止后面出现错误,先将这个包安装
lftp test1@127.0.0.1
口令: 123
lftp test1@127.0.0.1:~> ls
-rw-r--r-- 1 0 0 0 Dec 01 09:03 dailinux.txt
安装配置pire-ftpd
yum install -y epel-release
yum install -y pure-ftpd
ps aux |grep pure-ftpd
root 5690 0.0 0.0 200344 1188 ? Ss 17:36 0:00 pure-ftpd (SERVER)
root 5695 0.0 0.0 112664 964 pts/0 R+ 17:38 0:00 grep --color=auto pure-ftpd
# mkdir -p /data/ftp
# useradd -u 1010 pure-ftp
# chown -R pure-ftp:pure-ftp /data/ftp/
# chown -R pure-ftp:pure-ftp /data/ftp
# pure-pw useradd ftp_user1 -u pure-ftp -d /data/ftp/
Password: 123
Enter it again: 123
-u选项将虚拟用户ftp-user1与系统用户pure-ftp关联在一起,使用ftp-user1账号登陆FTP后,会以pure-ftp的身份进行访问,-d选项后面的目录时ftp-user1的家目录,这样ftp-user1只能访问其家目录
# pure-pw mkdb //常见用户信息数据库文件
# pure-pw useradd ftp_user1 -u pure-ftp -d /data/ftp/ //创建账号
Password:
Enter it again:
# pure-pw useradd ftp_user2 -u pure-ftp -d /tmp
Password:
Enter it again:
# pure-pw list //查看账号
ftp_user1 /data/ftp/./
ftp_user2 /tmp/./
# pure-pw userdel ftp_user2 //删除账号
# pure-pw list
ftp_user1 /data/ftp/./