centos7启动root账户_CentOS7 搭设FTP服务进行文件传输方案实施

近来因为工作原因进行了FTP服务器的搭设,就写一篇文章来记录一下,方便之后回顾,并且跟大家一起分享一下经验。

b9f06d5fc8a9542ce978b26a55f4f18b.png

FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。在FTP的使用当中,用户经常遇到两个概念:”下载”(Download)和”上传”(Upload)。”下载”文件就是从远程主机拷贝文件至自己的计算机上;”上传”文件就是将文件从自己的计算机中拷贝至远程主机上。用Internet语言来说,用户可通过客户机程序向(从)远程主机上传(下载)文件。

Ftp服务器就是支持FTP协议的服务器就是FTP服务器。与大多数Internet服务一样,FTP也是一个客户机/服务器系统。用户通过一个支持FTP协议的客户机程序,连接到在远程主机上的FTP服务器程序。用户通过客户机程序向服务器程序发出命令,服务器程序执行用户所发出的命令,并将执行的结果返回到客户机。

比如说,用户发出一条命令,要求服务器向用户传送某一个文件的一份拷贝,服务器会响应这条命令,将指定文件送至用户的机器上。客户机程序代表用户接收到这个文件,将其存放在用户目录中。

68a26b0b952c923f6b6a53619036348d.png

FTP服务器

CentOS 7 搭设FTP环境

看完上述介绍,我们可以来开始试着通过CentOS 7 系统来搭设FTP服务器啦。

01

vsftpd安装及防火墙配置

1、安装VSFTP:

[root@localhost ~]# yum -y install vsftpd

e599f7ddba70e24313f964061742bdb5.png

2、安装完成后,查看位置

[root@localhost ~]# whereis vsftpd

3、直接启动VSFTP服务

[root@localhost~]#systemctl start vsftpd

(启动vsftpd服务)

[root@localhost ~]# systemctl enable vsftpd

(设置vsftp开机自启动)

0d53d58c58678b3cbde7ec035f15e7c2.png

4、查看是否启动成功

[root@localhost ~]# netstat -npal|grep vsftpd

可以看到服务已经启动,端口为21,pid为2887

92b869c5c77dd0d560a075d61ca3510b.png

5、关闭SELinux限制,添加防火墙白名单

(1)设置关闭SELinux(很多问题都是selinux权限导致的,个人是直接关闭了selinux)

[root@localhost ~]# vim /etc/sysconfig/selinux

SELINUX=enforcing 改为 SELINUX=disabled

edf2143e9130e88f797685118a1559fd.png

(2)将ftp加入防火墙白名单,并开放端口

firewall-cmd --permanent --zone=public --add-service=ftp

firewall-cmd --zone=public --add-port=6000-6

010/tcp --permanent

firewall-cmd --reload

59b1668632cb83a29de9bb4c9e45a8b7.png

查看防火墙状态:

firewall-cmd --list-all

158422f73860cc665e4f75d924185db0.png

02

vsftpd配置修改

1.修改配置文件

[root@localhost ~]# cd /etc/vsftpd/

[root@localhost vsftpd]# vim vsftpd.conf

e1918e20dc15a3abe08af23177564d41.png

#不允许匿名访问(不登录默认访问某目录/var/vsftpd)

anonymous_enable=NO

#允许ascii文件上传和下载

ascii_upload_enable=YES

ascii_download_enable=YES

#将用户限制在为其配置的主目录

chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

2f1a9a521b6a758d42080f069a87294d.png

03

FTP配置多用户访问

1、首先需要在vsftpd.conf添加如下配置

#设置启用虚拟用户功能

guest_enable=YES

#制定宿主用户名(我们后续需要为我们的系统增加该用户)

guest_username=guest1

guest_username=guest2

#制定虚拟用户配置文件放置文件夹(需要我们自己建立)

user_config_dir=/etc/vsftpd/vuser_conf

#允许写

allow_writeable_chroot=YES

#开启被动模式

pasv_enable=YES

#开启最小ip

pasv_min_port=6000

#开启最大ip
pasv_max_port=6010

#:wq保存vsftpd.conf文件,并创建用户配置文件放置文件夹

mkdir /etc/vsftpd/vuser_conf

e4135bba3b97871fa63296a5a2bc74aa.png

2.创建宿主用户

#创建宿主主文件夹

cd /home

mkdir vsftpd

# 创建用户 guest1 指定 "/home/vsftpd"目录

# -s /sbin/nologin ftpuser 表示不允许该用户通过命令行方式登录

useradd -g root -M -d /home/vsftpd -s /sbin/nologin guest1

# 设置用户guest1的密码

passwd guest1

# 把 /home/vsftpd 的所有权给guest1.root

chown -R guest1.root /home/vsftpd

#guest2的设置和guest1完全一致

b961c122cca2798b178ed6b49ffc2229.png

3.创建虚拟用户信息文件

vsftp目录下

cd /etc/vsftpd/

touch vuser_passwd(创建用户信息文件)

vim vuser_passwd(编辑用户信息文件)

#编辑如下内容,创建虚拟账户信息,奇数行为用户名,偶数行为密码

guest1

123456

guest2

123456

f6d26c1b3067c57004a97551af424e48.png

4.生成虚拟用户数据文件

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

chmod 600 /etc/vsftpd/vuser_passwd.db

#在当前文件夹下生成一个vuser_passwd.db文件

3f7b178d14a6ff83b0ad8077518c2b41.png

5.编辑pam认证文件

vim /etc/pam.d/vsftpd

将其他都注释掉,根据系统位数的不通添加下面两行;

注:db=/etc/vsftpd/vuser_passwd 中的vuser_passwd 是你生成的虚拟用户的db文件,这里不要加扩展名。

#查看系统位数

gtconf LONG_BIT

d62d1b11e60ac78bf1fb1bf35ecd1669.png

#系统为32位:

auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd account

required pam_userdb.so db=/etc/vsftpd/vuser_passwd

#系统为64位:

auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd

account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd

8a0e69b1548aff65323f568bedca0b21.png

6.为虚拟账户创建访问根目录,要在宿主用户下

# 下面是目录结构

/home/vsftpd

├──guest1

│ └── files

└──guest2

└──files

#修改权限

chmod 777 /home/vsftpd/guest1

chmod 777 /home/vsftpd/guest2

a5933eab9f35b9d74b99cb2a83407ac1.png

7.创建虚拟用户配置目录

cd /etc/vsftpd/

#创建上述配置文件中配置的虚拟用户文件夹,一定要对应

mkdir vuser_conf

cd vuser_conf

#创建虚拟用户配置文件,文件名称要与虚拟用户名称相同

#这里我们配置两个虚拟用户就创建两个配置文件

touch guest1 guest2

vim guest1

a7ce7398211f84118fb451480f052b07.png

#编辑两个文件,加入以下信息(注意加粗部分要替换为你虚拟账户要访问的根目录名称)

local_root=/home/vsftpd/guest1

write_enable=YES

anon_umask=022

anon_world_readable_only=NO

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

#guest2的配置与guest1一致

8ee77471da4399bc50f294d231006869.png

8.创建chroot_list

cd /etc/vsftpd

#创建使当前配置的虚拟用户允许访问

[root@localhost vsftpd]# touch chroot_list

[root@localhost vsftpd]# vim chroot_list

f0d72d954b33821cf73ec6fe894aa757.png

#写入虚拟用户名

guest1

guest2

ec5525776a9adb775d25380ee7bbc2eb.png

9.重启VSFTP服务

systemctl restart vsftpd

至此完成初步安装

04

FTP服务器的测试

在浏览器中输入ftp://服务器ip,

或者是用ftp.exe都可以进行测试。

acb632fdbf30edda3894613c96b07312.png
c43a2e5849e2bfb774ce99079e129621.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值