RHEL6.3配置FTP服务器(2) 本地用户下载和上传

简介:

在上篇博文中我们实现了匿名用户的下载和上传,但在更多情况下我们需要对访问FTP的用户进行身份验证,这就需要设置FTP用户。

vsftpd可以直接使用Linux系统的本地用户作为FTP用户,提供基于用户名/密码的登录验证。使用本地用户登录FTP服务器后,默认将位于用户自己的主目录中,且具有读写权限。如利用zhangsan用户访问ftp,那么默认将进入到的目录是/home/zhangsan。


配置文件/etc/vsftpd/vsftpd.conf中关于本地用户的默认设置:
065437445.jpg

系统默认已经允许系统用户访问,由于系统用户默认只能访问自己的用户主目录,所以自然就具备了写入的权限,写入时的umask值也是022。

下面我们先创建一个系统用户ftpuser,为其设置密码,并在它的主目录中放置一个测试文件:
# useradd ftpuser
# passwd ftpuser
# echo ‘ftp test’ > /home/ftpuser/ftptest.txt
然后在Windows客户端利用资源管理器测试访问,在空白界面点击右键之后选择“登录”,输入用户名ftpuser及密码就可以进入到用户的主目录中,并具备写入权限。

也可以在客户端通过ftp命令行访问:
065554918.jpg

注意,系统用户虽然默认访问到的是自己的主目录,但是却可以用cd命令切换到服务器端任何具备访问权限的目录,比如切换到/etc/目录:

065659659.jpg

而这会带来很大的安全风险,所以一般都需要将系统用户禁锢于其主目录中,禁止随意切换。在vsftpd.conf文件中增加一行“chroot_local_user=YES”:

065741613.jpg

“chroot_local_user=YES”的作用就是将用户禁锢在自己的主目录中。vsftpd.conf文件对设置项目的位置没有要求,这项设置可以放在文件中的任意位置。
设置完成后,保存退出,重启服务:
# service vsftpd restart
在客户端利用命令行重新登录,此时再切换到其它目录时便会被拒绝。

如果希望系统用户在登录时也是访问ftp服务的主目录/var/ftp,可以在配置文件中再增加一行“local_root=/var/ftp”:

065912160.jpg

保存退出,重启服务。
然后在客户端再次用ftpuser的身份访问ftp服务器,此时就是进入到了ftp的主目录中。


设置用户列表

默认设置下,FTP服务器中的所有系统用户都可以访问FTP,如何来限定只有指定的用户可以访问呢?


vsftpd中提供了2个与本地用户相关的配置文件:/etc/vsftpd/ftpusers、/etc/vsftpd/user_list,这两个文件中均包含一份FTP用户名的列表,但是它们的作用截然不同。

  • /etc/vsftpd/ftpusers,这个文件中包含的用户账号将被禁止登录vsftpd服务器,不管该用户是否在/etc/vsftpd/user_list文件中出现。通常将root、bin、daemon等特殊用户列在该文件中,禁止用于登录FTP服务。

  • /etc/vsftpd/user_list,该文件中包含的用户账户可能被禁止登录,也可能被允许登录,具有在主配置文件vsftpd.conf中决定。当存在“userlist_enable=YES”的配置项时,/etc/vsftpd/user_list文件生效,如果配置“userlist_deny=YES”,则仅禁止列表中的用户账户登录,如果配置“userlist_deny=NO”,则仅允许列表中的用户账户登录。

综合来看,/etc/vsftpd/ftpusers文件为vsftpd服务提供了一份用于禁止登录的FTP用户列表,而/etc/vsftpd/user_list文件提供了一份可灵活控制的FTP用户列表。通常都是将二者相互结合使用。
比如在配置文件中进行如下设置:

070308198.jpg

“userlist_enable=YES”是系统的默认设置,表示启用userlist用户列表。
“userlist_deny=NO”是我们后来添加的,表示只允许列表中的用户登录。
这份列表中默认存在的用户与ftpusers中是一样的,这些用户都禁止登录。
我们在其中添加ftpuser

070441250.jpg

保存退出,重启服务。
然后在客户端测试,此时只有ftpuser用户才可以访问FTP。



本文转自 yttitan 51CTO博客,原文链接:http://blog.51cto.com/yttitan/1218577

相关文章
|
7天前
|
消息中间件 安全 Unix
SSH配置多台服务器之间的免密登陆以及登陆别名
SSH配置多台服务器之间的免密登陆以及登陆别名
18 1
|
22天前
|
弹性计算
2024年阿里云服务器不同实例规格与配置实时优惠价格整理与分享
2024年阿里云服务器的优惠价格新鲜出炉,有特惠云服务器也有普通优惠价格,本文为大家整理汇总了2024年阿里云服务器的优惠价格,包含特惠云服务器和其他配置云服务器的优惠价格。以便大家了解自己想购买的云服务器选择不同实例规格和带宽情况下的价格,仅供参考。
2024年阿里云服务器不同实例规格与配置实时优惠价格整理与分享
|
4天前
|
存储 弹性计算 安全
阿里云服务器2核2G、2核4G配置最新租用收费标准及活动价格参考
2核2G、2核4G配置是很多个人和企业建站以及部署中小型的web应用等场景时首选的云服务器配置,这些配置的租用价格也是用户非常关心的问题,本文为大家整理汇总了2024年阿里云服务器2核2G、2核4G配置不同实例规格及地域之间的收费标准,同时整理了这些配置最新活动价格,以供大家参考和选择。
阿里云服务器2核2G、2核4G配置最新租用收费标准及活动价格参考
|
7天前
|
域名解析 网络协议 应用服务中间件
阿里云服务器配置免费https服务
阿里云服务器配置免费https服务
|
10天前
|
数据采集
robots.txt配置 减小服务器压力
robots.txt配置 减小服务器压力
13 0
|
13天前
|
Ubuntu 网络安全 数据安全/隐私保护
ubuntu篇-配置FTP服务,本机和docker安装
通过以上步骤,你可以在Ubuntu上配置FTP服务,无论是本机安装还是Docker内安装,都可以提供FTP文件传输服务。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
20 1
|
21天前
|
网络协议 Linux 网络安全
Linux服务器DNS服务器配置实现bind的正向解释和反向解释
Linux服务器DNS服务器配置实现bind的正向解释和反向解释
17 0
|
11月前
|
存储 算法 Linux
【Linux网络服务】Centos7搭建FTP服务器
【Linux网络服务】Centos7搭建FTP服务器
|
Web App开发 Ubuntu Linux
Ubuntu Linux下搭建FTP服务器图解
1 首先用命令检查是否安装了vsftpd vsftpd -version 如果未安装用一下命令安装 apt-get install vsftpd 安装完成后,再次输入vsftpd -version命令查看是否安装成功 2 新建一个文件夹用于FTP的工作目录 mkdir /home/ftp 3 新建FTP用户并设置密码以及工作目录 ftpna
3925 0
|
Linux 数据安全/隐私保护 安全