[环境配置]centos下 ftp相关配置

前言: 以前对于ftp只专注于用,而忽略了一些细节,近来正好又用到,在这里珠玑下一些相关的问题.

部署:

centos 下安装vsftp

1.为什么要选择vsftp

very security ftp,作为一个出色的ftp服务器,有一系列有点,天然安全与支持高并发等.具体的概念请自行百度.

2.安装步骤(有外网一行解决,连同依赖):

 yum -y install vsftpd

3.配置文件和主目录

配置文件位置: 

/etc/vsftpd/

主要的文件,配置文件:vsftpd.conf,黑名单ftpUsers(禁止登录),userlist,denylist

详解参考:

https://blog.csdn.net/bluishglc/article/details/42273197

默认主目录:

/var/ftp/

4.配置项解读:

#################匿名权限控制###############

anonymous_enable=YES   #是否启用匿名用户
no_anon_password=YES   #匿名用户login时不询问口令

下面这四个主要语句控制这文件和文件夹的上传、下载、创建、删除和重命名。
anon_upload_enable=(yes/no);  #控制匿名用户对文件(非目录)上传权限。
anon_world_readable_only=(yes/no); #控制匿名用户对文件的下载权限
anon_mkdir_write_enable=(yes/no); #控制匿名用户对文件夹的创建权限
anon_other_write_enable=(yes/no); #控制匿名用户对文件和文件夹的删除和重命名

注:匿名用户下载是使用的是nobody这个用户,所以相应的O这个位置要有R权限才能被下载。若想让匿名用户能上传和删除权限,必需设置

write_enable=YES #全局设置,是否容许写入(无论是匿名用户还是本地用户,若要启用上传权限的话,就要开启他)
anon_root=(none) #匿名用户主目录
anon_max_rate=(0) #匿名用户速度限制
anon_umask=(077) #匿名用户上传文件时有掩码(若想让匿名用户上传的文件能直接被匿名下载,就这设置这里为073)
chown_uploads=YES #所有匿名上传的文件的所属用户将会被更改成chown_username
chown_username=whoever #匿名上传文件所属用户名


#################本地用户权限控制###############

write_enable=YES #可以上传(全局控制) 删除,重命名
local_umask=022  #本地用户上传文件的umask
userlist_enable=YES #限制了这里的用户不能访问
local_root  #设置一个本地用户登录后进入到的目录
user_config_dir  #设置用户的单独配置文件,用哪个帐户登陆就用哪个帐户命名
download_enable  #限制用户的下载权限

chown_uploads=YES #所有匿名上传的文件的所属用户将会被更改成chown_username
chown_username=whoever #匿名上传文件所属用户名

chroot_list_enable=YES #如果启动这项功能,则所有列在chroot_list_file之中的使用者不能更改根目录
chroot_list_file=/etc/vsftpd/chroot_list #指定限制的用户文件

user_config_dir= #后面跟存放配置文件的目录。用来实现不同用户不同权限。
   #在vsftpd.conf文件中加入这一句,
   #在相应的目录里面,为每个用户创建自己的配置文件,用来实现不同的权限


可以通过以下三条配置文件来控制用户切换目录。
chroot_list_enable=YES/NO   #设置是否启用chroot_list_file配置项指定的用户列表文件。
      #如果启动这项功能,则所有列在chroot_list_file之中的使用者不能更改根目录 .默认值为yes。

chroot_list_file=/etc/vsftpd/chroot_list #指出被锁定在自家目录中的用户的列表文件。

chroot_list_enable=YES
通过与chroot_local_user=YES/NO搭配能实现以下几种效果:
1、当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd.chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。
2、当chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd.chroot_list文件中列出的用户,不能切换到其他目录;未在文件中列出的用户,可以切换到其他目录。
3、当chroot_list_enable=NO,chroot_local_user=YES时,所有的用户均不能切换到其他目录。
4、当chroot_list_enable=NO,chroot_local_user=NO时,所有的用户均可以切换到其他目录。

参考:https://blog.csdn.net/weixin_34090562/article/details/92883944

常见问题处理:

500 OOPS: vsftpd: refusing to run with writable root inside chroot ()错误的解决方法

参考:https://blog.csdn.net/bluishglc/article/details/42399439

posted @ 2021-07-30 16:33  虹梦未来  阅读(2)  评论(0编辑  收藏  举报  来源