linux中如何部署ftp
ftp 安装及各配置项含义FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。 FTP是File Transfer Protocol(文件传输协议)。顾名思义,就是专门用来传输文件的协议。简单地说,支持FTP协议的服务器就是FTP服务器。可以理解为共享服务器,供用户上传和下载文件;ftp服务器:...
ftp 安装及各配置项含义:
FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。 FTP是File Transfer Protocol(文件传输协议)。顾名思义,就是专门用来传输文件的协议。简单地说,支持FTP协议的服务器就是FTP服务器。 可以理解为共享服务器,供用户上传和下载文件;
ftp服务器: 一个服务器,用于存放大量文件
ftp客户端:N个客户端,能访问ftp服务器的客户端用户ip
下面以两台电脑为例说明
1.1.1.1 为服务端、客户端
1.1.1.2 为客户端
1.安装vsftp和ftp命令
在1.1.1.1节点安装
#yum install -y vsftpd
#yum install -y ftp
在1.1.1.2节点安装
#yum install -y ftp
2.新建目录
mkdir -p /aa/a1 手动建ftp上一级目录
3.添加ftp用户
useradd -d /aa/a1/a1_1 -s /usr/bin/nologin a1_1
-d 后面带的是ftp服务器的路径 不带-d ftp会默认创建在hone目录下 -s /usr/bin/nologin 现在ftp用户只能登录ftp不能登录系统。
a1_1为新增的用户
4.为用户设置密码(输入两次新密码)
passwd a1_1
此时查看cat /etc/passwd 可以看到a1_1:x:504:504::/usr/ftp/a1_1:/bin/bash
5. 修改ftp 配置文件
vim /etc/vsftpd/vsftpd.conf
配置 anonymous_enable=YES => anonymous_enable=NO --不接受匿名用户访问
取消注释 chroot_local_user=YES &增加一项 allow_writeable_chroot=YES --限制所有ftp用户只能在自己的家目录下活动
配置默认为 userlist_enable=YES
#-------------
#userlist_deny=NO
#userlist_file=/etc/vsftpd/user_list :把a1_1 用户加入到/etc/vsftpd/user_list中,每个用户占一行。
(下面两项不配置,则无需在user_list中加用户名)
----------#
6. 打开 /etc/shells后,查看是否有/usr/bin/nologin 没有则插入
7. 重启ftp服务
service vsftpd restart
8.登录FTP
再在1.1.1.2上用a1_1登陆系统ftp服务器:ftp 1.1.1.1 输入正确的用户名和密码 即可登录啦!
==================================================================
vsftpd中关于ftpusers和user_list两个文件的说明以及vsftpd.conf中的userlist_enable和userlist_deny两个配置项的解释
首先请明确一点:ftpusers不受任何配制项的影响,它总是有效,它是一个黑名单!
该文件存放的是一个禁止访问FTP的用户列表,通常为了安全考虑,管理员不希望一些拥有过大权限的帐号(比如root)登入FTP,以免通过该帐号从FTP上传或下载一些危险位置上的文件从而对系统造成损坏。
而user_list则是和vsftpd.conf中的userlist_enable和userlist_deny两个配置项紧密相关的,它可以有效,也可以无效,有效时它可以是一个黑名单,也可以是一个白名单!那么是什么的设置决定了它的作用呢?这就是问题二要解释的。
下面转载了其他文章的解释,说得更清晰易懂。
-------------------------------------
为了说明这个问题,我们来建立两个测试用户:
zaizai: 在user_list中
nono:不在user_list中
然后我们分别给两个配置项取不同的值,分4种Case进行测试:
Case 1: userlist_enable=YES, userlist_deny=YES
zaizai: 拒绝登入
nono: 允许登录
Case 2: userlist_enable=YES, userlist_deny=NO
zaizai: 允许登录
nono:拒绝登录(如user_list文件开头的注释所述,甚至不会提示输入密码,即无登入提示框,直接拒绝连接)
Case 3: userlist_enable=NO,userlist_deny=NO
zaizai: 允许登录
nono: 允许登录
Case 4: userlist_enable=NO,userlist_deny=YES
zaizai: 允许登录
nono: 允许登录
综上实验得出以下结论:
- userlist_enable和userlist_deny两个选项联合起来针对的是:本地全体用户(除去ftpusers中的用户)和出现在user_list文件中的用户以及不在在user_list文件中的用户这三类用户集合进行的设置。
- 当且仅当userlist_enable=YES时:userlist_deny项的配置才有效,user_list文件才会被使用;当其为NO时,无论userlist_deny项为何值都是无效的,本地全体用户(除去ftpusers中的用户)都可以登入FTP
- 当userlist_enable=YES时,userlist_deny=YES时:user_list是一个黑名单,即:所有出现在user_list名单中的用户都会被拒绝登入;
- 当userlist_enable=YES时,userlist_deny=NO时:user_list是一个白名单,即:只有出现在user_list名单中的用户才会被准许登入(user_list之外的用户都被拒绝登入);另外需要特别提醒的是:使用白名单后,匿名用户将无法登入!除非显式在user_list中加入一行:anonymous
更多推荐
所有评论(0)