1. 配置本地yum源
1.1 上传ISO文件
上传系统镜像文件CentOS-7.iso到目标服务器
1.2 挂载ISO文件
# mkdir /media/cdrom
[新建镜像文件挂载目录]
# mount -t iso9660 -o loop /home/CentOS-7.iso /media/cdrom
[挂载系统镜像]
# cd /media/cdrom
[进入挂载目录,使用ls命令可以看到已经有文件存在了]
1.3 设置开机自启动
# vi /etc/fstab
[添加以下代码,实现开机自动挂载]
/home/CentOS-7.iso /media/cdrom iso9660 defaults,loop 0 0
1.4 配置本地yum源
[进入yum配置目录]
# cd /etc/yum.repos.d/
[建立yum配置文件]
# vi CentOS-7.repo
[编辑配置文件,添加以下内容]
[CentOS-7]
name=CentOS-7
baseurl=file:///media/cdrom
enabled=1
gpgcheck=1
gpgkey=file:///media/cdrom/RPM-GPG-KEY-CentOS-7
1.5 测试yum是否正常
# yum clean all
[清除yum缓存]
# yum makecache
[缓存本地yum源中的软件包信息]
# yum repolist
[显示本地yum源中的软件包信息]
挂载之后可能还是无法使用,进入/etc/yum.repos.d/ 将Centos.Base.repo重命名使其失效即可
yum安装时出现类似“warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY”的报错,是导入了旧的KEY文件,执行rpm --import /etc/pki/rpm-gpg/RPM*
导入新KEY即可
2. 安装vsftpd
2.1 安装vsftpd服务
yum -y install vsftpd
2.2 配置防火墙开放FTP端口
[防火墙开放FTP端口]
firewall-cmd --permanent --add-port=2231/tcp
firewall-cmd --permanent --add-port=45000-49000/tcp
[重启防火墙]
firewall-cmd --reload
2.3 配置selinux允许FTP服务
[安装policycoreutils-python包]
yum -y install policycoreutils-python.x86_64
[配置selinux允许FTP服务]access是用于访问ftp,home_dir是用于访问ftp存放的文件夹
setsebool -P allow_ftpd_full_access on
setsebool -P tftp_home_dir on
3. 使用虚拟用户模式配置FTP
3.1 创建用于FTP认证的用户数据库文件
[奇数行为账号,偶数行为密码]
vi /etc/vsftpd/virtual.txt
model
123456
limit
123456
[明文信息不安全,需使用哈希算法转换为数据文件]
db_load -T -t hash -f /etc/vsftpd/virtual.txt /etc/vsftpd/virtual.db
[更改数据文件权限为仅所有者读写]
chmod 600 /etc/vsftpd/virtual.db
[删除明文信息]
rm -rf /etc/vsftpd/virtual.txt
3.2 创建虚拟用户映射的系统本地用户和FTP根目录
[创建本地用户]-d指定用户家目录,-s /sbin/nologin禁止登录系统
useradd -d /home/vsftpd -s /sbin/nologin virtual
[创建虚拟用户目录]
mkdir /home/vsftpd/虚拟用户名
[更改家目录权限为所有者读写执行,其它人可读写]
chown -R virtual:virtual /home/vsftpd
chmod -R 766 /home/vsftpd/
3.2 建立用于支持虚拟用户的PAM文件
[auth:验证用户口令,accout:验证用户权限,db=:数据文件路径(不带后缀)]
vi /etc/pam.d/virtual
auth required pam_userdb.so db=/etc/vsftpd/virtual
account required pam_userdb.so db=/etc/vsftpd/virtual
3.3 为虚拟用户设置权限
[创建虚拟用户配置文件目录]
mkdir /etc/vsftpd/virtual
[创建虚拟用户配置文件]
touch /etc/vsftpd/virtual/虚拟用户名
[编辑虚拟用户配置文件]
vi /etc/vsftpd/virtual/虚拟用户名
1 |
|
3.4 编辑vsftpd配置文件
vi /etc/vsftpd/vsftpd.conf
1 |
|
3.5 重启vsftpd服务载入配置
systemctl restart vsftpd
[将vsftpd服务设为开机自启]
systemctl enable vsftpd
[连接FTP服务测试用户权限]
ftp FTP服务器IP 命令端口
[下载文件]
ftp> get FTP文件名 本地文件名
[上传文件]
ftp> put 本地文件名 FTP文件名
[退出FTP连接]
ftp> quit