linux系统快速搭建ftp服务器——实现匿名用户和创建用户访问服务器

时间:2024-03-05 08:13:12

一、准备工作:

linux系统为CentOS Linux release 7.5.1804 (Core)  可以使用 lsb_release -a  命令查看

window系统中安装 SecureCRT 和 Secure File Transfer Client 软件

使用SecureCRT 客户端远程登录服务器,进行一系列的安装操作,使用Secure File Transfer Client  客户端可以手动操作服务器端文件

二、开始搭建FTP服务器:

1.检查linux服务器上是否安装了vsftpd软件

# rpm -qa | grep vsftpd


2.如果没有安装,使用yum命令进行安装

# yum -y install vsftpd

到此vsftpd软件就安装成功了。

 

三、查看vsftpd服务的运行情况

systemctl status vsftpd.service
如果运行状态是stoped的,则启动vsftpd服务

systemctl start vsftpd.service
如果运行状态是started的话,则可以重启服务

systemctl restart vsftpd.service
关闭服务使用stop命令

systemctl stop vsftpd.service
 

四、配置不同方式登录

4.1、匿名用户:

vsftpd安装好后,进行匿名用户访问的话,需要修改/etc/vsftpd/vsftpd.conf配置文件。

1.执行 cd 命令,切换到vsftpd.conf配置文件所在目录

# cd /etc/vsftpd/


2.执行 vi 命令,打开 vsftpd.conf 配置文件,进入阅读模式

# vim vsftpd.conf


3.点击 i ,进入编辑模式,我的配置文件如下

#设置是否允许匿名用户登录FTP服务器。默认为YES
anonymous_enable=YES

#是否允许本地用户登录FTP服务器。默认为NO
local_enable=YES

#是否对登录用户开启写权限。属全局性设置。默认NO
write_enable=YES

#是否允许匿名用户上传文件。只有在write_enable设置为YES时,该配置项才有效。而且匿名用户对相应的目#录必须有写权限。默认为NO。
anon_upload_enable=YES

#是否允许匿名用户创建目录。只有在write_enable设置为YES时有效。且匿名用户对上层目录有写入的权限。#默认为NO。
anon_mkdir_write_enable=YES

#若设置为YES,则匿名用户会被允许拥有多于上传和建立目录的权限,还会拥有删除和更名权限。默认值为#NO。
anon_other_write_enable=NO

#设置本地用户新增文档的umask,默认为022,对应的权限为755。umask为022,对应的二进制数为000 010 #010,将其取反为111 101 101,转换成十进制数,即为权限值755,代表文档的所有者(属主)有读写执行 
#权,所属组有读和执行权,其他用户有读和执行权。022适合于大多数情 况,一般不需要更改。若设置为#077,则对应的权限为700。
local_umask=022

#设置是否显示目录消息。若设置为YES,则当用户进入特定目录(比如/var/ftp/linux)时,将显示该目录中#的由message_file配置项指定的文件(.message)中的内容。
dirmessage_enable=YES

#是否启用上传/下载日志记录。默认为NO
xferlog_enable=YES

#日志文件是否使用标准的xferlog日志文件格式(与wu-ftpd使用的格式相同) 。默认为NO
xferlog_std_format=YES

#默认值为YES,指定FTP数据传输连接使用20端口。若设置为NO,则进行数据连接时,所使用的端口由#ftp_data_port指定。
connect_from_port_20=YES

#设置vsftpd服务器是否以standalone模式运行。以standalone模式运行是一种较好的方式,此时listen必
#须设置为YES, 此为默认值,建议不要更改。很多与服务器运行相关的配置命令,需要此运行模式才有效。若#设置为NO,则vsftpd不是以独立的服务运行,要受 xinetd服务的管理控制,功能上会受限制。
listen=NO

#"listen=YES""listen_ipv6=YES"是不能同时开启,需要一个开启一个关闭
#让vsftpd同时支持IPv4和IPv6
listen_ipv6=YES

#设置在PAM所使用的名称,默认值为vsftpd。
pam_service_name=vsftpd

#决定/etc/vsftpd/user_list文件是否启用生效。YES则生效,NO不生效。
userlist_enable=YES

#用来设置vsftpd服务器是否与tcp wrapper相结合,进行主机的访问控制。默认设置为YES,vsftpd服务器会#检查/etc/hosts.allow和/etc /hosts.deny中的设置,以决定请求连接的主机是否允许访问该FTP服务器。#这两个文件可以起到简易的防火墙功能。
#比如,若要仅允许192.168.168.1192.168.168.254的用户,可以访问连接vsftpd服务器,则可 
#在/etc/hosts.allow文件中添加以下内容:
#vsftpd:192.168.168.0/255.255.255.0 :allow
#all:all:deny
tcp_wrappers=YES

 

4.按ESC键,输入 :wq 保存修改的配置文件

# :wq

5.重启vsftpd服务,即可使用匿名用户访问。

匿名用户实现文件的上传、下载、删除:

 

注意 :匿名用户的根目录/var/ftp/是不可以直接设置777权限的,否则会无法访问ftp服务,要想实现匿名用户的上传、下载和删除,需要使用“other”用户,也就是在/var/ftp/根目录下新建upload目录,然后给upload文件夹设置777权限即可。

1.创建upload文件夹

# mkdir /var/ftp/upload

 

2.给upload文件夹设置权限

# chmod -R 777 /var/ftp/upload/

3.重启ftp服务,即可实现匿名用户的上传、下载、删除操作。

客户端连接ftp服务端:

# ftp 192.168.42.105

用户名:anonymous
密码:无,直接回车

4.2、创建用户:

使用useradd命令:

useradd admin ,默认在/home文件夹下创建一个和 admin一样名称的文件作为该用户所拥有的文件

# useradd admin   #回车
# passwd admin   #回车,设置密码

 

密码设置后,千万不要忘记修改 vsftpd.conf 配置文件

1.执行 cd 命令,切换到vsftpd.conf配置文件所在目录

# cd /etc/vsftpd/

 

2.执行 vi 命令,打开 vsftpd.conf 配置文件,进入阅读模式

# vi vsftpd.conf

 

3.点击 i ,进入编辑模式,我的配置文件如下

#设置是否允许匿名用户登录FTP服务器。默认为YES
anonymous_enable=NO

#是否允许本地用户登录FTP服务器。默认为NO
local_enable=YES

#是否对登录用户开启写权限。属全局性设置。默认NO
write_enable=YES

#设置本地用户新增文档的umask,默认为022,对应的权限为755。umask为022,对应的二进制数为000 010 #010,将其取反为111 101 101,转换成十进制数,即为权限值755,代表文档的所有者(属主)有读写执行 
#权,所属组有读和执行权,其他用户有读和执行权。022适合于大多数情 况,一般不需要更改。若设置为#077,则对应的权限为700。
local_umask=022

#设置是否显示目录消息。若设置为YES,则当用户进入特定目录(比如/var/ftp/linux)时,将显示该目录中#的由message_file配置项指定的文件(.message)中的内容。
dirmessage_enable=YES

#是否启用上传/下载日志记录。默认为NO
xferlog_enable=YES

#默认值为YES,指定FTP数据传输连接使用20端口。若设置为NO,则进行数据连接时,所使用的端口由#ftp_data_port指定。
connect_from_port_20=YES

#日志文件是否使用标准的xferlog日志文件格式(与wu-ftpd使用的格式相同) 。默认为NO
xferlog_std_format=YES

#设置vsftpd服务器是否以standalone模式运行。以standalone模式运行是一种较好的方式,此时listen必
#须设置为YES, 此为默认值,建议不要更改。很多与服务器运行相关的配置命令,需要此运行模式才有效。若#设置为NO,则vsftpd不是以独立的服务运行,要受 xinetd服务的管理控制,功能上会受限制。
listen=YES

#设置vsftpd允许的最大连接数,默认为0,表示不受限制。若设置为150时,则同时允许有150个连接,超出的将拒绝建立连接。只有在以standalone模式运行时才有效。
max_clients=0

#设置每个IP地址允许与FTP服务器同时建立连接的数目。默认为0,不受限制。通常可对此配置进行设置,防止同一个用户建立太多的连接。只有在以standalone模式运行时才有效。
max_per_ip=0

#"listen=YES""listen_ipv6=YES"是不能同时开启,需要一个开启一个关闭
#让vsftpd同时支持IPv4和IPv6
listen_ipv6=NO

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

 

4.按ESC键,输入 :wq 保存修改的配置文件

# :wq

 

5.重启vsftpd服务,即可使用用户密码访问。

用户登录实现文件的上传、下载、删除:

 

用户登录后,需要给该用户设置权限,该用户才可以对文件进行操作。

1.这里创建的admin用户,访问路径在 /home/admin,所以需要给 /home/admin/ 文件下设置777权限

# chmod -R 777 /home/admin/

 

2.重启ftp服务,即可实现匿名用户的上传、下载、删除操作。