Linux中国
1.73K subscribers
777 photos
6.34K links
Linux 中国官方 Telegram 频道
Download Telegram
如何在 Linux 中使用 LVM 创建和扩展交换分区

我们使用 LVM 进行灵活的卷管理,为什么我们不能将 LVM 用于交换分区呢?Media

via https://linux.cn/article-9579-1.html
Linux 目录结构:/lib 分析

本文中,让我们来看看 /lib 目录都有些什么。Media

via https://linux.cn/article-9580-1.html
如何在 Linux 系统中防止文件和目录被意外的删除或修改

有时,我会不小心的按下 SHIFT+DELETE来删除我的文件数据。是的,我是个笨蛋,没有再次确认下我实际准备要删除的东西。Media

via https://linux.cn/article-9581-1.html
为什么微服务是一个安全问题

你可能并不想把所有的遗留应用全部分解为微服务,或许你可以考虑从安全功能开始。Media

via https://linux.cn/article-9582-1.html
为什么微服务是一个安全问题

你可能并不想把所有的遗留应用全部分解为微服务,或许你可以考虑从安全功能开始。Media我为了给这篇文章起个标题,使出 “洪荒之力”,也很担心这会变成标题党。如果你点击它,是因为它激起了你的好奇,那么我表示抱歉 注1 。我当然是希望你留下来阅读的 注2 :我有很多有趣的观点以及很多 注3 脚注。我不是故意提出微服务会导致安全问题——尽管如同很多组件一样都有安全问题。当然,这些微服务是那些安全方面的人员的趣向所在。进一步地说,我认为对于那些担心安全的人来说,它们是优秀的架构。为什么这样说?这是个好问题,对于我们这些有系统安全 经验的人来说,此时这个世界才是一个有趣的地方。我们看到随着带宽便宜了并且延迟降低了,分布式系统在增长。加上部署到云愈加便利,越来越多的架构师们开始意识到应用是可以分解的,不只是分成多个层,并且层内还能分为多个组件。当然,均衡负载可以用于让一个层内的各个组件协同工作,但是将不同的服务输出为各种小组件的能力导致了微服务在设计、实施和部署方面的增长。所以,到底什么是微服务呢?我同意维基百科的定义,尽管没有提及安全性方面的内容注4 。 我喜欢微服务的一点是,经过精心设计,其符合 Peter H. Salus 描述的 UNIX 哲学 的前俩点:程序应该只做一件事,并尽可能把它做好。让程序能够互相协同工作。应该让程序处理文本数据流,因为这是一个通用的接口。三者中最后一个有点不太相关,因为 UNIX 哲学通常被用来指代独立应用,它常有一个实例化的命令。但是,它确实包含了微服务的基本要求之一:必须具有“定义明确”的接口。这里的“定义明确”,我指的不仅仅是可外部访问的 API 的方法描述,也指正常的微服务输入输出操作——以及,如果有的话,还有其副作用。就像我之前的文章描述的,“良好的系统架构的五个特征”,如果你能够去设计一个系统,数据和主体描述是至关重要的。在此,在我们的微服务描述上,我们要去看看为什么这些是如此重要。因为对我来说,微服务架构的关键定义是可分解性。如果你要分解 注5 你的架构,你必须非常、非常地清楚每个细节(“组件”)要做什么。在这里,就要开始考虑安全了。特定组件的准确描述可以让你:审查您的设计确保您的实现符合描述提出可重用测试单元来审查功能跟踪实施中的错误并纠正错误测试意料之外的产出监视不当行为审核未来可能的实际行为现在,这些微服务能用在一个大型架构里了吗?是的。但如果实体是在更复杂的配置中彼此链接或组合在一起,它们会随之越来越难。当你让一小部分可以彼此配合工作时,确保正确的实施和行为是非常、非常容易的。并且如果你不能确定单个组件正在做它们应该作的,那么确保其衍生出来的复杂系统的正确行为及不正确行为就困难的多了。而且还不止于此。如我已经在许多以往场合提过的,写足够安全的代码是困难的注7 ,证实它应该做的更加困难。因此,有理由限制有特定安全要求的代码——密码检测、加密、加密密钥管理、授权等等——将它们变成小而定义明确的代码块。然后你就可以执行我上面提及所有工作,以确保正确完成。还有,我们都知道并不是每个人都擅长于编写与安全相关的代码。通过分解你的体系架构,将安全敏感的代码限制到定义明确的组件中,你就可以把你最棒的安全人员放到这方面,并限制了 J.佛系.码奴 注8 绕过或降级一些关键的安全控制措施的危险。它可以作为学习的机会:它对于设计/实现/测试/监视的兄弟们都是好的,而且给他们说:“听、读、标记、学习,并且引为己用 注9 。这是应该做的。”是否应该将所有遗留应用程序分解为微服务? 不一定。 但是考虑到其带来的好处,你可以考虑从安全入手。注1、有一点——有读者总是好的。注2、这是我写下文章的意义。注3、可能没那么有趣。注4、在我写这篇文章时。我或你们中的一个可能会去编辑改变它。注5、这很有趣,听起来想一个园艺术语。并不是说我很喜欢园艺,但仍然... 注6注6、有意思的是,我最先写的 “如果你要分解你的架构....” 听起来想是一个 IT 主题的谋杀电影标题。注7、长期读者可能会记得提到的优秀电影 “The Thick of It”注8、其他的什么人:请随便选择。注9、不是加密摘要digest:我不认同原作者的想法。这篇文章最初出在爱丽丝、伊娃与鲍伯——一个安全博客上,并被许可转载。via: https://opensource.com/article/17/11/microservices-are-security-issue作者:Mike Bursell 译者:erlinux 校对:wxy本文由 LCTT 原创编译,Linux中国 荣誉推出Media

via https://linux.cn/article-9582-1.html?utm_source=rss&utm_medium=rss
Ubuntu 18.04 LTS(放生河狸)发布!

Canonical 今天正式发布了可用于计算机、IoT 和云环境的 Ubuntu 18.04 LTS (仿生河狸 Bionic Beaver) 操作系统。Media

via https://linux.cn/article-9583-1.html
如何在 Linux 中查找文件

使用简单的命令在 Linux 下基于类型、内容等快速查找文件。Media

via https://linux.cn/article-9585-1.html
查看 Linux 发行版名称和版本号的 8 种方法

如果你加入了一家新公司,要为开发团队安装所需的软件并重启服务,这个时候首先要弄清楚它们运行在什么发行版以及哪个版本的系统上,你才能正确完成后续的工作。Media

via https://linux.cn/article-9586-1.html
Vagrant 入门指南

Vagrant 是一个用来构建和管理虚拟机环境的工具。Vagrant 有着易于使用的工作流,并且专注于自动化,降低了开发者搭建环境的时间,提高了生产力。解决了“在我的机器上可以工作”的问题。Media

via https://linux.cn/article-9587-1.html
假装很忙的三个命令行工具

有时候你很忙。而有时候你只是需要看起来很忙,就像电影中的黑客一样。有一些开源工具就是干这个的。Media

via https://linux.cn/article-9591-1.html
使用 Tripwire 保护 Linux 文件系统

Tripwire 是一个完整性检查工具,使得系统管理员、安全工程师和其他人能够检测系统文件的变更。Media

via https://linux.cn/article-9592-1.html
通过扫描二维码将文件从计算机传输到移动设备

它允许你通过扫描二维码通过 WiFi 将文件从计算机传输到移动设备而无须离开终端。Media

via https://linux.cn/article-9595-1.html
使用 Docker 和 Elasticsearch 构建一个全文搜索应用程序

我们将使用 Docker 去配置我们自己的项目环境和依赖。这使我写这个教程快速又简单。Media

via https://linux.cn/article-9593-1.html
在 Linux 下 9 个有用的 touch 命令示例

touch 命令用于创建空文件,也可以更改 Unix 和 Linux 系统上现有文件时间戳。这里所说的更改时间戳意味着更新文件和目录的访问以及修改时间。Media

via https://linux.cn/article-9597-1.html
7 个区块链初创公司的营销技巧

由于加密社区的快节奏特性,区块链初创公司的市场营销可能会感受到如山般的压力。创业公司需要在不同的社交媒体平台上积极参与,坚持与追随者互动,并向公众证明他们的项目具有价值。Media

via https://linux.cn/article-9598-1.html
Pet:一个简单的命令行片段管理器

我们不可能记住所有的命令,对吧?是的。除了经常使用的命令之外,我们几乎不可能记住一些很少使用的长命令。这就是为什么需要一些外部工具来帮助我们在需要时找到命令。Media

via https://linux.cn/article-9600-1.html
每个 Linux 新手都应该知道的 10 个命令

通过这 10 个基础命令开始掌握 Linux 命令行。Media

via https://linux.cn/article-9601-1.html
如何在 Linux 中快速监控多个主机

只要安装了 rwho 实用程序,它将立即快速地监控本地和远程系统。你什么都不用配置!你所要做的就是在要监视的系统上安装 “rwho” 工具。Media

via https://linux.cn/article-9602-1.html
用 Plumbum 开发 Python 命令行工具

使用 Plumbum CLI 工具包来开发 Python 命令行应用程序,这是一个非常 Pythonic、容易使用、功能强大的工具包,非常值得广大 Python 程序员掌握并使用。Media

via https://linux.cn/article-9604-1.html
为什么MIT的专利许可不讨人喜欢?

提要:传统观点认为,Apache 许可证拥有“真正”的专利许可,那 MIT 许可证呢?Media我经常听到说,MIT 许可证中没有专利许可,或者它只有一些“默示”专利许可的可能性。如果 MIT 许可证很敏感的话,那么它可能会因为大家对其较为年轻的同伴 Apache 许可证的不断称赞而产生自卑感,传统观点认为,Apache 许可证拥有“真正”的专利许可。这种区分经常重复出现,以至于人们认为,在许可证文本中是否出现“专利”一词具有很大的法律意义。不过,对“专利”一词的强调是错误的。1927 年,美国最高法院表示:“专利所有人使用的任何语言,或者专利所有人向其他人展示的任何行为,使得其他人可以从中合理地推断出专利所有人同意他依据专利来制造、使用或销售,便构成了许可行为,并可以作为侵权行为的辩护理由。”MIT 许可证无疑拥有明示许可。该许可证不限于授予任何特定类型的知识产权。但其许可证声明里不使用“专利”或“版权”一词。您上次听到有人表示担心 MIT 许可证仅包含默示版权许可是什么时候了?既然授予权利的文本中没有“版权”和“专利”,让我们来研究一下 MIT 许可证中的字眼,看看我们能否了解到哪些权利被授予。特此授予以下权限,这是授予权限的直接开始。免费,为了获得权限,不需要任何费用。任何人获得本软件的副本和相关文档文件(本“软件”),我们定义了一些基本知识:许可的主体和受益人。无限制地处理本软件,不错,这很好。现在我们正在深究此事。我们并没有因为细微差别而乱搞,“无限制”非常明确。包括但不限于对示例列表的介绍指出,该列表不是一种转弯抹角的限制,它只是一个示例列表。使用、复制、修改、合并、发布、分发、再许可和/或销售本软件副本的权利,并允许获得本软件的人员享受同等权利,我们可以对软件采取各种各样的行动。虽然有一些建议涉及专利所有人的专有权版权所有者的专有权,但这些建议并不真正关注特定知识产权法提供的专有权的具体清单;重点是软件。受以下条件限制:权限受条件限制。上述版权声明和权限声明应包含在本软件的所有副本或主要部分中。这种情况属于所谓的不设限许可(permissive license)。本软件按“原样”提供,不附有任何形式的明示或暗示保证,包括但不限于对适销性、特定用途适用性和非侵权性的保证。在任何情况下,作者或版权所有者都不承担任何索赔、损害或其他责任。无论它是以合同形式、侵权或是其他方式,如由它引起,在其作用范围内、与该软件有联系、该软件的使用或者由这个软件引起的其他行为。为了完整起见,我们添加免责声明。没有任何信息会导致人们认为,许可人会保留对使用专利所有人创造的软件的行为起诉专利侵权的权利,并允许其他人“无限制地处理本软件”。为什么说这是默示专利许可呢?没有充足的理由这么做。我们来看一个默示专利许可的案例。Met-Coil Systems Corp. 诉Korners Unlimited 的专利纠纷涉及专利的默示许可(美国专利 4,466,641,很久以前已过期),该专利涉及用于连接供暖和空调系统中使用的金属管道段。处理该专利纠纷上诉的美国法院认定,专利权人(Met-Coil)出售其成型机(一种不属于专利保护主体的机器,但用于弯曲金属管道端部的法兰,使其作为以专利方式连接管道的一部分)授予其客户默示专利许可;因此,所谓的专利侵权者(Korners Unlimited)向这些客户出售某些与专利有关的部件(与 Met-Coil 机器弯曲产生的法兰一起使用的特殊角件)并不促成专利的侵权,因为客户被授予了许可(默示许可)。通过销售其目的是在使用受专利保护的发明中发挥作用的金属弯曲机,专利权人向机器的购买者授予了专利许可。在 Met-Coil 案例中,可以看到需要谈论“默示”许可,因为根本不存在书面许可;法院也试图寻找由行为默示的许可。Patent illustration现在,让我们回到 MIT 许可证。这是一个明示许可证。这个明示许可证授予了专利许可吗?事实上,在授予“无限制地处理软件”权限的情况下,MIT 许可证的确如此。没有比通过直接阅读授予许可的文字来得出结论更有效的办法了。“明示专利许可”一词可以用于两种含义之一:包括授予专利权利的明示许可证,或明确提及专利权利的许可证。其中第一项是与默示专利许可的对比。如果没有授予专利权利的明示许可,人们可以在分析中继续查看是否默示了专利许可。人们经常使用第二个含义“明示专利许可”。不幸的是,这导致一些人错误地认为缺乏这样的“明示专利许可”会让人寻找默示许可。但是,第二种含义没有特别的法律意义。没有明确提及专利权利并不意味着没有授予专利权利的明示许可。因此,没有明确提及专利权利并不意味着仅受限于专利权利的默示许可。说完这一切之后,那它究竟有多重要呢?并没有多重要。当个人和企业根据 MIT 协议贡献软件时,他们并不希望稍后对那些使用专利所有人为之做出贡献的软件的人们主张专利权利。这是一个强有力的声明,当然,我没有直接看到贡献者的期望。但是根据 20 多年来我对依据 MIT 许可证贡献代码的观察,我没有看到任何迹象表明贡献者认为他们应该保留后续对使用其贡献的代码的行为征收专利许可费用的权利。恰恰相反,我观察到了与许可证中“无限制”这个短语一致的行为。本讨论基于美国法律。其他司法管辖区的法律专家可以针对在其他国家的结果是否有所不同提出意见。作者简介:Scott Peterson 是红帽公司(Red Hat)法律团队成员。很久以前,一位工程师就一个叫做 GPL 的奇怪文件向 Scott 征询法律建议,这个决定性的问题让 Scott 走上了探索包括技术标准和开源软件在内的协同开发法律问题的纠结之路。译者简介:薛亮,集慧智佳知识产权咨询公司高级咨询师,擅长专利检索、专利分析、竞争对手跟踪、FTO 分析、开源软件知识产权风险分析,致力于为互联网企业、高科技公司提供知识产权咨询服务。MediaMedia

via https://linux.cn/article-9605-1.html?utm_source=rss&utm_medium=rss
vrms 助你在 Debian 中查找非自由软件

向 “Virtual Richard M. Stallman” 问好,这是一个在 Debian 中查找非自由软件的 Perl 脚本Media

via https://linux.cn/article-9606-1.html