linux中的FTP服务配置详解

本文主要内容有:linux中安装vsftpd(也就是FTP服务)。

1、使用匿名用户上传和下载文件。

2、使用身份验证的方式上传和下载文件。

3、建立虚拟用户(步骤比较多)。

4、为单独的用户建立单独的上传和下载机制(花那么多时间只是为了您知道“兂”这个字)。

首先是安装vsftpd服务(也就是FTP服务),安装完成之后使用rpm -qc vsftpd查看文件的安装目录,也可以使用grep命令过滤掉以#开头的注释文件并查看配置文件。

下面是关闭iptables防火墙和SElinux策略,然后使用echo在FTP站点中创建一个.txt文件。

如果说是匿名访问的话,此时就可以直接开启vsftpd服务,开启之后也可以检查FTP的21端口开启了没有。

下面可以使用win7客户机,访问linux的vsftpd服务,在命令行中切换到C盘下面。然后输入“ftp 加IP地址”服务器的IP地址,接着输入用户名ftp或者anonymous提供任意密码访问,然后使用get命令把111.txt文件下载到win7客户机上。

因为我切换到了C盘,所以打开C盘就可以看到下载下来的文件,修改个名字222.txt上传文件试一下,结果证明此时是不能上传的(没有设置权限和参数)。

此时使用vi /etc/vsftpd/vsftpd.conf命令编辑vsftpd的主配置文件。把下面三个允许匿名用户上传的参数前面的#号去掉,或添加上去。

现在设置目录权限,注意这里更改权限只能修改ftp下面的某个目录的权限,不能修改ftp目录的权限,一旦修改ftp目录权限,将所有用户都无法访问。我这里权限设置的是ftp目录下面的pub目录。

上面配置完成并且重启vsftpd服务后,回到win7客户机使用by退出登陆,然后再重新登陆cd切换到ftp下面的pub目录。使用put上传文件222.txt成功。同样使用

ftp> ls  //查看pub目录下的文件,ftp> delete 222.txt  //表示删除文件

下面做本地用户登陆访问,首先创建两个用户,并设置密码。

可以到客户机上先验证一下此时用户所能做的事情,可以看到用户zhangsan竟然可以切换到root根目录中,这样是很不安全的。

下面回到linux中编辑vsftpd的主配置文件,把其中的“chroot_local_user=YES”注释去掉(解释在图中)。重启服务。

Win7客户机上同样需要by退出后重新登录,显示随便怎么切换都是在自己的家目录而已。

另外在“/etc/vsftpd/”目录下,有个可以控制用户登陆的文件user_list默认这里面的用户是禁止登陆FTP的。可以使用echo命令把zhangsan用户追加进去。

再到win7客户机上面去登陆,表示登陆失败了。

同样的道理,如果把主配置文件里面的userlist_enable=YES改为deny=YES那么上面的user_list中的用户将只是允许登陆的用户。

下面创建虚拟用户,虚拟用户就是在FTP用户和系统用户之间建立映射关系,首先在/etc/vsftpd目录下编辑配置文件vuser,内容为:

jack       /*奇数行为用户*/

123123     /*偶数行为密码*/

jerry

123123

db_load -T -t hash -f vuser vuser.db /*把刚才创建的用户文件转换成数据库文件*/ chmod 600 vuser、chmod 600 vuser.db /*设置权限不让别人看见里面的用户名和密码信息*/(注意文件路径,文中使用的是绝对路径)。

useradd -d /opt/vuser -s /sbin/nologin vuser /*创建一个用户为vuser 指定家目录/opt/vuser 并切不使用shell登陆*/。

编辑pam认证模块支持虚拟用户的登陆vi /etc/pam.d/vsftpd.vu

auth required pam_userdb.so db=/etc/vsftpd/vuser

account required pam_userdb.so db=/etc/vsftpd/vuser /*此处两个文件vuser并不是普通文件而是刚才创建的vuser.db数据库文件,此处必须省略不写*/

然后再vi /etc/vsftpd/vsftpd.conf编辑主配置文件,注释掉上面的pam认证服务文件,然后在下面编辑。

guest_enable=YES  //开启虚拟用户登陆。

guest_username=vuser  //指定虚拟用户。

pam_service_name=vsftpd.vu  //使用pam认证登陆

配置完成之后重启或者重新加载配置文件。这里最好也设置一下系统用户vuser的家目录文件权限(为了后面可以写入)。

然后使用win7客户机重新访问FTP服务,使用虚拟用户jack进行访问,put上传文件也是可以的(如果你可以上传但是ls看不到文件那是权限的问题)。

还可以对单独用户进行配置,进入主配置文件按G到末行插入user_config_dir=/etc/vsftpd/vu_dir  #单独用户配置文件夹位置。Mkdir创建上面配置文件中所指定的目录,vi进入创建jack用户配置文件,在里面编辑anon_umask=022  #指定上传文件的权限。

使用win7客户机进行访问,再次上传个文件。

回到linux查看刚才上传的文件的权限,能够看到已经是644权限。

经验总结:用户名,编辑目录位置,服务开启加载状态等都是容易忘记和出错的地方。还有权限设置,一般匿名访问都是用于公共场合使用,建议不要给最大权限。用户身份验证的时候注意应该给用户的权限,不能让他权限太多。虚拟用户登陆时用户设置别搞错了。

好了,实验完成谢谢大家!

时间: 2024-11-01 17:32:36

linux中的FTP服务配置详解的相关文章

基于Linux搭建Apache网站服务配置详解

Apache作为一款开源软件,是广泛应用的web应用之一,Apache有两个主要版本1.X和2.X,一般我们使用2.X版本,比起1.X版本它支持很多新的功能,下载Apache源码包的地址为:https://httpd.apache.org ,下载到源码包后开始准备安装: 1.为避免发生端口冲突,程序冲突等问题,如果有rpm方式安装的httpd服务,建议将其卸载. 2.挂载系统镜像,切换至系统盘中的Packages目录,安装相关依赖包(注意,最好一个一个的依次安装,因为如果有些安装包已经安装了,一

linux中搭建ftp服务配置

Liunx ftp搭建设置本地用户权限 查看用户列表发现root在里面,在里面的无法登陆FTP服务器,所以要删除查看vsftpd服务删除root管理用户因为匿名用户登录为root无法进行文件创建和删除 查看ftp服务是否启动,如果没有启动则要启动登录ftp服务器验证 原文地址:http://blog.51cto.com/13956368/2171857

Linux vsftpd服务配置详解

[背景] 近日,一朋友domino服务器要进行升级.迁移,搭建了linux测试系统,也开启vsftpd服务,可是配置的ftp账号,程序无法正常下载附件. [问题跟踪] 通过ftp客户端连接工具登录,发现未跳转到ftp账号指定的目录下面. cat /etc/vsftpd.config发现开启了: local_root=/home/test 将此注释重启ftp服务正常. 附录(vsftpd配置详解): vsftpd服务器配置文件"/etc/vsftpd/vsftpd.conf",以此为例.

Rsync服务配置详解,实现服务器间数据同步!

1.1 什么是rsync? rsync是Unix下的一款应用软件,它能同步更新两处计算机的文件与目录,并适当利用差分编码以减少数据传输.rsync中一项与其他大部分类似程序或协议中所未见的重要特性是镜像对每个目标只需要一次传送.rsync可拷贝/显示目录属性,以及拷贝文件,并可选择性的压缩以及递归拷贝. 在常驻模式(daemon mode)下,rsync默认监听TCP端口873,以原生rsync传输协议或者通过远程shell如RSH或者SSH伺服文件.SSH情况下,rsync客户端运行程序必须同

Apache httpd(apache2)服务配置详解,Mac下设置虚拟主机部署多个web项目,及反向代理部署Java项目

Apache httpd服务配置详解 查看版本:httpd -v Server version: Apache/2.4.33 (Unix) Server built:   Apr  3 2018 17:54:07 文件路径:/etc/apache2/httpd.conf # 服务目录(全局配置)用于指定Apache的安装路径,# 此选项参数值在安装Apache时系统会自动把Apache的路径写入ServerRoot "/usr" # 设置互斥对象的目录# Mutex default:/

Samba服务配置详解(匿名,身份,别名,访问控制,挂载访问)

Samba服务配置详解 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务.SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统.打印机及其他资源.通过设置"NetBIOS over TCP/IP"使得Samba不但能与局域网络主机分享资源,还

数据层spring-dao.xml配置文件中C3P0连接池配置详解

数据层spring-dao.xml配置文件中C3P0连接池配置详解 先放上两种配置文件bean的相关代码,文章下面会有详细的配置属性的讲解,大家可以自己添加配置和修改配置普通单一数据库连接池配置: <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <!-- 配置连接池属性 --> <property name="driverClas

linux中FTP服务搭建详解--1.匿名与权限

实验环境:在redhat6.5中安装配置FTP服务,并使用一台win7系统访问验证. 理论: FTP连接方式     支持两种连接模式:主动模式(Port)和被动模式(Pasv),这两种模式都是针对数据链路进行的,与控制链路无关. 主动模式工作过程: 1.客户端从自己的一个任意端口(N > 1024)和FTP服务器的21端口建立控制链路2.然后客户端发出Port指令告诉服务器连接自己的N+1端口来建立一条数据通道3.当FTP服务器接到这一指令时,会使用20端口连接用户在Port指令中指定的端口号

用三种不同的方法访问Linux系统上的FTP服务过程详解

今天向大家介绍一下,如何在Linux上配置ftp服务,并且使用三种不同的方式访问Linux系统上的FTP服务. 实验环境:一台windows7系统虚拟机,一台Linux系统虚拟机. 实验目的:搭建FTP文件传输服务,并进行匿名访问.虚拟用户访问和本地用户验证. 匿名访问用户名为ftp或anonymous,提供任意密码(包括空密码)都可以通过服务器认证 安装软件包,关闭防火墙和关闭selinux功能. 在ftp服务中创建一个wen.txt文件 测试(window7) 匿名登录ftp服务 从ftp服