Linux下搭建FTP示例(匿名用户)

P.S.这段时间一直在忙,自己私下里学的一些东西没时间放到CSDN上,这次就一下子放上来吧。


目录

搭建FTP示例(匿名用户)

第一步:安装FTP服务端

第二步:修改配置文件/etc/vsftpd/vsftpd.conf中的......

第三步:启动FTP服务

第四步:开放FTP对应的端口(关闭防火墙也是可以的,但我们一般都不这么做)

第五步:修改selinux

第六步:启动(或重启)FTP服务

第七步:访问测试一下

附录:本文最终的/etc/vsftpd/vsftpd.conf配置文件


环境说明:
        1、CentOS7虚拟机
         2、vsftpd版本:vsftpd-3.0.2-25.el7.x86_64


搭建FTP示例(匿名用户)

第一步:安装FTP服务端

可详见:https://blog.csdn.net/justry_deng/article/details/87966318

第二步:修改配置文件/etc/vsftpd/vsftpd.conf中的anonymous_enable值
              为YES(即允许匿名用户登录),并将被注释了的
              anon_upload_enable=YES和anon_mkdir_write_enable=YES解
              开注释,使其生效(这样匿名用户就可以下载上传文件),其余的配置
              不变:

注:匿名用户如果想要通过FTP创建文件夹,除了anonymous_enble=YES和anon_mkdir_write_enable=YES外,还
       需要匿名用户对上层目录有写的权利。如:匿名用户想在/var/ftp/anonymous_user_dir目录下创建文件夹,那么必
       须保证匿名用户对/var/ftp/anonymous_user_dir目录有写的权利(属于权限块儿了),可根据实际情况设置,如果不
       清楚的话,可以通过chmod指令将权利开放到777最大,如:

这样一来,匿名用户登录FTP时在/var/ftp/anonymous_user_dir目录下就能够创建文件夹了。

注:与创建目录类似,如果要下载文件,除了FTP的配置外,还需要在系统上配置匿名用户对文件至少有读的权利才行。

注:匿名用户的删略权限等配置,可详见配置大全章节。

第三步:启动FTP服务

相关指令有(简述):

指令

说明

/bin/systemctl status vsftpd.service

查看FTP服务的状态

/bin/systemctl start vsftpd.service

启动FTP

/bin/systemctl enable vsftpd.service

设置FTP开机自动启动

注:最好设置为开机自动启动。

注:更多指令、指令细节可详见https://blog.csdn.net/justry_deng/article/details/87966318

第四步:开放FTP对应的端口(关闭防火墙也是可以的,但我们一般都不这么做)

相关指令有(简述):

指令

说明

firewall-cmd --zone=public --list-ports

查看所有开放的端口

firewall-cmd --zone=public --add-port=xxx/tcp --permanent

开放端口xxx

firewall-cmd --reload

重新加载防火墙

systemctl stop firewalld.service

关闭firewall防火墙

systemctl disable firewalld.service

禁止firewall防火墙开机启动

firewall-cmd --state

查看默认防火墙状态(关闭后显示not running,开启后显示running)

注:更多指令、指令细节可详见《程序员成长笔记(第一部)》。

第五步:修改selinux

使用getsebool -a | grep ftp指令查看selinux对ftp的权限管理:

发现最关键的ftpd_full_access项和tftp_home_dir项是关闭了的,这时我们需要使用setsebool -P allow_ftpd_full_access on指令和setsebool -P tftp_home_dir on指令来分别开启ftpd_full_access和tftp_home_dir,开启后再查看如图所示:

注:其它的选项可根据实际情况来进行设置。

注:上述指令是永久有效的(即:关机重启后仍然有效),如果只是想临时改一下(重启后会失效),那么只需要将上述
        指令去掉-P参数即可,如:

提示:如果想关闭,只需要将指令中对应的on改为off即可。

与selinux的相关的指令还有:

指令

说明

getsebool -a | grep ftp

查看selinux对ftp的权限管理

setsebool -P allow_ftpd_full_access on

永久开启ftpd_full_access

注:重启后仍然有效

setsebool -P tftp_home_dir on

永久开启tftp_home_dir

注:重启后仍然有效

setsebool allow_ftpd_full_access on

临时开启ftpd_full_access

注:重启后失效

setsebool tftp_home_dir on

临时开启tftp_home_dir

注:重启后失效

SELinux的打开与关闭

getenforce

查看SELinux的状态

注:Permissive说明SELinux是关闭了的,Enforcing说明SELinux是开启了的

setenforce 0

临时关闭SELinux

注:重启后失效

setenforce 1

临时打开SELinux

注:重启后失效

vim /etc/sysconfig/selinux,将SELINUX=enforcing改为SELINUX=disabled

永久关闭SELinux

注:重启系统后生效(手动重启或使用reboot指令重启)

vim /etc/sysconfig/selinux,将SELINUX=disabled改为SELINUX=enforcing

永久开启SELinux

注:重启系统后生效(手动重启或使用reboot指令重启)

注:更多指令、指令细节可见相关章节。

第六步:启动(或重启)FTP服务

相关指令有(简述):

指令

说明

/bin/systemctl start vsftpd.service

启动FTP

/bin/systemctl restart vsftpd.service

重启FTP

/bin/systemctl status vsftpd.service

查看FTP服务的状态

注:更多指令、指令细节可详见https://blog.csdn.net/justry_deng/article/details/87966318

第七步:访问测试一下

本人的Linux下的/var/ftp目录是这样的:

浏览器访问ftp://192.168.2.103/就默认进入了/var/ftp目录下:

 

注:匿名用户连接登录FTP时,如果需要输入用户名,那么用户名使用ftp或anonymous,密码为空即可。

注:匿名用户登录FTP后,对应的即进入了Linux上的/var/ftp目录(可在FTP的主配置文件中通过如anon_root选
       项来设置),且不能切换至上级目录(即:不能离开此根目录)。

注:匿名用户登录操作FTP时,需要有对应目录的权限才行,否者会报
       500 OOPS: vsftpd: refusing to run with writable root inside chroot()等错误。

注:匿名用户属于【所有者】、【组】、【其他】中的【其他】,所以必有保证【其他】至少/var/ftp目录的可读(4)、
        可执行(1)权限才行。 如:chmod -R 775 /var/ftp指令,设置775的权限。

附录:本文最终的/etc/vsftpd/vsftpd.conf配置文件:

anonymous_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

 

声明一:此文为学习笔记。

声明二:此笔记是本人2019年2月上中旬所记,期间参考了一些博客、资料、书籍,甚是遗憾记不住参考了哪些的了。
               如若涉及侵权,请及时联系本人。

^_^ 如有不当之处,欢迎指正

^_^ 本文已经被收录进《程序员成长笔记(四)》,笔者JustryDeng

猜你喜欢

转载自blog.csdn.net/justry_deng/article/details/87967110