o / : 2GB
o /boot: 200MB
o /usr : 4GB
o /var : 2GB
o /tmp : 1GB
o swap : 1GB
o /home: 5GB,并且使用 LVM 模式建置
创建共享目录
这五个朋友的共享目录建置于 /home/vbirdgroup 这个目录,这个目录只能给
这五个人使用,且每个人均可于该目录内进行任何动作!若有其他人则无法使用 (没 有权限),那该如何建置这个目录的权限呢?
答:
考虑到共享目录,因此目录需要有 SGID 的权限才行!否则个别群组数据会让 这五个人彼此间无法修改对方的数据的。因此需要这样做:
lsattr:
-a: 列出包含隐藏文件在内的隐藏属性
-R: 递归列出
chattr:
语法:#chattr [+-=][ASacdistu] [档案或目录名称]
参数说明:
+-= :分别为 [+ 增加] [- 减少] [= 设定] 属性的意思
A :当设定了 A 这个属性时,这个档案(或目录)的存取时间
atime (access) 将不可被修改, 可避免例如手提式计算机容易有磁盘 I/O 错误的情况发生!
S :这个功能有点类似 sync 的功能!就是会将数据同步写入磁盘当中!可以有效的避免数据流失!
a :当设定 a 之后,这个档案将只能增加数据,而不能删除,只有 root 才能设定这个属性。
c :这个属性设定之后,将会自动的将此档案『压缩』,在读取的时候将会自动解压缩出来,但是在储存的时候,将会先进行压缩之后再储存(看来对于大档案似乎蛮有用的!)
d :当 dump (备份)程序被执行的时候,设定 d 属性将可使该档案(或目录)具有 dump 功效!
i :这个 i 可就很厉害了!他可以让一个档案『不能被删除、改名、设定连结也无法写入或新增数据!对于系统安全性有相当大的帮助!
j :当使用 ext3 这个档案系统格式时,设定 j 属性将会使档案在写入时先记录在 journal 中! 但是当 filesystem 设定参数为 data=journalled 时,由于已经设定了日志了,所以这个属性无效!
s :当档案设定了 s 参数时,他将会被完全的移除出这个硬盘空间。
u :与 s 相反的,当使用 u 来设定档案时,则数据内容其实还存在磁盘中,可以使用来 undeletion.
网络设备:
节点 (node):节点主要是具有网络地址 (IP) 的设备之称, 因此上面图示 中的一般 PC、Linux 服务器、ADSL 调制解调器与网络打印机等,个别都可以称 为一个 node ! 那中间那个集线器 (hub) 是不是节点呢?因为他不具有 IP , 因此 hub 不是节点。
服务器主机 (server):就网络联机的方向来说,提供数据以『响应』给用 户的主机, 都可以被称为是一部服务器。举例来说,Yahoo 是个 WWW 服务器, 昆山的 FTP (http://ftp.ksu.edu.tw/) 是个文件服务器等等。
工作站 (workstation) 或客户端 (client):任何可以在计算机网络输入的 设备都可以是工作站, 若以联机发起的方向来说,主动发起联机去『要求』数 据的,就可以称为是客户端 (client)。举例来说,一般 PC 打开浏览器对 Yahoo 要求新闻数据,那一般 PC 就是客户端。
网络卡 (Network Interface Card, NIC):内建或者是外插在主机上面的一 个设备, 主要提供网络联机的卡片,目前大都使用具有 RJ-45 接头的以太网络 卡。一般 node 上都具有一个以上的网络卡, 以达成网络联机的功能。
网络接口(是软件生成的):利用软件设计出来的网络接口,主要在提供网络地址 (IP) 的任 务。 一张网卡至少可以搭配一个以上的网络接口;而每部主机内部其实也都拥 有一个内部的网络接口,那就是 loopback (lo) 这个循环测试接口!
网络形态或拓朴 (topology):各个节点在网络上面的链接方式,一般讲的 是物理连接方式。 举例来说,上图中显示的是一种被称为星形联机 (star) 的 方式,主要是透过一个中间连接设备, 以放射状的方式连接各个节点的一种形 态,这就是一种拓朴。
网关 (route) 或通讯闸 (gateway):具有两个以上的网络接口, 可以连接 两个以上不同的网段的设备,例如 IP 分享器就是一个常见的网关设备。那上面 的 ADSL 调制解调器算不算网关呢? 其实不太能算,因为调制解调器通常视为 一个在主机内的网卡设备,我们可以在一般 PC 上面透过拨号软件, 将调制解 调器仿真成为一张实体网卡 (ppp) ,因此他不太能算是网关设备啦!
非对称数位用路回路 (Asymmetric Digital Subscriber Line, ADSL):透 过 pppoe 协议
也是透过电话线来拨接后取得 IP 的一个方法,只不过这个方式使用的是电话的 高频部分,与一般讲电话的频率不同。 因此妳可以一边使用 ADSL 上网同时透 过同一个电话号码来打电话聊天。在台湾,由于上传/下载的带宽不同, 因此才 称为非对称的回路。ADSL 同样使用调制解调器,只是他透过的是 PPPoE (PPP over Ethernet) 的方法! 将 PPP 仿真在以太网络卡上,因此你的主机需要透 过一张网络卡来连接到调制解调器,并透过拨接程序来取得新的接口 (ppp0) 喔!
集线器是一种网络共享媒体,什么是网络共享媒体啊?想象一下上述的环境就像一 个十字路口,而集线器就是那个路口! 这个路口一次只允许一辆车通过,如果两辆车 同时使用这个路口,那么就会发生碰撞的车祸事件啊!那就是所谓的共享媒体。 也就 是说,网络共享媒体在单一时间点内, 仅能被一部主机所使用。
理解了共享媒体的意义后,再来,我们就得要讨论,那么以太网络的网卡之间是如 何传输的呢?我们以上图中的 A 要发给 D 网卡为例好了,简单的说, CSMA/CD 搭配 上述的环境,它的传输情况需要有以下的流程:
监听媒体使用情况 (Carrier Sense):A 主机要发送网络封包前,需要先对 网络媒体进行监听,确认没有人在使用后, 才能够发送出讯框;
多点传输 (Multiple Access):A 主机所送出的数据会被集线器复制一份, 然后传送给所有连接到此集线器的主机! 也就是说, A 所送出的数据, B, C, D 三部计算机都能够接收的到!但由于目标是 D 主机,因此 B 与 C 会将此讯 框数据丢弃,而 D 则会抓下来处理;
碰撞侦测 (Collision Detection):该讯框数据附有检测能力,若其他主机 例如 B 计算机也刚好在同时间发送讯框数据时,那么 A 与 B 送出的数据碰撞 在一块 (出车祸) ,此时这些讯框就是损毁,那么 A 与 B 就会各自随机等待一 个时间, 然后重新透过第一步再传送一次该讯框数据。
我的计算机明明没有被入侵,为何我的数据会被隔壁的计算机窃取: 透过上述的流程,我们只要在 B 计算机上面安装一套监听软件,这套软件将原 本要丢弃的讯框数据捉下来分析,并且加以重组, 就能够知道原本 A 所送出的 讯息了。这也是为什么我们都建议重要数据在因特网上面得要『加密』后再传输!
既然共享媒体只有一个主机可以使用,为何大家可以同时上网: 这个问题就有趣了,既然共享媒体一次只能被一个主机所使用,那么万一我传输 100MB 的档案,集线器就得被我使用 80 秒 (以 10Mbps 传输时),在这期间其 他人都不可以使用吗?不是的,由于标准的讯框数据在网络卡与其他以太网络媒 体一次只能传输 1500bytes,因此我的 100MB 档案就得要拆成多个小数据报, 然后一个一个的传送,每个数据报传送前都要经过 CSMA/CD 的机制。 所以,这 个集线器的使用权是大家抢着用的!即使只有一部主机在使用网络媒体时,那么 这部主机在发送每个封包间, 也都是需要等待一段时间的 (96 bit time)!
例如上面的图标,我的数据要由计算机 A 通过 B 后才送达 C ,而 B 计算机有两 块网络卡,其中 MAC-2 与 A 计算机的 MAC-1 互通,至于 MAC-3 则与 C 计算机的 MAC-4 互通。但是 MAC-1 不能与 MAC-3 与 MAC-4 互通,为啥?因为 MAC-1 这块网络 卡并没有与 MAC-3 及 MAC-4 使用同样的 switch/hub 相接嘛!所以,数据的流通会变 成:
1. 先由 MAC-1 传送到 MAC-2 ,此时来源是 MAC-1 而目的地是 MAC-2;
2. B 计算机接收后,察看该讯框,发现目标其实是 C 计算机,而为了与 C 计
算机沟通, 所以他会将讯框内的来源 MAC 改为 MAC-3 ,而目的改为 MAC-4 , 如此就可以直接传送到 C 计算机了。
也就是说,只要透过 B (就是路由器) 才将封包送到另一个网域 (IP 部分会讲) 去的时候, 那么讯框内的硬件地址就会被改变,然后才能够在同一个网域里面直接进 行讯框的流通啊!
交换器 (switch) 等级非常多,我们这里仅探讨支持 OSI 第二层的交换器。交 换器与集线器最大的差异,在于交换器内有一个特别的内存, 这个内存可以记 录每个 switch port 与其连接的 PC 的 MAC 地址,所以,当来自 switch 两端 的 PC 要互传数据时,每个讯框将直接透过交换器的内存数据而传送到目标主机 上! 所以 switch 不是共享媒体,且 switch 的每个埠口 (port) 都具有独立 的带宽喔!
举例来说,10/100 的 Hub 上链接 5 部主机,那么整个 10/100Mbps 是分给这 五部主机的, 所以这五部主机总共只能使用 10/100Mbps 而已。那如果是 switch 呢?由于『每个 port 都具有 10/100Mbps 的带宽』, 所以就看你当时 的传输行为是如何啰!
设定不同区网在同物理网段的情况 在同一个物理网段之内,如果两部主机设定成不同的 IP 网段,则由于广播地址 的不同,导致无法透过广播的方式来进行联机。 此时得要透过路由器 (router) 来进行沟通才能将两个网域连结在一起。
其实子网的计算是有偷吃步的,我们知道 IP 是二进制,每个位就是 2 的次方。又由 于 IP 数量都是平均分配到每个子网去, 所以,如果我们以 192.168.0.0 ~ 192.168.0.255 这个网段来说,要是给予 Net_ID 是 26 位时,总共分为几段呢? 因 为 26-24=2 ,所以总共享掉两个位,因此有 2 的 2 次方,得到 4 个网段。再将 256 个 IP 平均分配到 4 个网段去, 那我们就可以知道这四个网段分别是:
192.168.0.0~192.168.0.63
192.168.0.64~192.168.0.127
192.168.0.128~192.168.0.191
192.168.0.192~192.168.0.255
上面虽然可以表示一个网域, 但是太过于冗长, 计算中是通过一个域的起始地址/netmask表示的, 通过这两个值可以计算出广播地址, 这样一个域的范围就确定了
192.168.0.0/26
192.168.0.64/26
192.168.0.128/26
192.168.0.192/26
在标准的IP登记中, A, B, C, D, E地址的netmask各不相同, 但是对于私有地址而言, 既然之前我们采用Net_ID借Host_ID的位来划分子网来增加网段数避免ip的浪费, 反过来, 我们也可以让Host_ID向
Net_ID借几位减少网段数怎么同一个网段中的主机数
路由器的地址不能使广播地址, 这说明了, 在同一个网段中的主机进行通信是通过广播地址, 需要跨网段时才需要使用路由设备
我们知道 Network A(192.168.0.0/24) 与 Network B(192.168.1.0/24) 是不同网 段,所以 PC01 与 PC11 是不能直接互通数据的。不过, PC01 与 PC11 是如何知道他 们两个不在同一个网段内?这当然是透过 Net_ID 来发现的!那么当主机想要传送数据 时,他主要的参考是啥? 很简单!是『路由表 (route table)』,每部主机都有自己 的路由表』, 让我们来看一看预设的情况下, PC01 要如何将数据传送到 PC02 呢?
查询 IP 封包的目标 IP 地址:
当 PC01 有 IP 封包需要传送时,主机会查阅 IP 封包表头的目标 IP 地址;
查询是否位于本机所在的网域之路由设定:
PC01 主机会分析自己的路由表,当发现目标 IP 与本机 IP 的 Net_ID 相同时 (同一网域),则 PC01 会直接透过区网功能,将数据直接传送给目的地主机。
查询预设路由 (default gateway):
但在本案例中, PC01 与 PC11 并非同一网域,因此 PC01 会分析路由表当中是 否有其他相符合的路由设定, 如果没有的话,就直接将该 IP 封包送到预设路 由器 (default gateway) 上头去,在本案例当中 default gateway 则是 Server A 这一部。
送出封包至 gateway 后,不理会封包流向:
当 IP 由 PC01 送给 ServerA 之后,PC01 就不理会接下来的工作。而 Server A 接收到这个封包后, 会依据上述的流程,也分析自己的路由信息,然后向后 继续传输到正确的目的地主机上头。
Tips:
Gateway / Router :网关/路由器的功能就是在负责不同网域之间 的封包转递 (IP Forwarding),由于路由器具有 IP Forwarding 的 功能,并且具有管理路由的能力, 所以可以将来自不同网域之间的 封包进行转递的功能。此外,你的主机与你主机设定的 Gateway 必 定是在同一个网段内喔!
为何 ISP 有时候会谈到『申请固定 8 个 IP ,其中只有 5 个可以用』, 你觉得问题出在哪里? 如果以网域的观念来看,他的 netmask 会是多少?
因为如果是一个网域的话,那么八个 IP 前后(Host_ID 全为 0 与 1 的条 件)为 Network 及 Broadcast , 加上一个在 ISP 处的 Gateway ,所以仅有 5 个可以用。因为有 8 个 IP ,所以其 netmask 后八 bits 为 11111000 ,故为 255.255.255.248。
DNS的根的IP地址为168.95.1.1
Windows这是IP地址: win --> control panel --> 网络和Internet --> 查看网络 --> 本地连接 --> ipv4
Windows修改计算机名称和工作组: 计算机 --> 右键属性 --> 自己找
dmesg: 查看网卡设备
/etc/sysconfig/network-scripts/ifcfg-ens33:
DEVICE=网卡的代号 BOOTPROTO=是否使用dhcp HWADDR=是否加入网卡卡号(MAC)(如果只有一块网卡可以忽略) IPADDR=就是IP地址 NETMASK=只网络屏蔽 ONBOOT=要不要默认启动此接口 GATEWAY=就是通讯闸 NM_CONTROLLED=额外的网管软件(关掉) MTU=1500
其中的GATEWA只需要在一个文件中设置一次
/etc/sysconfig/network:
NETWORKING=1
NETWORKING_IPV6=
HOSTNAME=
/etc/services
这个档案则是记录架构在 TCP/IP 上面的总总协议,包括 http, ftp, ssh, telnet 等等服务所定义的 port number ,都是这个档案所规划出来的。如果你 想要自定义一个新的协议与 port 的对应,就得要改这个档案了;
/etc/protocols
这个档案则是在定义出 IP 封包协议的相关数据,包括 ICMP/TCP/UDP 这方面的 封包协议的定义等。
大概知道上面这几个档案后,未来要修改网络参数时,那就太简单了!至于网络方 面的启动指令的话,可以记得几个简单的指令即可喔!
/etc/init.d/network restart
这个 script 最重要!因为可以一口气重新启动整个网络的参数! 他会主动的 去读取所有的网络配置文件,所以可以很快的恢复系统默认的参数值。
ifup eth0 (ifdown eth0) 启动或者是关闭某张网络接口。可以透过这个简单的 script 来处理喔! 这两 个 script 会主动到 /etc/sysconfig/network-scripts/ 目录下,读取适当的 配置文件来处理啊! (例如 ifcfg-eth0)。
企业中的网关分配给我们的一组192.168.1.0/24的ip地址, 可用的ip要去掉Network, Broadcast Address and Gateway address
比较特殊的是,因为 ADSL 拨接是透过点对点 (ppp) 协议,所谓的点对点,就 是你的 ppp0 直接连接到 ISP 的某个点 (IP) , 所以,理论上,ppp0 是个独 立的 IP ,并没有子网!
在 AP 上面使用网卡卡号 (MAC) 来作为是否可以存取 AP 的限制:
如此一来,就只有你允许的网络卡才能够存取你的 AP ,当然会安全不少。不过 这个方法有个问题, 那就是当有其他主机想要透过这个 AP 联机时,你就得要 手动的登入 AP 去进行 MAC 的设定,在经常有变动性装置的环境中 (例如公司 行号或学校),这个方法比较麻烦~
设定你的 AP 联机加密机制与密钥:
另一个比较可行的办法就是设定联机时所需要的验证密钥!这个密钥不但可以在 网络联机的数据当中加密,使得即使你的数据被窃听, 对方也是仅能得到一堆 乱码,同时由于 client 端也需要知道密钥并且在联机阶段输入密钥, 因此也 可以被用来限制可联机的用户啊!
查看是否加载了无线网卡驱动模块:
iwconfig
启动网卡后才能以这个网卡来搜寻整个区域内的无线基地台啊!接下来,直接使 用 iwlist 来使用这个无线网卡搜寻看看吧
iw interface scan
eth0:就是网络卡的代号,也有 lo 这个 loopback ; HWaddr:就是网络卡的硬件地址,俗称的 MAC 是也;
inet addr:IPv4 的 IP 地址,后续的 Bcast, Mask 分别代表的是
Broadcast 与 netmask 喔!
inet6 addr:是 IPv6 的版本的 IP ,我们没有使用,所以略过; MTU:就是第二章谈到的 MTU 啊! RX:那一行代表的是网络由启动到目前为止的封包接收情况, packets 代
表封包数、errors 代表封包发生错误的数量、 dropped 代表封包由于有问题而 遭丢弃的数量等等
TX:与 RX 相反,为网络由启动到目前为止的传送情况;
collisions:代表封包碰撞的情况,如果发生太多次, 表示你的网络状况 不太好;
txqueuelen:代表用来传输数据的缓冲区的储存长度; RX bytes, TX bytes:总接收、发送字节总量
在Linux中使用命令添加一个ip地址, 如果该ip地址在不是原来的局域网中的, 那么默认会在route table中添加一条gateway为0.0.0.0的记录, 0.0.0.0的含义就是如果destination是指定的域的话, 就从指定的网络接口中发送出去, 通过网线到达switch, 通过switch的接口与mac地址的表找到局域网中的另一台计算机
Gateway:该网域是通过哪个 gateway 连接出去的?如果显示 0.0.0.0 表 示该路由是直接由本机传送,亦即可以透过局域网络的 MAC 直接传讯;如果有 显示 IP 的话,表示该路由需要经过路由器 (通讯闸) 的帮忙才能够传送出去。
ip 命令(非常的强大, 可以修改interface_name, mtu, mac_address and the rest, but you need down your interface first):
ip link set ens33 down
ip link set ens33 mtu 9000 name MegaChen address 00:98:23:e4:4a:12
ip link set ens33 up
以前以为ip命令设置网络接口的别名不会像ifconfig一样有标签, 其实是可以的, 只要使用label指明即可, 记得加上broadcast +, 这样会想ifconfig命令一个计算broadcast地址
ip addr add 172.16.100.12/16 broadcast + dev eth0 label eth0:0
一般如果我们希望一个网络接口动态获取ip地址需要编译ifcfg-iface文件中的BOOTPROTO=dhcp, 其实dhclient interface命令可以简单的解决该问题
traceroute [选项与参数] IP 选项与参数:
-n :可以不必进行主机的名称解析,单纯用 IP ,速度较快!
-U :使用 UDP 的 port 33434 来进行侦测,这是预设的侦测协议; -I :使用 ICMP 的方式来进行侦测;
-T :使用 TCP 来进行侦测,一般使用 port 80 测试
-w :若对方主机在几秒钟内没有回声就宣告不治...预设是 5 秒
-p 埠号:若不想使用 UDP 与 TCP 的预设埠号来侦测,可在此改变埠号。
-i 装置:用在比较复杂的环境,如果你的网络接口很多很复杂时,才会用到 这个参数;
测试的网络延时在50ms以内是好的
出现***表示有防火墙丢包了
tcpdump(黑客界别):
tcpdump -i eth0 -nn 'port 22 and src host 192.168.1.101'
-A: ASCII
-A :封包的内容以 ASCII 显示,通常用来捉取 WWW 的网页封包资料。 -e :使用资料连接层 (OSI 第二层) 的 MAC 封包数据来显示; -nn:直接以 IP 及 port number 显示,而非主机名与服务名称
-q :仅列出较为简短的封包信息,每一行的内容比较精简
-X :可以列出十六进制 (hex) 以及 ASCII 的封包内容,对于监听封包内容 很有用
-i :后面接要『监听』的网络接口,例如 eth0, lo, ppp0 等等的界面;
-w :如果你要将监听所得的封包数据储存下来,用这个参数就对了!后面接 档名
-r :从后面接的档案将封包数据读出来。那个『档案』是已经存在的档案, 并且这个『档案』是由 -w 所制作出来的。
-c :监听的封包数,如果没有这个参数, tcpdump 会持续不断的监听, 直到使用者输入 [ctrl]-c 为止。
'src|dst net|host ip port portnumber'
以前移植在想不通过编程怎么开启在Linux中的一个端口(编程的话, 拿Java为例, 使用socket即可), 原来在Linux中有个命令nc可以办到, nc -l localhost 20000
在各个设备的配置上是有一定的规则的,而最容易发生的问题就是太长的网络线 会造成讯号的衰减, 导致网络联机的时间太长甚至无法联机。我们曾在网络基 础当中谈过以太网络最长的支持距离 (10BASE5 最长可达 500m)
在/var/cache目录下中的yum目录中有repodata的信息
升级所有rpm包, rpm -Fvh *.rpm
yum groupinfo "groupname": 查看指定包组会安装什么rpm
透过 ICMP 封包的检测,分析区网内有几部主机是启动的
[root@www ~]# nmap -sP 192.168.1.0/24
如果需要查看指定服务器开启了什么服务(服务名和端口号), 可以使用nmap 182.1.12.12
一部主机都有自己的路由表, 也就是说,你 必须要透过你自己的路由表来传递你主机的封包到下一个路由器上头。 若传送出去后, 该封包就得要透过下一个路由器的路由表来传送了,此时与你自己主机的路由表就没有 关系啦!Linux 系统下的路由表是由小网域排列到大网域
cd /etc/sysconfig/network-scripts
[root@www network-scripts]# vim ifcfg-eth0:0
DEVICE=eth0:0 <==相当重要!一定要与文件名相同的装置代号! ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.100
NETMASK=255.255.255.0
[root@www network-scripts]# ifup eth0:0
[root@www network-scripts]# ifdown eth0:0
[root@www network-scripts]# /etc/init.d/network restart
NAT就是一个路由器, 只是比路由器多一个ip地址转换的功能
一般来说,计算机数量小于数十部的小型企业是无须路由器的,只需要利用 hub/switch 串接各部计算机, 然后透过单一线路连接到 Internet 上即可
重点来啦!!!!!!!!!
一般Linux或者Windows的microcomputer的default gateway指向的是ip地址是一个Linux主机, 在该Linux中主机上有两个网段的ip地址(使用ifconfig, ip等命令是可以随便设置ip地址的, 这和route命令设置路由表不一样, route的需要可以ping通), 同时对于该Linux主机需要通过网线连接到两个不同网段上的switch/hub
在一个公司内部, 我们可以有这样一个设想, 对于192.168.0.0-192.168.255.255这个范围, 可以为一个部门划分出特殊的ip地址, 在通过几台Linux gataway主机互相通信
路由器(也是一台Linux服务器, 不过长得不像是一个PC机)也有ip, 一般式一个private ip, 一个是public ip
ping不通一台主机, 可能是自己的问题, 也可能是主机的问题(响应的icmp的ip封包对于我们自己的ip在路由表中没有对应的域, 所以只能走默认网关, 把封包丢了出去, 再也回不来了)
I/O 地址有点类似每个装置癿门牉号码,每个装置都有他自己癿地址,一般来说,丌能有两个装置使用 同一个 I/O 地址, 否则系统就会丌晓得该如何运作这两个装置了。而除了 I/O 地址乊外,还有个 IRQ 中断(Interrupt)这个咚咚。
如果 I/O 地址想成是各装置癿门牉号码癿话,那么 IRQ 就可以想成是各个门牉连接到邮件中心(CPU)癿 与门路径啰! 各装置可以透过 IRQ 中断信道来告知 CPU 该装置癿工作情冴,以方便 CPU 迚行工作分 配癿仸务。 老式癿主板芯片组 IRQ 叧有 15 个,如果你癿周边接口太多时可能就会丌够用, 这个时候 你可以选择将一些没有用到癿周边接口关掉,以空出一些 IRQ 来给真正需要使用癿接口喔! 弼然,也 有所谓癿 sharing IRQ 癿技术就是了
前面内存癿地方我仧有提过 CMOS 不 BIOS 癿功能,在这里我仧再来强调一下: CMOS 主要癿功能为 记弽主板上面癿重要参数, 包括系统时间、CPU 电压不频率、各项设备癿 I/O 地址不 IRQ 等,由亍这 些数据癿记弽要花费电力,因此主板上面扄有电池。 BIOS 为写入到主板上某一块 flash 戒 EEPROM 癿程序,他可以在开机癿时候执行,以加载 CMOS 弼中癿参数, 幵尝试呼叨储存装置中癿开机程序, 迚一步迚入操作系统弼中。BIOS 程序也可以修改 CMOS 中癿数据, 每种主板呼叨 BIOS 设定程序癿按 键都丌同,一般桌面计算机常见癿是使用[del]按键迚入 BIOS 设定画面
所以整部系统叧有核心癿话,我仧就叧能看着已绊准备好运作(Ready)癿计算机系 统,但无法操作他! 好像有点望梅止渴癿那种感觉啦!这个时候就需要软件癿帮忙 了
操作系统叧是在管理整个硬件资源,包括 CPU、内存、输入输出装置及文件系统文件。 如果没 有其他癿应用程序辅劣,操作系统叧能讥计算机主机准备妥弼(Ready)而已!幵无法运作其他功 能。 所以你现在知道为何 Windows XP 上面要达成网页影像癿运作还需要类似 PhotoImpact 戒 Photoshop 乊类癿软件安装了吧
Linux 就是核 心不系统呼叨接口那两层, 早期的Linux 是针对 386 来开发癿, 由二 Linux 叧是一套操作系统幵丌吨有其他癿应用秳序,因此很多工秳师在下载了 Linux 核心幵丏实际安装 乀后,就叧能看着计算机开始运作了, 先生在写出 Linux 癿时候,其实诠核心仅能『驱劢 386 所有癿硬件』而 已
Windows 操作系统本来就是针对个人计算机 x86 架构癿硬件去训计癿,所以他当 然叧能在 x86 癿个人计算机上面运作, 在丌同癿平台当然就无法运行了。也就是 说,每种操作系统都是在他与门癿机器上面运行癿喔!这点得要先了览。 丌过, Linux 由二是 Open Source 癿操作系统,所以他癿秳序代码可以被修改成适吅在各 种机器上面运行癿, 也就是说,Linux 是具有『可秱植性』,这可是很重要癿一个 功能喔! ^_^
其实所谓癿『分割』叧是针对那个 64 bytes 癿分割表迚行设定而已! !!!!所以就是添加了参考
硬盘默讣癿分割表仅能写入四组分割信息
这四组分割信息我们称为主要(Primary)戒延伸(Extended)分割槽
分割槽癿最小单位为磁柱(cylinder)
当系统要写入磁盘时,一定会参考磁盘分区表,扄能针对某个分割槽迚行数据癿处理
inode 癿内容在记彔档案癿权限不相关属性,至亍 block 区块则是在记彔档案 癿实际内容。 而丏文件系统一开始就将 inode 不 block 觃划好了,除非重新格式化(戒者利用 resize2fs 等挃令发更文件系统大小),否则 inode 不 block 固定后就丌再发劢。
在一般正帯癿情冴下,上述癿新增劢作当然可以顸利癿完成。但是如果有个万一忟举办? 例如你癿档 案在写入文件系统时,因为丌知名原因寻致系统中断(例如突然癿停电啊、 系统核心収生错诨啊~等等 癿怪事収生时),所以写入癿数据仅有 inode table 及 data block 而已, 最后一个同步更新中介数据癿 步骤幵没有做完,此时就会収生 metadata 癿内容不实际数据存放区产生丌一致 (Inconsistent) 癿情冴 了。
既然有丌一致当然就得要兊朋!在早期癿 Ext2 文件系统中,如果収生这个问题, 那举系统在重新吪劢 癿时候,就会藉由 Superblock 当中记彔癿 valid bit (是否有挂载) 不 filesystem state (clean 不否) 等 状忞来判断是否强制迚行数据一致性癿检查!若有需要检查时则以 e2fsck 这支程序来迚行癿。
丌过,这样癿检查真癿是徆费时~因为要针对 metadata 区域不实际数据存放区来迚行比对, 呵呵~ 得要搜寺整个 filesystem 呢~如果你癿文件系统有 100GB 以上,而丏里面癿档案数量又多时, 哇! 系统真忙碌~而丏在对 Internet 提供朋务癿朋务器主机上面, 这样癿检查真癿会造成主机复原时间癿 拉长~真是麻烦~这也就造成后来所谓日志式文件系统癿兴起了
当系统加载一个档案到内存后,如果该档案没有被更劢过,则在内存区段癿档案数据会被讴定为干净 (clean)癿。 但如果内存中癿档案数据被更改过了(例如你用 nano 去编辑过这个档案),此时该内存中癿 数据会被讴定为脏癿 (Dirty)。此时所有癿劢作都还在内存中执行,幵没有写入到磁盘中! 系统会丌定 时癿将内存中讴定为『Dirty』癿数据写回磁盘,以保持磁盘不内存数据癿一致性。 你也可以利用第五 章谈到癿 sync 挃令来扃劢强迫写入磁盘。
系统会将帯用癿档案数据放置到主存储器癿缓冲区,以加速文件系统癿读/写;
承上,因此 Linux 癿物理内存最后都会被用光!这是正帯癿情冴!可加速系统效能;
你可以扃劢使用 sync 来强迫内存中讴定为 Dirty 癿档案回写到磁盘中;
若正帯关机时,关机挃令会主劢呼叨 sync 来将内存癿数据回写入磁盘内;
但若丌正帯关机(如跳电、当机戒其他丌明原因),由亍数据尚未回写到磁盘内, 因此重新吪劢后
可能会花徆多时间在迚行磁盘检验,甚至可能寻致文件系统癿损毁(非磁盘损毁)。
Linux中一个文件系统的第一个inode是2, 一般来将挂载点是一个文件系统的入口, 所以称为挂载点的目录的inode会为2
ll /dev/hdc*
brw-r----- 1 root disk 22, 0 Oct 24 15:55 /dev/hdc brw-r----- 1 root disk 22, 1 Oct 20 08:47 /dev/hdc1 brw-r----- 1 root disk 22, 2 Oct 20 08:47 /dev/hdc2 brw-r----- 1 root disk 22, 3 Oct 20 08:47 /dev/hdc3 brw-r----- 1 root disk 22, 4 Oct 24 16:02 /dev/hdc4 brw-r----- 1 root disk 22, 5 Oct 20 16:46 /dev/hdc5 brw-r----- 1 root disk 22, 6 Oct 25 01:33 /dev/hdc6
上表当中 22 为主要装置代码 (Major) 而 0~6 则为次要装置代码 (Minor)。 我们癿 Linux 核心讣识癿 装置数据就是透过这两个数值来决定癿
基本上,Linux 核心 2.6 版以后,硬件文件名已经都可以被系统自劢癿实时产生了,我们根本丌需要扃 劢建立装置档案。 丌过某些情冴底下我们可能还是得要扃劢处理装置档案癿,例如在某些朋务被关到 特定目彔下时(chroot), 就需要这样做了。此时这个 mknod 就得要知道如何操作扄行
mknod的使用
[root@www ~]# mknod 装置文件名 [bcp] [Major] [Minor] 选顷不参数:
装置种类:
b :讴定装置名称成为一个周边储存讴备档案,例如硬盘等;
c :讴定装置名称成为一个周边输入讴备档案,例如鼠标/键盘等; p :讴定装置名称成为一个 FIFO 档案;
Major :主要装置代码; Minor :次要装置代码;
如何在不变更主机的分隔槽环境的情况下添加新的分隔槽:
1. dd if=/dev/zero of=/home/loopdev bs=1 count=512
2. mkfs -t ext3 -b 1024 -m 3 -i 1024 /home/loopdev
3. mkdir /media/cdrom
4. mount -t ext3 o loop /home/loopdev /media/cdrom
为什举 root 无法以 telnet 直接登入系统,但是即能够使用 ssh 直接登入?
答:
一般杢说, telnet 会引用 login 癿 PAM 模块,而 login 癿验证阶段会有 /etc/securetty 癿限刢! 由亍进程联机属亍 pts/n (n 为数字) 癿劢态终端机接口装置名称,幵没有写入刡 /etc/securetty , 因此 root 无法以 telnet 登入进程主机。至亍 ssh 使用癿是 /etc/pam.d/sshd 这个模块, 你可以查阅一下该模块,由亍该模块癿验证阶段幵没有加入 pam_securetty ,因此就没有 /etc/securetty 癿限刢!故可以从进程直接联机刡朋务器 端。
除了前一小节谈刡癿 /etc/securetty 会影响刡 root 可登入癿安全终端机, /etc/nologin 会影响刡一般 使用者是否能够登入癿功能乀外,我们也知道 PAM 相关癿配置文件在 /etc/pam.d , 说明文件在 /usr/share/doc/pam-(版本) ,模块实际在 /lib/security/ 。那举还有没有相关癿 PAM 档案呢? 是有 癿,主要都在 /etc/security 这个目弽内!我们底下介绍几个可能会用刡癿配置文件喔!
root或者一般用户用户无法登录, 联想到pam模块中的login, sshd, 还有密码是否有效
一个用户的资源受到了限制可能是因为pam的limits.conf的限制