本文共 3084 字,大约阅读时间需要 10 分钟。
需要知道
ftp(文件传输协议):属于TCP/IP协议组的之一,包括两个组成部分:FTP服务器与FTP客户端,FTP服务器用来存储文件,用户通过使用FTP客户端通过FTP协议访问位于FTP服务器上的资源,默认情况下FTP协议使用TCP的20和21端口。20传输数据,21用于传输控制,是否采用20端口为数据传输端口与FTP的传输模式有关,采用主动模式,为20,被动模式,使用哪个端口要服务器和客户端协商决定ftp服务的基本信息
软件安装包 | vsftpd |
---|---|
/var/ftp | 默认发布目录 |
默认发布的子目录 | /var/ftp/pub |
默认协议接口 | 21/tcp |
服务配置文件 | /etc/vsftpd/vsftpd.conf |
有关报错参数
500 | 文件权限过大(权力过大) |
---|---|
530 | 用户认证登陆失败 |
553 | 本地文件系统权限过小(权力过小) |
550 | 服务本身功能未开放 |
有关用户分类
匿名用户 | 没有设置名字的用户 |
---|---|
本地用户 | 设置名字及密码 |
虚拟用户 | 虚拟创出来的用户,在配置文件里设置用户和密码 |
步骤:
一、搭建新的环境 1.选择一个虚拟机重置配置网络:cd /etc/sysconfig/network-scripts
加入IPADDR NETMASK BOOTPROTO=none重启网络 看是否配置成功 2.修改主机名字 hostnamectl set-hostname ftp server
3.看yum 源:
cd /etc/yum,repos.dlsyum clean allyum repolist
4.配置yum源
使用的是老师的网络源 5.查看selinux状态:getenforce
(保证为Disable状态) 配置文件 vim /etc/sysconfig/selinux
(每次修改要重启虚拟机reboot) 二、配置安装ftp过程: 1.利用yum源下载安装vsftpd: yum install vsftpd
2.开启服务:systemctl start vsftpd
systemctl enable vsftpd
(设置开机自启) 3.在防火墙里添加ftp服务:
命令:firewall-cmd --permanent --add-service=ftp
加载 firewall-cmd --reload
firewall-config
4.测试是否配置成功:lftp 172.25.254.xx ftp相关配置 1.vim /etc/vsftpd/vsftpd.conf
每次设置后都要重启 2.创建两个账户: useradd xxx
passwd xxx
三、有关匿名用户的相关配置
vim /etc/vsftpd/vsftpd.conf
每次设置后都要重启 1.匿名用户登陆限制anonymous_enable=YES
(匿名用户是否可以登陆)表示匿名用户可以访问,no的话说明不能访问
write_enable=YES anon_upload_enable=YES
更改组别:chgrp ftp /var/ftp/pub
chmod 775 /var/ftp/pub
进入到pub 上传 put /etc/passwd/
3. 匿名用户家目录的修改 /1、首先保证有目标目录 mkdir /haha
/2.修改配置文件 anon_root=/haha
验证:
4.匿名用户上传文件默认权限修改anon_umask=xxx
未修改之前; 5.匿名用户建立目录:anon_mkdir_write_enable=YES
修改之后: 6.匿名用户是否可以删除和重命名anon_other_write_enable=YES
7.匿名用户下载anon_world_readable_only=YES|NO
(设定为no 时可以下载) 修改后: 8.匿名用户家目录的修改 anon_root=/westos
9.匿名用户上传文件默认权限修改anon_umask=022
chown_uploads=YESchown_username=student
11.最大上传速率anon_max_rate=102400
dd if=/dev/zero of=/mnt/bigfile bs=1M count=1500
12.最大链接个数max_clients=2
(用三个去连接尝试)
local_enable=YES|NO
(本地用户是否可以登陆) 2.write_enable=YES|NO
(ftp是否对登陆用户可写) 3. 本地用户家目录修改local_root=/student
4.本地用户上传文件权限local_umask=xxx
5.限制本地用户浏览根目录chroot_local_user=YES chmod u-w /home/* 6.本地用户白名单建立
chroot_local_user=NO chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list 7.本地用户黑名单建立chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list 修改后:8.限制本地用户登陆
用户黑名单vim /etc/vsftpd/ftpusers
用户临时黑名单vim /etc/vsftpd/user_list
用户白名单设定userlist_deny=NO
vim /etc/vsftpd/user_list用户黑名单设定
userlist_deny=YES
vim /etc/vsftpd/user_list
五、ftp虚拟用户的设定
vim /etc/vsftpd/xxxx
db_load -T -t hash -f /etc/vsftpd/xxxxx
vim /etc/pam.d/westos
4.编辑配置文件:vim /etc/vsftpd/vsftpd.conf
必须注释掉userlist_deny 5.验证 虚拟用户帐号身份制定guest_username=westos
加权限: chmod u-w /home/westos
1.进入配置文件 vim /etc/vsftpd/vsftpd.conf
编辑 local_root=/ftphome/$USER
user_sub_token=$USER mkdir /ftphome/user1/user1dir -pmkdir /ftphome/user2/user2dir -p另一种方式:
虚拟帐号配置独立
1.chgrp ftp /ftphome -R
ll /ftphome/ftpuser*chmod 775 /ftphome/ftpuser1/user1dirchmod 775 /ftphome/ftpuser2/user2dir
vim/etc/vsftpd/vsftpd.confuser_config_dir=/etc/vsftpd/userconf
mkdir -p /etc/vsftpd/userconf
5.vim /etc/vsftpd/userconf/user1
anon_upload_enable=YES
转载地址:http://zlwki.baihongyu.com/