这次说说「端口」和「端口号」. 平时经常会听人说「打开了80号端口」,为了安全「不要打开多余的端口」等等.那么,这里的端口或者端口号是什么呢? 首先,「端口」是TCP或者UDP上使用的概念,经常被比喻成「窗口」.而且,端口号也被比喻成窗口编号. 举个例子,比如去邮局汇款时,并不是每个窗口都可以汇款的,只有特定的窗口才能办理汇款业务.所以,每个窗口都会编号. 端口号和上面的情况类似,比如,Web服务器通过HTTP接受通信的时候,是通过Web服务器的80号端口来通信的. 同样,SMPT使用25号端口…
上次说了端口号相关的内容,这次聊聊「端口限制」的事. 经常看到关于安全的书籍上会说「不要开放多余的端口」,那么,如何限制端口才好呢? 实际,端口限制的方法大体上分的话有2种. 其一,「通过应用程序来处理」.试着一下考虑「打开端口」本来是怎么一回事.比如,启动Apache之类的Web服务程序的时候,(如果没有特别的设置)会打开Well known ports中的80号端口, 然后通过80号端口开始等待通信. 所以,如果关闭了服务端应用程序的话,端口也会自动被关闭.「不要开放多余的端口」也就是「不要…
上次介绍了Linus Torvalds, 这次介绍他开发的「内核」. 经常听人提到「Linux kernel」,但如果被问到「kernel究竟是什么?」的话,会出乎意料的觉得难以回答. 那么,kernel到底是什么呢?「kernel」翻译过来就是「核心」的意思,简单来说,「Linux的核心程序就是Linux kernel」. 其实严格来说,「Linux」就是指「Linux kernel」.(最近,「Linux发行版」简称为「Linux」的情况越来越多) 将Linux kernel解释成「系统核心…
对于理解服务器和网络来说,「协议」是不可缺少的概念. 「协议(protocol)」有「规则,规定」的意思. 实际上「协议」的函数很广,在通信领域,「协议」规定了「在通信时,什么样的情况下,以什么样的顺序,什么样的方式交互什么样的数据」. 抽象的去理解「协议」可能会比较困难,下面来举个例子. 通过Web以HTML方式交互时使用的协议是「HTTP」(Hyper Text Transfer Protocol).这个协议最重要的就是规定了服务器和客户端之间以HTML方式交互的规则. 比如,客户端连接上服…
这次,聊聊关于「命令行提示符」的相关内容. bash之类的Shell程序是操作Linux所不可缺少的东西.其中bash的提示符也有承担了很重要的作用. 「命令行提示符」的英文是「command prompt」,其中「prompt」有促使,推动的意思,根据这个意思,Shell中的「命令行提示符」就有促使,推动用户输入的意思. (下面的说明以bash为例,bash是Shell程序的一种) 目前的Linux发行版中,提示符一般都像下面这样: [user@host001 /etc]$ 上面这个提示符中包…
这周聊聊「NTP」. 上次,聊了「时区」,也就是时间相关的话题. NTP是「Network Time Protocol」的简称,是为了将网络中计算机的时钟同步到正确时间的协议. PC内部的时钟是相当不准确的,运行一个月左右就会产生几秒的误差.网络上的服务器,经常由于时钟的误差导致电子邮件的发送接收记录等出现异常. 因此,接入统一网络的主机的时钟有必要互相同步时钟.NTP就是用来解决这个问题的. NTP是以「服务端·客户端」的方式提供的.「NTP服务器」使用原子时钟之类东西时钟保持正确的时间,然后…
这次说说「cron」. 「cron」就是「定期自动执行任务的工具」(相当于windows中的计划任务).读做「库隆」.使用「cron」,可以预先指定任务在某个时间执行. 时间的指定并不只是「一小时一次」这种简单的指定方法,还可以指定只有某天的某时才执行任务,或者指定8点-22点每小时执行一次等等. 还可以指定到具体的时间(可以具体到分钟).使用起来有些规则,但不是很难. 「cron」被称为运用Linux所不可缺少的工具.可用来定期的管理获取日志的软件,定期的检查系统状态. 甚至可用来监视进程或者…
这次介绍下新闻上提到的「小型移动式PC」.(这个当时日本新闻上的内容) 最近,经常在日本的大卖场中看到一种小型的移动式PC.不仅是小巧方便携带,而且价格也便宜.而且,省电功能的加入,使电池能工作更长的时间. 但是,由于这种PC比较小,可能也不太适合长时间的使用. 根据新闻的说法,这种小型的移动PC在国外有很多都是安装的Linux操作系统的.原因之一是「消减成本」. 这种被成为「NETBOOK」(上网本)的PC,是由美国的一个被称为 OLPC 的 NPO 率先发起的项目,这个项目的目的是为了给发展…
这次,谈谈关于「环境变量」的话题. 所谓变量,就是在程序中设置的,相当于在内存中准备的「一个用来存放数据的小箱子」. 即,程序通过变量来保存值,通过变量保存的内容来进行各式各样的计算处理. 「环境变量」也是变量的一种.那它和普通的变量有什么区别呢?普通变量只对定义它的程序有效,而环境变量是所有程序共享的变量. 对于 Linux Shell而言,不仅Shell本身能够使用,被Shell产生的子进程也能使用的变量就是环境变量. 环境变量的名称通常用大写字母来定义.实际上用小写字母来定义环境变量也不会…
说起module(模块),有的像「可热插拔的零部件」的意思. 在讨论Linux时提到的模块一般是指可以组装到内核中的模块. 模块这个概念是在硬件和程序设计领域中广泛使用的概念.我们这次说的模块特指Linux内核中的模块. 内核模块简单来说就是「作为内核程序主体的一个小配件来使用的程序」,也就是说,只有模块是什么也做不了的.安装到内核中才能起作用. 比如有一个新的设备或者一个新的功能想要追加到内核中时,就可以用模块的方式来实现.(设备驱动最好考虑用内核模块的方式来提供) 此时,如果把相应的模块直接…