简单本地用户配置
创建本地用户
useradd ftpuser
passwd ftpuser
为了服务器的安全,防止木马程序,挖矿,勒索病毒等,也可以复杂点提高服务器的安全性
groupadd ftpgroups
useradd -d /home/ftp/ftptest -g ftpgroups ftptest
usermod -s /sbin/nologin ftptest # 不允许登录linux
usermod -s /bin/bash ftptest #允许用户登录
注意:如果usermod -s /sbin/nologin ftptest
后ftp无法登录,检查如下后再次尝试
[root@izuf616fn1k2l61xnal11vz ~]# cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
## 发现没有 /sbin/nologin
## 资料上说vsftpd会为每个FTP登录用户去在/etc/shells中检查对应的登录shell,因此需要增加一行/sbin/nologin
[root@izuf616fn1k2l61xnal11vz ~]# vim /etc/shells
[root@izuf616fn1k2l61xnal11vz ~]# cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
/sbin/nologin
[root@izuf616fn1k2l61xnal11vz ~]#
创建本地用户登录目录
mkdir /opt/ftp
创建测试文件
touch /opt/ftp/testfile
/etc/vsftpd/vsftpd.conf
# 全局允许写操作
write_enable=YES
# 不允许匿名用户登录
anonymous_enable=NO
####
# 本地用户配置
####
# 允许本地用户登录
local_enable=YES
# 本地用户根目录
local_root=/opt/ftp
# 不限制本地用户随意切换目录
chroot_local_user=NO
# 切换目录例外名单开启
chroot_list_enable=YES
# 例外名单地址
chroot_list_file=/etc/vsftpd/chroot_list
# 用户验证方式
pam_service_name=vsftpd
# 可以解决根目录有写权限,根目录创建文件问题
allow_writeable_chroot=YES
drwxr-xrwx 3 root root 4096 1月 1 21:24 ftp
创建文件,文件夹的权限如下
-rw------- 1 ftpuser ftpuser 0 1月 1 21:32 aa
drwx------ 2 ftpuser ftpuser 4096 1月 1 17:52 ab
该配置效果:
匿名用户无法登录,本地用户可以登录
登录后根目录为:/opt/ftp
可以在根目录下创建文件,文件夹等
不可切换目录到根外
添加用户更换用户登录的家目录为指定目录
https://blog.csdn.net/arnoldlu/article/details/19615435?_t_t_t=0.03399895909393669