查询是否有vsftpd服务:
- 查找是否有安装指定的软件
[root@iZhp ~]# rpm -qa|grep vsftpd
vsftpd-3.0.2-27.el7.x86_64 #没有值,表示没有被安装
- 安装vsftpd
[root@iZhp ~]# yum install vsftpd
- 查看安装在那个目录下
[root@iZhp ~]# which vsftpd
/usr/sbin/vsftpd
- 启动服务
设置为开机启动: systemctl enable vsftpd.service
[root@iZhp ~]# systemctl start vsftpd.service
- 查看服务
systemctl restart vsftpd.service # 重启服务
systemctl start vsftpd.service # 启动服务
systemctl status vsftpd.service # 服务状态查看
- 查看版本
[root@iZhp vsftpd]# vsftpd -version
vsftpd: version 3.0.2
- 创建vsftpd文件目录
/data/vsftpd_data
-
添加vsftpd用户
1. useradd -d /data/vsfpd_data -s /bin/bash lemon 创建用户操作的目录和使用的shell 2. passwd lemon 为用户设置密码
[root@iZhp data]# useradd -d /data/vsfpd_data -s /bin/bash lemon
[root@iZh data]# passwd lemon
Changing password for user lemon.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
[root@iZZ data]#
- 添加用户组
[root@iZhp data]# groupadd ftpgroup
- vsftpd.conf 文件配置
cd /etc/vsftpd
cp vsftpd.conf vsftpd.conf.bak
vim vsftpd.conf
#去掉前面的注释
chroot_local_user=YES
ascii_upload_enable=YES
ascii_download_enable=YES
#文件末尾添加
allow_writeable_chroot=YES
#保存文件
#重新启动vsftpd服务
- 设置用户是否可以登录
在、etc/shells
设置用户是否可以通过ssh进行shell登录。
可以看到禁止登录的shell文件为/usr/sbin/nologin,然后执行如下命令:
usermod -s /usr/sbin/nologin lemon
如果要恢复tomas的ssh登录,执行如下命令:
usermod -s /bin/bash lemon
-
基本配置文件 在/etc/vsftpd/ 目录下
1. /etc/vsftpd/vsftpd.conf 主配置文件 2. /etc/vsftpd/ftpusers 文件中的用户不能访问。 3. /etc/vsftpd/user_list 指定的用户默认情况(即在/etc/vsftpd/vsftpd.conf中设置了userlist_deny=YES)下也不能访问 4. 在/etc/vsftpd/vsftpd.conf中设置了userlist_deny=NO时,允许/etc/vsftpd.user_list中指定的用户访问
-
限制用户访问目录 vsftpd.conf 配置项:
1. chroot_local_user 是否将用户限制在指定目录YES:启用 NO:禁用
2. chroot_list_enable 是否使用限制用户的名单(默认注释,注释表示禁用),与chroot_list_file配置一起使用
3. chroot_list_file = /etc/vsftpd/chroot_list 限制文件路径 -
访问ftp 至此可以访问使用新建的用户访问ftp服务器,注意服务器的ftp端口是否可被访问。