Linux FTP配置匿名用户访问

Linux FTP配置匿名用户访问匿名用户首先要配置的就是配置文件中的 anonymous enable YES 这一项 默认情况下是允许匿名访问 在 Windows 系统用命令行去匿名访问 FTP 也还是要输入用户名和密码的 匿名用户提供了专门的两个匿名账号来供使用 anonymous 和 ftp 无需输入密码 登陆成功后 使用 ls 命令列表显示 get 下载 put 上传 在系统中也有与匿名用户 ftp 相对应的用户 这样对于匿名用户有什

  1. 匿名用户首先要配置的就是配置文件中的“anonymous_enable=YES”这一项,默认情况下是允许匿名访问,在Windows系统用命令行去匿名访问FTP,也还是要输入用户名和密码的,匿名用户提供了专门的两个匿名账号来供使用“anonymous和ftp”无需输入密码,登陆成功后,使用ls命令列表显示,get下载,put上传。
  2. 在系统中也有与匿名用户“ftp”相对应的用户,这样对于匿名用户有什么权限,就是设置ftp用户的权限,
  3. 如果客户端访问不成功,可能是由于服务端的防火墙和selinux没关导致的;匿名用户在访问FTP服务时只能访问FTP主目录/var/ftp,不能切换到别的目录访问;如果想访问别的目录,那就要用户对于目录有权限。
  4. 设置匿名用户上传,vsftpd服务默认是允许匿名用户访问并提供下载的功能,但考虑安全性,匿名用户无法上传,要想让匿名用户可以上传文件,就必须对vsftpd的配置文件和共享目录的系统权限进行设置,当然,在实际中,是不建议给匿名用户太多权限的:
  1. 在配置文件/etc/vsftpd/vsftpd.conf中,“#anon_upload_enable=YES(允许匿名用户上传,默认是不行的,被注释掉)”和“#anon_mkdir_write_enable=YES(允许匿名用户创建目录,默认是不行)”这两项与匿名用户上传的权限设置相关。
  2. 然后修改默认访问的目录的系统权限,FTP默认目录/var/ftp目录是不允许修改权限的,目录下还有个pub子目录,可以修改这个目录的权限来允许匿名用户上传。
  3. 修改完权限匿名用户能上传和创建目录后,但如果想删除里面的文件的话,还需要在配置文件中添加一个设置项“anon_other_write_enable=YES”表示允许匿名用户删除文件
  1. 配置本地用户访问FTP:
  1. 在Windows客户端,当匿名访问和本地访问同时开启,访问是默认使用匿名访问的,如果像切换用户,就右键点击登录输入用户名和密码。
  2. 要使用系统用户登录访问FTP,就要将配置文件中“local_enable=YES”开启,使用系统用户访问,默认是访问的用户的家目录,而不是/var/ftp目录,因为系统用户访问的是自己的家目录,所以默认是可以上传文件的。
  3. 如果希望系统用户在访问FTP时,访问的是FTP主目录/var/ftp,而不是家目录,可以在配置文件/etc/vsftpd/vsftpd.conf再新添加一行“local_root=/var/ftp”来指定访问的目录,也可以自己随意指定。
  4. 这样在修改了访问的主目录后,默认就是没有权限进行上传的,在配置文件中时允许上传,但在系统层面,还是不允许客户端对主目录进行上传,我们还是可以通过修改主目录下的子目录的权限或新建别的子目录的权限来让客户端进行上传。
  5. 禁锢用户于指定的目录,默认情况下,当系统用户去访问FT[服务时,虽然访问的是自己的家目录或指定的目录,但是都可以通过cd命令切换到服务端的其他用户具有访问权限的目录,这样就会存在安全隐患,所以就需要将系统用户禁锢在指定的目录中,禁止随意切换目录。
  6. 禁锢这个操作需要用到“chroot_local_user=YES”设置项,这个设置项位于vsftpd配置文件的101行,默认是被注释状态,启用该项并重启保存配置后,就可以将用户禁锢在自身家目录或指定的FTP主目录中,当客户端再次登录访问FTP后,就只能在他自己的家目录或指定的FTP主目录中访问。
  7. 要注意的是,在vsftpd.conf配置文件中启用了“chroot_local_user=YES”配置项后,当启用了禁锢的设置项,同时用户还对自己访问的主目录有写入权限,例如,如果系统用户对所访问的FTP主目录具有写入权限,则会拒绝用户登录,如果是访问的是家目录,默认拥有写入权限,禁锢在家目录中,就会导致拒绝登录

如果想要既能用户对主目录有写入权限,又能禁锢在主目录中,就需要在配置文件中再添加一个新的设置项“allow_writeable_chroot=YES”重新加载配置文件就可以是实现正常访问了。

如果我们只想来禁锢指定的用户,还可以永固配置chroot_list列表来禁锢部分指定的用户,在配置文件的102和104行有两个和chroot_list相关的设置项“chroot_list_enable=YES”表示启用chroot_list的功能;“chroot_list_file=/etc/vsftpd/chroot_list”表示指定列表文件,将这个两个配置项启用之后,只需要将需要禁锢的用户添加到列表文件中即可,同时在配置文件中我们还需要将“chroot_local_user”这项注释掉。

从安全上来看,一般建议启用将所有用户禁锢的设置项。

  1. 配置用户访问列表访问FTP服务:

默认设置情况下,FTP服务器中的所有系统用户都可以进行访问FTP服务,如果想只有指定的用户能访问,就可以设置访问用户列表,来限制是否能访问FTP服务

Vsftpd服务默认提供了两个访问用户列表的文件:/etc/vsftpd/ftpuser,/etc/vsftpd/user_list,两个文件中均包含有一份FTP用户的列表名单:

·/etc/vsftpd/ftpuser:这个文件是属于黑名单,里面包含的用户账号都将被禁止访问FTP服务,无论是否这个用户在另一个/etc/vsftpd/user_list文件中出现,一般是将“root”“bin”“daemon”等特殊用户放在这个文件中,禁止访问FTP。

·/etc/vsftpd/user_list:这个文件可以用作白名单,也可以用作黑名单,就是意味着这个文件里包含的用户既有可能被禁止登录,也有可能被允许登录,当然,我们一般是拿来做白名单,具体如何使用,需要修改配置文件/etc/vsftpd/vsftpd.conf中的“userlist_enable=YES”设置项,表示是否启用user_list这个文件,启用后,添加设置项“userlist_deny=YES”表示文件将作为黑名单使用;添加“userlist_deny=NO”表示将文件作为白名单使用,通常情况下都是作为白名单使用。

注意的是,当启用了用户列表后,即使将“anonymous_enable”设置项设为“YES”,也没法使用匿名用户访问FTP,匿名访问就被禁用了。

  1. 一般来说,使用本地系统用户登录访问FTP服务的话,相对应的shell是可以登陆系统的用户,这样的话就意味着有安全隐患,按理来说,应该是不能登陆系统的本地用户也可以访问FTP服务,/etc/shells这个文件中就包含了所支持的shell类型,所以将“/sbin/nologin”这个shell添加到这个文件中,就可以实现不能登陆系统的用户可以访问FTP服务。

能够访问FTP服务器的条件:·必须是存在于/etc/passwd文件中的用户;用户必须设置密码

  1. /etc/vsftpd/vsftpd.conf中的“local_umask”设置项,用文件(666)或系统最高权(777)限减去umask值表示在系统中当前用户创建目录或文件的默认权限,所以这个设置项代表系统用户来上传或创建文件或目录的权限是什么
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232629.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 复杂json转MAP对象

    复杂json转MAP对象普通json对象或者字符串转换map或者实体就不说了,这里主要提供复杂json转map的方法,直接上java代码了:publicclassJsonUtils{ /** *类描述:复杂json字符串转换为Map,包含数组时value为List。 */ publicstaticMapjson2Map(Stringjson){ LinkedMap

    2022年6月16日
    24
  • c语言调用bool函数,C语言中 bool的用法

    c语言调用bool函数,C语言中 bool的用法布尔型(bool)变量的值只有真(true)和假(false)。布尔型变量可用于逻辑表达式,也就是“或”“与”“非”之类的逻辑运算和大于小于之类的关系运算,逻辑表达式运算结果为真或为假。bool可用于定义函数类型为布尔型,函数里可以有returnTRUE;returnFALSE之类的语句。布尔型运算结果常用于条件语句:if(逻辑表达式){如果是true执行这里;}else{…

    2022年5月24日
    43
  • 如何安装java-jdk「建议收藏」

    之前第一次安装java-jdk时,因为不太懂,中间出新了很多问题,所以这次安装想记录下。1.进入oracle官网:www.oracle.com2.将Accept前选中,下载jdk,3.打开下载文件夹,双击程序安装4.安装时可以修改路径,这里选择默认路径C:\ProgramFiles\Java\jdk-11.0.25.发现安装完成后并不能使用因为javac.exe在C:\Pr…

    2022年4月5日
    41
  • 联想开天 N7 评测

    联想开天 N7 评测开天N7系列笔记本电脑基于兆芯开先KX-6640MA处理器平台,搭配16GB双通道内存和512GBNVMe高速SSD,辅以国产BIOS、OS定制调优;1.29kg超轻单机重量,14.6mm极致纤薄全金属机身;14英寸2.2k16:10显示屏,91%屏占比;支持单手极限180度开盖;率先在国产笔记本引入WiFi6和蓝牙5.0;搭配联想专用芯片的创新智能控制方案,具备光感自动化、开盖即开机、快速充电、充电宝模式等多重独有功能;双风扇双热管散热系统,搭配61Wh

    2022年5月10日
    65
  • 一些好玩的cmd命令_好玩cmd命令

    一些好玩的cmd命令_好玩cmd命令前言:CMD是什么?在windows环境下,命令行程序为cmd.exe。是一个32位的命令行程序,微软Windows系统基于Windows上的命令解释程序。类似于微软的DOS操作系统。输入一些命令,cmd.exe可以执行。比如输入shutdown-s就会在30秒后关机。总之,它非常有用。很多朋友往往都对黑客比较崇拜,其实黑客也只是比我们知道更多一些我们所不了解的电脑相关命令。在使用中…

    2022年9月22日
    2
  • css基础选择器有哪些

    css基础选择器有哪些css基础选择器有哪些(熟记)一、选择器作用:规范了页面中哪些元素能够定义好样式,同时也能帮助我们去二、选择器分类1.通用选择器(只能放在样式表)1.作用:匹配页面上的所有元素 2.语法:* 3.*{ 属性:属性值; }2.元素择器1.作用:匹配页面上某个元素的样式2.语法: 3.元素名{ 属性:属性…

    2025年5月24日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号