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

简介:

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

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


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

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

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

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

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

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

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

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

保存退出,重启服务。
然后在客户端再次用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用户列表。通常都是将二者相互结合使用。
比如在配置文件中进行如下设置:

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

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



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

相关文章
|
3月前
|
网络协议 安全 Linux
如何配置Linux端的ftp?
如何配置Linux端的ftp?
157 64
|
2月前
|
Linux 网络安全
FTP被动模式配置
FTP被动模式配置
120 1
|
2月前
|
网络协议 文件存储 Windows
Windows Server 2019 FTP服务器搭建
Windows Server 2019 FTP服务器搭建
|
2月前
|
安全 网络协议 网络安全
Windows Server 2003 FTP服务器搭建
Windows Server 2003 FTP服务器搭建
|
2月前
|
弹性计算 关系型数据库 网络安全
阿里云国际版无法连接和访问Windows服务器中的FTP服务
阿里云国际版无法连接和访问Windows服务器中的FTP服务
|
4月前
|
安全 Ubuntu Linux
在Linux中,如何进行FTP服务器配置?
在Linux中,如何进行FTP服务器配置?
|
4月前
|
存储 Ubuntu 安全
如何配置 ProFTPd 以使用 SFTP 而不是 FTP
如何配置 ProFTPd 以使用 SFTP 而不是 FTP
184 0
|
4月前
|
Java
Java SpringBoot FTP 上传下载文件
Java SpringBoot FTP 上传下载文件
162 0
|
弹性计算 Shell Windows
阿里云学生专享ecs服务器体验及个人配置
阿里云学生优惠专享的云服务器个人使用体验
阿里云学生专享ecs服务器体验及个人配置
|
1天前
|
弹性计算 运维 安全
阿里云轻量应用服务器与ECS的区别及选择指南
轻量应用服务器和云服务器ECS(Elastic Compute Service)是两款颇受欢迎的产品。本文将对这两者进行详细的对比,帮助用户更好地理解它们之间的区别,并根据自身需求做出明智的选择。