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

相关文章
|
3天前
|
弹性计算 缓存 安全
阿里云服务器ECS收费标准参考,2核4G配置ECS实例规格整理
阿里云提供多种2核4G ECS实例,如计算型c7、经济型e、u1等,价格不等,从68.0元/月到203.0元/月。ECS通用算力型u1实例采用高性能Intel处理器,网络收发包能力达30万PPS。经济型e实例基于Intel Xeon Platinum,适合入门级需求。2核4G服务器支持的并发访问人数依赖于软件效率、带宽、应用架构和用户行为等因素。更多信息请查看阿里云ECS产品页。
|
4天前
|
存储 缓存 运维
云计算中的服务器选型与配置:技术深度解析
【6月更文挑战第29天】云计算服务器选型与配置深度解析:关注业务需求、技术要求及成本效益。重点包括CPU、内存、存储和网络配置的优化,结合负载均衡、缓存、虚拟化和自动化运维策略,以提升性能和效率,确保云服务的稳定与高效。
|
6天前
|
前端开发 小程序 应用服务中间件
在服务器上正确配置域名https证书(ssl)及为什么不推荐使用宝塔申请免费ssl证书
在服务器上正确配置域名https证书(ssl)及为什么不推荐使用宝塔申请免费ssl证书
42 4
|
9天前
|
运维 Java 测试技术
Spring运维之boo项目表现层测试加载测试的专用配置属性以及在JUnit中启动web服务器发送虚拟请求
Spring运维之boo项目表现层测试加载测试的专用配置属性以及在JUnit中启动web服务器发送虚拟请求
15 3
|
11天前
|
存储 数据库连接 数据库
如何使用Python上传文件到FTP服务器
如何使用Python上传文件到FTP服务器
13 1
|
12天前
|
存储 并行计算 数据处理
蓝易云 - 香港站群服务器1C,4C,8C,16C的配置介绍
以上是对服务器CPU核心数量的基本解释,但实际的服务器配置还会包括其他因素,如内存大小、存储类型和网络带宽等。这些因素都会影响服务器的性能和适用场景。
28 2
|
15天前
配置的代理服务器未响应怎么办
配置的代理服务器未响应怎么办
26 2
|
1天前
|
存储 NoSQL 关系型数据库
MongoDB的配置服务器和复制机制
【7月更文挑战第2天】MongoDB配置服务器存储分片和权限元数据,支持在主节点故障时保持读服务。关键组件,性能影响显著。复制集包含Primary和Secondary,通过oplog实现数据同步,类似MySQL binlog。oplog的幂等性可能导致大量set操作,且大小受限,可能导致从节点需全量同步。读写分离提升效率,主从切换确保高可用。
3 0
|
弹性计算 网络协议 Linux
|
4天前
|
弹性计算 安全 Shell
阿里云ECS安全加固:从访问控制到数据保护的全方位策略
【6月更文挑战第29天】阿里云ECS安全聚焦访问控制、系统加固及数据保护。安全组限定IP和端口访问,密钥对增强SSH登录安全;定期更新补丁,使用防病毒工具;数据备份与加密确保数据安全。多维度策略保障业务安全。
34 15