前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >exportfs命令,NFS客户端问题,FTP介绍,使用vsftp搭建ftp

exportfs命令,NFS客户端问题,FTP介绍,使用vsftp搭建ftp

作者头像
端碗吹水
发布于 2020-09-23 03:15:26
发布于 2020-09-23 03:15:26
5.6K0
举报

笔记内容:

  • 14.4 exportfs命令
  • 14.5 NFS客户端问题
  • 15.1 FTP介绍
  • 15.2/15.3 使用vsftpd搭建ftp

笔记日期:

14.4 exportfs命令

这个exportfs命令会在安装nfs-util包时一起安装,当服务端需要停止NFS服务或者进行一些变动并重启时,其他挂载了共享目录的机器需要将这个挂载的目录卸载掉,不然的话服务进程就会出问题,单台机器我们可以使用unmnt命令去卸载,但是如果有几十台机器的话总不能一个个去unmnt吧,所以这个exportfs命令就是用来进行多台机器的卸载、重新挂载之类的操作的。

在服务端上执行exportfs -arv就能把共享目录卸载掉:

现在去客户端就会发现共享目录没有了:

然后再去服务端编辑/etc/exports文件增加以下内容,新增一个共享目录:

/tmp/ 192.168.133.0/24(rw,sync,no_root_squash)

在服务端执行exportfs -arv重新挂载:

然后到客户端showmount一下:

可以看到无需重新启动NFS服务器也能挂载共享目录,这样避免重启服务带来的问题。

现在客户端就可以把共享目录挂载到本地的mnt上了:

mount -t nfs 192.168.77.128:/tmp/ /mnt/

现在客户端上的mnt就是服务端的tmp目录。

在客户端上的mnt目录创建一个文件,并在文件中随便写上一些内容:

vim /mnt/test.txt

创建好后ls -l /mnt/可以看到文件的属主和属组都是root:

而在服务端上的这个文件的属主和属组也是root:

这是因为在服务端上的exports配置文件中配置的是no_root_squash,所以在这个共享目录下的权限就是root,这就是no_root_squash这个选项的作用。

14.5 NFS客户端问题

NFS有一个偶尔可能会遇到的问题,在CentOS6的时候遇到的比较多,不过只有NFS 4版本才会有该问题,这个问题就是:客户端挂载共享目录后,不管是root用户还是普通用户,创建新文件时属主、属组都为nobody。

也就是说即便在服务端的exports配置文件中定义的是no_root_squash选项,但是客户端在共享目录下创建新文件时属主、属组却是为nobody。

这个问题有两种解决方案:

  1. 客户端挂载时加上 -o nfsvers=3,这是指定nfs的版本为3,不使用4版本。

为了确保没问题可以再remount一下:

  1. 客户端和服务端都需要修改etc/idmapd.conf配置文件:

vim /etc/idmapd.conf

  把配置文件中的“#Domain = local.domain.edu” 改为 “Domain = xxx.com” (这里的xxx.com,随意定义吧),然后再重启rpcidmapd服务,在CentOS7中为rpcbind服务。

15.1 FTP介绍

FTP 和NFS类似,也是文件共享传输相关的一种服务,FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上传"(Upload)。"下载"文件就是从远程主机拷贝文件至自己的计算机上;"上传"文件就是将文件从自己的计算机中拷贝至远程主机上。用Internet语言来说,用户可通过客户机程序向(从)远程主机上传(下载)文件。

我们都知道xshell支持rz和sz命令,可以让windowsLinux机器互相传输文件,但是这种传输方式有限制,例如超过四个G的文件就无法传输,又或者通过跳板机登录的一台远程服务器,也无法使用rz和sz命令来传输文件。这种情况下就可以使用FTP来解决这个问题。

我们可以在远程服务器上搭建一个FTP服务,如果Windows作为客户端就可以下载一个客户端软件,连接上服务器的FTP服务,然后就可以进行互传文件了,这种就叫FTP服务器。

但是如果在企业应用中,大企业的话是不使用FTP的,因为不是很安全,而且对于版本管理上并不是很好,所以一般只有小公司或者个人的网站之类的会使用FTP。大企业都是使用自动化发布类似于git这种能够很好地进行版本控制的服务平台。

15.2/15.3 使用vsftpd搭建ftp

介绍完FTP后,下面我们自己通过vsftpd搭建一个ftp服务,CentOS上会自带有vsftpd包,只需要通过yum安装即可:

yum install -y vsftpd

然后创建virftp,作为这个服务的映射用户:

useradd -s /sbin/nologin virftp

虽然vsftpd可以直接使用系统级别的用户,但是这样做不安全,所以我们要创建虚拟用户去映射这个普通用户,而虚拟用户是可以映射多个的,由于创建普通用户时候指定了 /sbin/nologin,这样的话即便有账户和密码也无法登陆系统,这样能够提高安全性,编辑vsftpd_login文件,这是虚拟用户的密码文件:

vim /etc/vsftpd/vsftpd_login

内容如下,奇数行为用户名,偶数行为密码,多个用户就写多行:

testuser1

123456abc

保存退出后给这个文件授予600权限,因为这是密码文件不能给所有的用户都可以读:

chmod 600 /etc/vsftpd/vsftpd_login

接着就是把这个密码文件转换成二进制文件,转换命令如下:

db_load -T -t hash -f /etc/vsftpd/vsftpd_login

创建虚拟用户的配置文件所在的目录:

mkdir /etc/vsftpd/vsftpd_user_conf

进入到该目录:

cd /etc/vsftpd/vsftpd_user_conf

创建一个配置文件,这个配置文件的名称必须和你在vsftpd_login文件里定义的用户名一致:

vim testuser1

编辑内容如下:

local_root=/home/virftp/testuser1  //定义虚拟用户的家目录

anonymous_enable=NO  //定义是否允许匿名用户

write_enable=YES  //定义是否可写

local_umask=022   //定义创建目录或文件的默认权限

anon_upload_enable=NO  //定义是否允许匿名用户可上传

anon_mkdir_write_enable=NO  //定义是否允许匿名用户创建目录,并且可写

idle_session_timeout=600  //定义超时时间

data_connection_timeout=120  /定义/数据传输的超时时间

max_clients=10  //定义最大的连接数

定义完虚拟用户的配置文件之后,创建用户的家目录:

mkdir -p /home/virftp/testuser1

在家目录下创建一个文件,等会登录虚拟用户时就能看到这个文件:

touch /home/virftp/testuser1/aming.txt

修改virftp家目录的权限,因为虚拟用户要映射到这个用户上:

chown -R virftp:virftp /home/virftp

编辑/etc/pam.d/vsftpd 文件,这个文件用来认证登录用户的。在这个文件里需要指定用户的密码文件的路径在哪,通过这个密码文件去对比登录用户的账户密码:

vim /etc/pam.d/vsftpd

在最前面加上如下内容:

auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

注意:如果/lib64/security/pam_userdb.so不存在的话是无法进行验证的,CentOS6的话是不在lib64目录下的。

接着编辑vsftpd.conf文件,这是vsftpd的主配置文件:

vim /etc/vsftpd/vsftpd.conf

编辑内容:

将anonymous_enable=YES 改为 anonymous_enable=NO

将#anon_upload_enable=YES 改为 anon_upload_enable=NO

将#anon_mkdir_write_enable=YES 改为 anon_mkdir_write_enable=NO

修改完后在文件底部增加如下内容:

chroot_local_user=YES

guest_enable=YES

guest_username=virftp  //定义映射的系统用户

virtual_use_local_privs=YES  //告诉vsftpd服务使用的是虚拟用户

user_config_dir=/etc/vsftpd/vsftpd_user_conf

allow_writeable_chroot=YES

修改完后就可以启动vsftpd服务了:

systemctl start vsftpd

监听的是21端口:

到此为止我们的FTP服务就搭建完成了,接下来就是进行测试环节。

测试需要安装一个客户端,在windows上可以下载filezilla,Linux则可以安装lftp作为客户端,下面在Linux上演示一下:

yum -y install lftp

安装好后就可以通过lftp命令登录虚拟用户了:

输入 ? 可以看到支持使用哪些命令:

最常用的两个命令就是put和get,put是上传文件,get是下载文件,例如我们get一下aming.txt这个文件,然后退出客户端,可以看到默认会get到当前目录下:

最后介绍一下如何使用Xshell实现与ftp相似的功能,有两种方式:

  1. 新建一个会话:

属性编辑如下:

设置一下文件的保存路径,我这里是定义在桌面上:

然后点击确定,接着连接虚拟机

输入用户和密码后,登录到服务器上:

默认是登录到root目录下:

可以get一个文件(前提是此文件没有过高的权限):

如图就是get成功了。

文件也保存到桌面上了:

  1. 因为以上这种是命令行的方式,不够直观,除此之外的第二种方式就是下载一个插件,这个插件是Xftp,能够实现图形化的效果,按Ctrl + Alt + F 快捷键能够弹出Xftp的下载窗口:

具体的安装和使用会在下一篇介绍。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017/11/02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
测试人员提出的BUG,要追着开发改吗
其次要知道,开发其实跟测试一样看重产品的质量,因为他们是真正实施的人,谁不希望自己做的东西能够尽善尽美呢。
程序媛淼淼
2022/09/01
2461
常用精选面试题
App测试与Web测试从功能测试和整体流程角度来讲,几乎没有什么区别,都是点点点的测试。
wangmcn
2022/07/26
5930
测试人员怎样定位bug原因
作为测试人员,和我们最常打交道的,莫属bug。当你发现bug后,会采取什么样的行动?是直接报出来,亦或找找问题原因?
测试开发社区
2020/08/27
2.3K0
软件测试从零开始(三)
5、缺陷报告 当找开发而对方不愿意理你的时候,当感觉绩效考核对你不公的时候,当看到是别人晋升加工资而非你的时候,当提了问题而开发不改的时候,也许一种可能是你在测试报告上存在问题。 顺便说一句,个人看法:测试人员的责任不是保证所有错误都能得到改正,而是准确报告问题,使项目干系人能够理解问题的影响,不过具体如何,还需看测试员在自己公司的使命,可以看一下我的另一篇文章《测试员职责浅谈》。 5.1 报告缺陷之描述 缺陷报告需要尽可能提高可读性: 一次只走查该程序错误一步 为每一步编号 不要跳过重
张树臣
2018/05/15
7310
测试应该如何处理跟开发之间的“敏感”关系?
从整个产品研发的角度看,开发是产品的制造者,产品就相当于他的‘孩子’,而测试的工作是去找这个“孩子”身上的毛病。相信,没有一个人喜欢别人对自己的孩子各种挑错。
测试开发技术
2019/11/24
1K0
测试应该如何处理跟开发之间的“敏感”关系?
软件测试常见面试题
测试中抓取log会涉及adb命令的使用 ,也如会用monkey进行APP的稳定性测试,有涉及到代码修改户使用到Androidstudio这些开发工具。
wangmcn
2024/01/26
3300
软件测试常见面试题
测试开发需要学习的知识结构[通俗易懂]
黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。黑盒测试方法主要有等价类划分、边值分析、因—果图、错误推测等,主要用于软件确认测试。 “黑盒”法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试。“黑盒”法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但是可能的输入进行测试。
全栈程序员站长
2022/07/28
5410
测试开发需要学习的知识结构[通俗易懂]
其他企业部分面试题汇总
Linux可以运行在服务器和其他大型平台之上,如大型机和超级计算机,是一个领先的操作系统。世界上500个最快的超级计算机90%以上运行Linux发行版或变种,最快的前10名超级计算机运行的都是Linux操作系统。
找Bug
2022/07/22
8230
其他企业部分面试题汇总
从华为离职了
大家好,我是微笑哥。 在我看来,程序员是一个流动性很大的职业。 找工作就像找对象,也讲究缘分二字。 只有找到适合自己的工作,才能和“这份工作”过得长久。 想要去一家公司,一定要提前打听好这家公司的风格,自己是否可以接受。 每家公司都不会尽善尽美,但要找到最适合自己的。 今天分享一位博主,从华为转正到离职的经历,一起看看他的故事。 作者:Bai Bing | 编辑:Jack Cui https://zhuanlan.zhihu.com/p/485029198 我转正后看到了大家的能力和努力,也意识到在预期的时
纯洁的微笑
2022/04/28
3590
从华为离职了
软件开发项目管理经验总结
这是我从事软件外包工作以来的项目管理经验的总结,编写文章的目的是为了回顾和总结自己的一些想法,如果其中有不足的地方大家可以一起讨论交流。
全栈程序员站长
2022/08/27
1.2K0
软件开发项目管理经验总结
提问的智慧 How To Ask Questions The Smart Way 脑图和文章
在黑客的世界里,当你拋出一个技术问题时,最终是否能得到有用的回答,往往取决于你所提问和追问的方式。本指南将教你如何正确的提问以获得你满意的答案。
CreateAMind
2018/07/25
2.1K0
提问的智慧 How To Ask Questions The Smart Way 脑图和文章
提问的智慧
Copyright © 2001,2006,2014 Eric S. Raymond, Rick Moen
全栈程序员站长
2022/09/06
3350
技术可以小白,但心态不行!聊聊在黑客的世界里,我们如何正确提问!
刚开始,群里聊的话题都比较水,群内有些行为也需要纠正,但这两天慢慢的有人在推荐与自荐开源项目了。
GitHubDaily
2019/06/18
6740
提问的智慧
引言 在黑客的世界里,你所提技术问题的解答很大程度上取决于你提问的方式与解决此问题的难度,本文将教你如何提问才更有可能得到满意的答复。 开源程序的应用已经很广,你通常可以从其他更有经验的用户而不是黑客那里得到解答。 这是好事,他们一般对新手常有的毛病更容忍一点。然尔,使用我们推荐的方法,象对待黑客那样对待这些有经验的用户,通常能最有效地得到问题的解答。 第一件需要明白的事是黑客喜欢难题和激发思考的好问题。假如不是这样,我们也不会写本文了。 如果你能提出一个有趣的问题让我们咀嚼玩味,我们会感激你。好问题是种激
纯洁的微笑
2018/07/20
7340
万字详文告诉你如何做 Code Review
作为公司代码委员会 golang 分会的理事,我 review 了很多代码,看了很多别人的 review 评论。发现不少同学 code review 与写出好代码的水平有待提高。在这里,想分享一下我的一些理念和思路。
DevOps时代
2020/07/16
7110
万字详文告诉你如何做 Code Review
《软件开发的201个原则》—— 一般原则、需求原则、设计原则、编码原则、测试原则、管理原则、产品原则、演变原则
我无意中发现了这一个书《软件开发的201个原则》,是国外一个大佬写的,国内诸多大佬推荐,发现写的很好,可以用来指导软件的开发!下面的内容是我手打的一遍,内容不全,甚至一些信息可能敲错了,大家想看完整地内容,还是建议网购买书!
明志德道
2023/10/21
1.2K0
《软件开发的201个原则》——  一般原则、需求原则、设计原则、编码原则、测试原则、管理原则、产品原则、演变原则
『简书API:jianshu 基于golang -- 用法介绍 (2)』
API.png 首先我做这个项目的目的是朴素的: 熟悉golang 语法 通过这个项目呢,大家可以分析任意网站, 任意解析网站形成自己的API。 这个项目受项目:zhihu-go 影响。阅读完该项目的源码后,我立刻觉得,在掌握了 golang 基础语法之后,我可以写出一个类似的项目。尽管原项目因为知乎的改版而导致现在不能运行了,但就基本思想还是可以借鉴的。 1. 『简书API : jianshu 基于 golang (1)』
谢伟
2018/06/06
2.2K0
相亲对象告诉你他的相亲史_时间让我看懂一切
注:本文,来自csdn论坛的觉的楼主写的不错,所以就引用过啦了,别介意哦,http://topic.csdn.net/u/20100624/16/80f263ca-b05f-456f-bf5f-9d87dd78a6f9.html,作者:NewJacket (这个真不是马甲)
全栈程序员站长
2022/11/08
3.3K0
鹅厂练习13年Coding后,我悟了
本文主要受《程序员修炼之道: 通向务实的最高境界》、《架构整洁之道》、《Unix 编程艺术》启发。我不是第一个发明这些原则的人,甚至不是第一个总结出来的人,别人都已经写成书了!务实的程序员对于方法的总结,总是殊途同归。
腾讯云开发者
2023/09/26
7190
鹅厂练习13年Coding后,我悟了
《增长黑客》节选与笔记[通俗易懂]
这本书涉及了很多具体又贴合现实的互联网产品问题,即使你是非专业人士,也应该读一读,了解开发者是如何把你当猫耍的,以便你更好地认识一些套路,解锁,为选择手机软件或者云端应用擦亮眼睛!
全栈程序员站长
2022/08/27
7.8K0
推荐阅读
相关推荐
测试人员提出的BUG,要追着开发改吗
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档