linux系统快速搭建ftp服务器——实现匿名用户和创建用户访问服务器
一、准备工作:
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.1~192.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服务,即可实现匿名用户的上传、下载、删除操作。