首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux服务器极简安全配置

网络知识了解的越多,就越胆小;也许,这就是江湖吧; 当配置一台新的Linux服务器并上线时,其实就是将Server暴露到了炮火横飞的战场上,任何的大意都会让其万劫不复;但由于永恒的人性的弱点,我们总是在安全和便利之间摇摆...; 本文希望能为自己提供一种最简单的办法,用最简单的办法帮助我们抵抗大多数的炮火; 用户管理 最重要的就是不要用root用户操作,当一台服务器部署初期,为不同用途划分不同用户组以及用户能避免绝大多数悲剧...4 vim /etc/sudoers root ALL=(ALL:ALL) ALL brain ALL=(ALL) NOPASSWD: ALL 上面的NOPASSWD表示,切换sudo的时候...1 2 root ALL=(ALL:ALL) ALL brain ALL=(ALL:ALL) ALL 然后,切换到新用户的身份,检查到这一步为止,是否一切正常。...1 su brain 防火墙 防火墙为我们抵抗绝大多数的脚本小子的攻击,是最省力,性价比最高的投资,切勿偷懒 …… sshd配置 几条最简单的配置,即能避免90%以上的恶意嗅探; 端口 1 2 3 4

1.3K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    极简 Vim

    个人电脑的网络权限和系统权限都在自己手里,可以安装任意软件,进行各种设置,以达到自己用起来最顺手的状态。...因此,在工作过程中,我喜欢那些设置方便,依赖很少的工具,如 sumatraPDF,如 Vim ---- vim 不需要安装, Linux 系统在它就在。...只是默认设置比较辣眼睛,用默认设置的我敬你是一条真汉子。一般人会针对自己的爱好设置下。那么如何将默认设置很丑陋难用的 vim 设置成颜值尚可,使用方便的工具?...对比上文的代码块和图中用 vim 打开的 `~/.vimrc` 文件显示效果可以看出,图中的显示效果明显好于代码块。...平台的字体最优解 vim 默认全屏使用,这样才能完全利用屏幕空间,在诸如 Cygwin, Putty 等连接 Linux 的软件中一般使用 Alt + Enter快捷键实现 最简化工具链 ---- 我为自己定下了几个使用准则

    1.6K40

    【极简or纷杂的界面】

    个性化定制界面和极简版原装界面,哪一个你用起来更加顺手呢,相比之下你更喜欢哪一个? 一、自己的喜好 对于自己而言,极简化的界面使用起来更顺手一些,能够一目了然的看到自己所需求的功能。...在使用时,通常会通过简单的图标或者简洁的文字进行功能的使用。通常极简的界面使用背后是简洁的审美与生活方式的共同作用。...三、影响 极简化的界面审美对于个人使用而言将会成为一种习惯,在生活中的选择会更加的倾向于简洁,如简洁一体的桌面或者朴素的纯色搭配服饰,饰品等均体现简洁二字。...极简化审美带来的负面影响:对于复杂的环境会产生心理甚至生理上的不适,对于多样性的选择将会出现选择困难等问题,在人际交往方面将可能导致对于多环境陌生人的区域,不可避免的产生社交障碍。...对于复杂选项难以发现其中的关键点,在极简化选择中,所需的为一目了然的重点,而复杂环境下将会极大的弱化极简人士的分析能力,降低做事效率。 此外,对于心理而言,通常极简化审美的外表下是对复杂内心的映射

    21330

    kafka极简教程

    一,简单说明什么是kafka Apache kafka是消息中间件的一种,我发现很多人不知道消息中间件是什么,在开始学习之前,我这边就先简单的解释一下什么是消息中间件,只是粗略的讲解,目前kafka已经可以做更多的事情...鸡蛋其实就是“数据流”,系统之间的交互都是通过“数据流”来传输的(就是tcp、http什么的),也称为报文,也叫“消息”。...topic:你把它理解为标签,生产者每生产出来一个鸡蛋就贴上一个标签(topic),消费者可不是谁生产的“鸡蛋”都吃的,这样不同的生产者生产出来的“鸡蛋”,消费者就可以选择性的“吃”了。...大家一定要学会抽象的去思考,上面只是属于业务的角度,如果从技术角度,topic标签实际就是队列,生产者把所有“鸡蛋(消息)”都放到对应的队列里了,消费者到指定的队列里取。...kafka的leader选举机制是什么? kafka对硬件的配置有什么要求? kafka的消息保证有几种方式? 。。。。。。 你是否都答得上来?

    1.6K40

    Zookeeper极简教程

    1.2 分布式锁的实现者 目前,在分布式协调技术方面做得比较好的就是Google的Chubby还有Apache的ZooKeeper他们都是分布式锁的实现者。...注意:ZooKeeper性能上的特点决定了它能够用在大型的、分布式的系统当中。从可靠性方面来说,它并不会因为一个节点的错误而崩溃。除此之外,它严格的序列访问控制意味着复杂的控制原语可以应用在客户端上。...(3) 数据访问 ZooKeeper中的每个节点存储的数据要被原子性的操作。也就是说读操作将获取与节点相关的所有数据,写操作也将替换掉节点的所有数据。...也就是说,也就是说,每个对 节点的改变都将产生一个唯一的Zxid。如果Zxid1的值小于Zxid2的值,那么Zxid1所对应的事件发生在Zxid2所对应的事件之前。...② 函数本身的功能 函数的本身的功能又可以用异步的回调函数来实现,重载processResult()过程中处理函数本身的的功能。

    1.4K70

    Ansible极简教程

    Ansible 极简教程 一、基本部署 简介 ansible是一个自动化管理工具,它足够简单且足够强大来管理大批量设备。可用于配置系统,部署软件以及组合复杂任务。...play的主要功能在于将事先归并为一组的主机装扮成事先通过ansible中的task定义好的角色。从根本上来讲,所有task无非是调用ansible的一个module。...play的目的都是为了让某个或某些主机以某个指定的用户身份执行任务。...taks的目的是使用指定的参数执行模块,而在模块参数中可以使用变量。模块执行是幂等的。这意味着多次执行是安全的,因为其结果均一致。...role是使ansible的状态管理可复用很重要的一个概念,很多时候你只需要在自己的playbook里引用下别人的role即可,大家写的role可以相互共享,相互参考。

    4.1K30

    Ansible 极简教程

    其特性: YAML的可读性好 YAML和脚本语言的交互性好 YAML使用实现语言的数据类型 YAML有一个一致的信息模型 YAML易于实现 YAML可以基于流来处理 YAML表达能力强,扩展性好 更多的内容及规范参见...play的主要功能在于将事先归并为一组的主机装扮成事先通过ansible中的task定义好的角色。从根本上来讲,所有task无非是调用ansible的一个module。...play的目的都是为了让某个或某些主机以某个指定的用户身份执行任务。...hosts用于指定要执行指定任务的主机,其可以使一个或多个由冒号分隔主机组;remote_user则用于指定远程主机的执行任务的用户,如上面的实例中的 - hosts: webserver remote_user...taks的目的是使用指定的参数执行模块,而在模块参数中可以使用变量。模块执行是幂等的。这意味着多次执行是安全的,因为其结果均一致。

    3.1K20

    ElasticSearch 极简教程

    平时我们在 GitHub 上进行搜索的时候,Github 不仅可以帮我们找到相隔的代码产库,还可以帮助实现代码级的搜索及搜索词的高亮的显示,。当你在网上购物的时候,它也可以帮助你做商品的推荐。...Master Nodes Master Node,整个集群的管理者,负有对 index 的管理、shards 的分配,以及整个集群拓扑信息的管理等功能。...索引(Index) Index 一索引是文档的容器,是一类文档的结合 Index 体现了逻辑空间的概念:每个索引都有自己的 Mapping,用于定义包含的文档的字段名和字段类型 Shard 体现了物理空间的概念...:索引中的数据分散在 Shard 上 索引的 Mapping 与 Settings Mapping 定义文档字段的类型 Setting 定义不同的数据分布 索引有不同语义,在 ES 中指的是在集群中创建的索引...文档( Document) Elasticsearch 是面向文档的,文档是所有可搜索数据的最小单位 日志文件中的日志项 一本电影的具体信息 一首歌的详细信息 文档会被序列化成 JSON 格式,

    2K30

    SparkSQL极简入门

    它提供了一个称为DataFrame(数据框)的编程抽象,DF的底层仍然是RDD,并且可以充当分布式SQL查询引擎。 1、SparkSQL的由来 SparkSQL的前身是Shark。...后来,为了提高SQL-on-Hadoop的效率,大量的SQL-on-Hadoop工具开始产生,其中表现较为突出的是: 1)MapR的Drill 2)Cloudera的Impala...但是,随着Spark的发展,对于野心勃勃的Spark团队来说,Shark对于hive的太多依赖(如采用hive的语法解析器、查询优化器等等),制约了Spark的One Stack rule them all...2)列存储每次读取的数据是集合的一段或者全部,不存在冗余性问题。 3) 两种存储的数据分布。由于列存储的每一列数据类型是同质的,不存在二义性问题。...如果读取的数据列属于相同的列族,列式数据库可以从相同的地方一次性读取多个数据列的值,避免了多个数据列的合并。列族是一种行列混合存储模式,这种模式能够同时满足OLTP和OLAP的查询需求。

    3.9K10

    给Linux小白看的命令行极简教程

    任何东西都没有绝对的说法,要看使用的场合,常说水能载舟,它亦能覆舟。...我自己会的命令行也不是很多,但真的打心里羡慕那些把命令行用的很溜的大牛们,也在学习着熟悉大部分命令行,因为我觉得至少现在对我来说,它是极好的。...Linux 系统监控工具之一,可以动态观察系统进程状况,显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等默认值是每5秒更新一次,按q键可以退出。...秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。...0.0%ni—改变过优先级的进程占用CPU的百分比 96.6 id—空闲CPU百分比 0.0 wa—IO等待占用CPU的百分比 0.0hi—硬中断(HardwareIRQ)占用CPU的百分比 0.0si

    80161

    极简主意编程

    看似运维工作不力,然而背后真正的原因,却是开发没从根源上杜绝问题的发生,换言之,是开发的程序设计的太烂了。...我们设计的程序时随着进度的推进,往往会有各式各样的需求出现,比如对于某些结构的数据存储,关系数据库满足不了灵活存储的需求;再比如说某些需要常驻内存的临时数据的存储。...此外,新奇的技术对于程序员有天生的吸引力,能把一样高大上的技术在项目中用上一用,会产生无与伦比的满足感。...做前端的同学应该深有体会,自己的特效明明在本地环境下是正常的,上传到线上后运行结果却不一定是正常的,排查后的原因是因为调用后端的ajax接口返回的数据有问题。...对于开发来说,也不必再解决因为依赖的环境而产生的莫名其妙的问题。从这个角度来说c/c++、golang这类不依赖运行环境的直接生成本机码的语言最能达到这种纯粹的效果。

    1.4K60

    极简Python入门

    本文旨在帮助从总体上帮助了解Python的一些基本属性,具体的使用技巧需要通过不断实践积累 一、Python的基本特性 二、Python的类 面向对象编程,是一种程序设计思想。...OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。..._XXX和__XXX这样的函数和变量“不应该”被直接引用。 3、继承与多态 从现有的class继承,新的class称为子类。被继承的class称为基类、父类、或超类。...当子类和父类都有同一方法时,调用时,子类覆盖父类的方法。提现继承的多态性,一个Dog实例化的对象,即是属于Dog类,也属于Animal类。 (3)继承可以一级一级继承下来。...因此可以修改类的定义,或加入新方法。 __new__()方法接收到的参数依次是: 1、当前准备创建的类的对象; 2、类的名字; 3、类继承的父类集合; 4、类的方法集合。

    1.3K60

    极简shell制作

    前言:   通过我们之前所学Linux知识以及C语言的知识,到目前为止,我们完全可以独立完成简易shell的制作,那么话不多说,开始今天的话题!...简单配置Linux文件   首先,再开始项目之前,需要先简单配置一下Linux文件,选择一个位置,创建本次项目的目录: mkdir myshell#名字随意,这里方便区分命名myshell   如图所示在该目录下...自定义Shell编写 ✈️命令行解释器   首先,我们根据常用的shell行为分析:   常用 shell 都有叫做 命令行解释器 的东西(上图红框),而命令行解释器其实就是 由不同的字符串所构成 的,...其实他们的区别很明显,一种 字符串不带空格,一种字符串 带一个或多个空格,比如:   使用C语言的scanf显然是行不通的,在这里我推荐使用 fgets 接口,可以接收输入的空格:   返回值表示输入的字符串...并没有,我们使用cd …或者cd -这种命令的时候路径就显示不出来了,虽然说我们这么写的代码不对,但是我们思路是对的,更新PWD环境变量,那么我们只好使用 Linux 提供的 getcwd 接口了:

    14310

    极简爬虫教程

    爬虫总体上可以分为步:获取网页、解析网页(也就是找到想要的信息)、保存信息 一、准备工作 1.获取网页 需要用到requests库,最常用得是get()方法 import requests link =.../' response = requests.get(link) 这样就获取了网页,想要进一步查看网页,需要用到text属性 print(response.text)` 2、解析网页(也就是找到想要的信息...1.headers 为了对付“反爬虫”,我们需要让程序觉得是人在操作,最基本得方法是设置headers headers = {'User-Agent': 'xxx此处换为自己的信息xxxx'} link...所以我们得爬虫最小框架进化成了下面得形式 import requests from bs4 import BeautifulSoup # 获取网页 headers = {'User-Agent': 'xxx此处换为自己的信息...import requests from bs4 import BeautifulSoup headers = {'User-Agent': 'xxx此处换为自己的信息xxxx'} link = 'https

    56710

    Spark 极简教程

    分布式计算引擎 何谓计算引擎,一言以蔽之,就是专门处理数据的程序,在大数据之前,人们用数据库来处理数据,人们常说的SQL,它是一种DSL,它的背后正是数据库的计算引擎,但是数据库的计算和存储通常被集成在一起...由于这样的弊端,催生了支持 DAG 框架的产生。因此,支持 DAG 的框架被划分为第二代计算引擎。如 Tez 以及更上层的 Oozie。...这里我们不去细究各种 DAG 实现之间的区别,不过对于当时的 Tez 和 Oozie 来说,大多还是批处理的任务。 第三代 , Spark. 接下来就是以 Spark 为代表的第三代的计算引擎。...第三代计算引擎的特点主要是 Job 内部的 DAG 支持(不跨越 Job),以及强调的实时计算。第三代计算引擎也能够很好的运行批处理的 Job。...这应该主要表现在 Flink 对流计算的支持,以及更一步的实时性上面。当然 Flink 也可以支持 Batch 的任务,以及 DAG 的运算。

    57210
    领券