首先网络、防火墙方面的基本要求要满足,比如静态ip、防火墙是否可以通过ftp的流量。
就可以开始搭建ftp服务器了,我们使用vsftpd这款ftp服务软件。(文中包含匿名访问及用户验证的相关配置,基于虚拟用户的配置将会在下一篇写)
-----安装vsftpd并匿名访问:
1、准备好vsftpd软件的安装包(系统盘里也有),安装vsftpd服务。
安装以后执行systemctl start vsftpd
启动vsftpd就可以匿名访问ftp服务器了,虽说匿名,不过也是有相应的系统账号 “ ftp ” 。默认匿名用户的ftp根目录是/var/ftp/
,只有读取的权限,而且本地/var/ftp/目录对ftp账号要有相应的权限)如若匿名用户需要更大的权限,可以更改 vsftpd 服务的配置文件
2、打开vsftpd服务的配置文件
3、为了方便预览,我把大多数注释的内容都删除了
4、以下为匿名用户权限最大的配置文件信息:
匿名用户常见配置项的含义说明:
- anonymous_enable=YES:是否允许匿名访问;
- anon_umask=022:设置匿名用户所上传文件的默认权限掩码值;
- anon_root=/var/ftp:设置匿名用户的FTP根目录;
- anon_upload_enable=YES;是否允许匿名用户上传文件;
- anon_mkdir_write_enable=YES:是否允许匿名用户由创建目录的写入权限;
- anon_other_write_enable=YES:是否允许匿名用户有其他写入权限,如对文件改名、覆盖及删除文件等;
-----基于用户验证的FTP服务:
以下是需要用户验证的 ftp 服务配置文件,配置文件的默认路径为/etc/vsftpd/vsftpd.conf
以上配置文件最终的效果是,每个系统用户都可登录ftp服务器,并且权限最大,ftp的默认根目录为系统用户的宿主目录下。(对于本地系统用户设置权限,直接更改用户宿主目录的权限更方便些)
关于本地用户常见的配置项及含义说明:
- local_enable=YES:是否允许本地用户访问;
- local_umask=022:设置本地用户所上传文件的默认权限掩码值;
- local_root=/var/ftp:设置本地用户的FTP根目录(默认为用户的宿主目录);
- chroot_local_user=YES:是否将FTP本地用户禁锢在宿主目录中;
- allow_writeable_chroot=YES:允许被限制用户的主目录具有写权限;
- local_max_rate=0:限制本地用户的最大传输速率(0为无限制),单位为字节/秒(B/s)
在/etc/vsftpd/目录下还有两个配置文件ftpusers
和userlist
- ftpusers文件:此文件中列出的用户将禁止登录vsftpd服务器。默认包含root、bin、daemon等用于系统运行的特殊用户;
- user_list文件:此文件中包含的用户可能被禁止,可能被允许,具体取决于主配置文件vsftpd.conf中的设置,当存在“userlist——enable=YES”时,user_list列表文件方可生效,若继续指定“userlist_deny=YES”,则功能与ftpusers文件一样,表示禁止此列表中的用户登录;若指定“userlist_deny=NO”,则仅允许列表中的用户登录。
原文地址:https://blog.51cto.com/14154700/2356587
时间: 2024-10-04 03:20:32