个人技术分享

1、本地用户基本配置档设置如下

vim /etc/vsftpd/vstfpd.conf

local_enable=YES  -------允许本地用户登陆

write_enable=YES -----允许执行FTP命令,如果禁用,将不能进行上传、下载、删除、重命名等操作

local_umask=022  ---------本地用户上传umask值

注:默认为登录帐号的家目录。

2、创建自定义的登录ftp目录

mkdir /tmp/ftp

设置selinux上下文

semanage fcontext -a -t public_content_rw_t '/tmp/ftp(/.*)?'

restorecon -Rv /tmp/ftp/

3、在配置档中加入以下参数,修改用户登录的目录

vim /etc/vsftpd/vstfpd.conf

local_root=/tmp/ftp  ------设置本地用户的FTP根目录

chroot_local_user=YES  ------把用户限制到指定目录或主目录,即开启用户目录限

allow_writeable_chroot=YES  -------用户被限制在主目录,充用户对主目录写权限否者登录报错。

anon_other_write_enable=yes  ------允许查看删除文件和目录客戶端ls報425 Failed to establish

reverse_lookup_enable=NO 关闭DNS反向解析,提高登录速度,默认为开启

4、重启生效

systemctl restart vsftpd

5、创建ftp测试帐号

useradd test  #创建测试帐号

echo redhat | passwd --stdin test  #设定相关密码

groupadd tg  #创建tg组

gpasswd -a test tg  #把创建本地用户添加tg组中

chown root:tg /tmp/ftp #修改目录的所属组

chmod 775/tmp/ftp  #修改目录权限

注:按上面操作后,本地用户才能正常上传文件,6-7步骤为特殊设置,可根据需要配置。

6、排除特殊用户不受限制

开启用户目录限制后,排除特殊用户不受限制,方法如下:

vim /etc/vsftp.conf

Chroot_list_enable=YES

Chroot_list_file=/etc/vsftpd/chroot_list ----写入些文件的用户,可以访问任何目录。

注:vim /etc/vsftpd/chroot_list需手动创建chroot_lis文件,如果不创建,其他用户也将不能使用。

7、通过文件限制用户访问

7.1通过白名限制

7.2、通过黑名限制