本机环境CentOS-6.6-i386-bin-DVD1.iso安装盘、安装时选择minimal模式。本机IP地址配置为192.168.0.211。
1、查询系统是否已安装了vsftpd
[[email protected] ~]# rpm -qa | grep vsftpd [[email protected] ~]#
通过yum命令安装vsftpd软件
[[email protected] ~]# yum install -y vsftpd 已加载插件:fastestmirror 设置安装进程 Loading mirror speeds from cached hostfile * base: mirrors.btte.net * extras: mirrors.yun-idc.com * updates: mirrors.neusoft.edu.cn 解决依赖关系 --> 执行事务检查 ---> Package vsftpd.i686 0:2.2.2-13.el6_6.1 will be 安装 --> 完成依赖关系计算 依赖关系解决 ================================================================================ 软件包 架构 版本 仓库 大小 ================================================================================ 正在安装: vsftpd i686 2.2.2-13.el6_6.1 updates 157 k 事务概要 ================================================================================ Install 1 Package(s) 总下载量:157 k Installed size: 344 k 下载软件包: vsftpd-2.2.2-13.el6_6.1.i686.rpm | 157 kB 00:11 warning: rpmts_HdrFromFdno: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 Importing GPG key 0xC105B9DE: Userid : CentOS-6 Key (CentOS 6 Official Signing Key) <centos-6[email protected]> Package: centos-release-6-6.el6.centos.12.2.i686 (@anaconda-CentOS-201410241409.i386/6.6) From : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 运行 rpm_check_debug 执行事务测试 事务测试成功 执行事务 正在安装 : vsftpd-2.2.2-13.el6_6.1.i686 1/1 Verifying : vsftpd-2.2.2-13.el6_6.1.i686 1/1 已安装: vsftpd.i686 0:2.2.2-13.el6_6.1 完毕!
查看是否安装成功
[[email protected] ~]# rpm -qa | grep vsftp vsftpd-2.2.2-13.el6_6.1.i686 [[email protected] ~]#
证明安装成功,启动服务。
[[email protected] ~]# service vsftpd restart 关闭 vsftpd: [失败] 为 vsftpd 启动 vsftpd: [确定]
2、vsftpd配置
vsftpd默认配置是已经打开匿名服务访问的。操作如下:
D:\>ftp ftp> open 192.168.0.211 (linux主机的IP地址) 连接到 192.168.0.211。 220 (vsFTPd 2.0.5) 用户(192.168.0.211:(none)): anonymous 331 Please specify the password. 密码: 230 Login successful. ftp>
如何禁用匿名登录
[[email protected]/]# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak 修改配置前先备份原配置文件 将anonymous_enable=YES 设置为NO [[email protected]/]# vi /etc/vsftpd/vsftpd.conf 12 annonymous_enable=NO [[email protected]/]# service vsftpd restart 重启服务
测试
D:\>ftp ftp> open 192.168.0.211 连接到 192.168.0.211。 220 (vsFTPd 2.0.5) 用户(192.168.0.211:(none)): anonymous 331 Please specify the password. 密码: 530 Login incorrect. 登录失败。 ftp>
登录失败,证明禁用匿名登录配置成功。
创建一个系统用户来登录FTP
[[email protected]/]# useradd -s /sbin/nologin fftp 默认新增加的用户还不能登录,需要修改一下密码。 [[email protected]/]# passwd fftp 修改密码
D:\>ftp ftp> open 192.168.0.211 连接到 192.168.0.211。 220 (vsFTPd 2.0.5) 用户(192.168.0.211:(none)): fftp 331 Please specify the password. 密码: 230 Login successful.
登录成功,新建的系统用户直接就可以登录ftp。默认这些系统用户是没有设置锁定在自己家目录的。测试如下。
ftp> dir 200 PORT command successful. Consider using PASV. 150 Here comes the directory listing. drwxr-xr-x 3 513 513 4096 Apr 13 14:29 Desktop 226 Directory send OK. ftp: 收到 65 字节,用时 0.00秒 65000.00千字节/秒。 ftp> cd .. 250 Directory successfully changed. ftp> dir 200 PORT command successful. Consider using PASV. 150 Here comes the directory listing. drwx------ 5 513 513 4096 Apr 13 14:29 fftp drwx------ 2 511 90 4096 Apr 12 14:04 hacluster drwx------ 6 512 512 4096 Apr 13 13:49 llk 226 Directory send OK. ftp: 收到 190 字节,用时 0.00秒 190.00千字节/秒。 ftp>
可以看到系统用户默认是没有锁定在自己家目录的。那这样不安全。需要配置锁定目录。
[[email protected]/]# vi /etc/vsftpd/vsftpd.conf 去掉前面#号 chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list 限制更多系统用户 然后把所有用户加入/etc/vsftpd/chroot_list 即可 [[email protected]/]# ls /etc/vsftpd/chroot_list 默认chroot_list文件是不存在的,需要我们手动建立 ftpusers user_list vsftpd.conf vsftpd.conf.bak vsftpd_conf_migrate.sh [[email protected]/]# touch /etc/vsftpd/chroot_list [[email protected]/]# cut -d : -f 1 /etc/passwd>>/etc/vsftpd/chroot_list 把本地用户全加入到这个限制文件中 [[email protected]/]# service vsftpd restart 重启服务
测试
D:\>ftp ftp> open 192.168.0.211 连接到 192.168.0.211。 220 (vsFTPd 2.0.5) 用户(192.168.0.211:(none)): fftp 331 Please specify the password. 密码: 230 Login successful. ftp> dir 200 PORT command successful. Consider using PASV. 150 Here comes the directory listing. drwxr-xr-x 3 513 513 4096 Apr 13 14:29 Desktop 226 Directory send OK. ftp: 收到 65 字节,用时 0.00秒 65000.00千字节/秒。 ftp> cd .. 250 Directory successfully changed. ftp> dir 200 PORT command successful. Consider using PASV. 150 Here comes the directory listing. drwxr-xr-x 3 513 513 4096 Apr 13 14:29 Desktop 226 Directory send OK. ftp: 收到 65 字节,用时 0.00秒 65.00千字节/秒。 ftp>
经测试发现用户已经被锁定在自己家目录里了。
系统添加一个用户默认有ftp的登录权限,是不安全的。要一个个设置,有点繁琐。利用ftp用户策略解决这个问题。即user_list文件设置,只有user_list中存在的用户才能登录系统。
[[email protected]/]# vi /etc/vsftpd/vsftpd.conf 在userlist_enable=YES文件后面添加 userlist_deny=NO userlist_file=/etc/vsftpd/user_list [[email protected]/]# service vsftpd restart 重启服务
测试
D:\>ftp ftp> open 192.168.0.211 连接到 192.168.0.211。 220 (vsFTPd 2.0.5) 用户(192.168.0.211:(none)): fftp 530 Permission denied. 登录失败。 ftp>
操作证明配置正确。因为用户fftp没有加入至user_list文件中。所以登录失败。
[[email protected]/]# vi /etc/vsftpd/user_list 将用户加至文件最后一行 [[email protected]/]# service vsftpd restart 重启服务
测试
D:\>ftp ftp> open 192.168.0.211 连接到 192.168.0.211。 220 (vsFTPd 2.0.5) 用户(192.168.0.211:(none)): fftp 331 Please specify the password. 密码: 230 Login successful. ftp>
登录成功。
有时也想限制一用户不能登录ftp
[[email protected]/]# cat /etc/vsftpd/ftpusers 查看限制用户 可以将限制用户加入。用fftp用户测试。 [[email protected]/]# vi /etc/vsftpd/ftpusers 将fftp用户加入文件最后一行 [[email protected]/]# service vsftpd restart 重启服务
测试
D:\>ftp ftp> open 192.168.0.211 连接到 192.168.0.211。 220 (vsFTPd 2.0.5) 用户(192.168.0.211:(none)): fftp 331 Please specify the password. 密码: 530 Login incorrect. 登录失败。 ftp>
登录失败。证明限制用户已起作用。
时间: 2024-10-24 16:26:15