宝塔面板手动编译安装 PHP 插件 fileinfo

以 php 8.2 为例,具体根据实际情况调整,主要是其中的 -O2 参数,在低性能服务器下容易编译死机。

需先配置 2~4 GB 的 SWAP 后继续。

cd /www/server/php/82/src/ext/fileinfo
/www/server/php/82/bin/phpize
./configure --with-php-config=/www/server/php/82/bin/php-config
sed -i "s#CFLAGS = -g -O2#CFLAGS = -std=c99 -g #g" Makefile
make && make install

echo "extension=/www/server/php/82/lib/php/extensions/no-debug-non-zts-20220829/fileinfo.so" >> /www/server/php/82/etc/php.ini
echo "extension=/www/server/php/82/lib/php/extensions/no-debug-non-zts-20220829/fileinfo.so" >> /www/server/php/82/etc/php-cli.ini
/etc/init.d/php-fpm-82 restart

References

《凤凰架构:构建可靠的大型分布式系统》

阅读感悟

暂略

阅读摘录

《凤凰架构:构建可靠的大型分布式系统》

 周志明

 41个笔记

 自序

  • 软件工程小说《凤凰项目》(见图1)讲述了徘徊在死亡边缘的凤凰项目在精益方法下浴火重生的故事

 5.2.2 OAuth 2

  • [插图]

 第10章 可观测性

  • 日志收集和分析大多被统一到Elastic Stack(ELK)技术栈上,如果说未来还能出现什么变化的话,也就是其中的Logstash有被Fluentd取代的趋势,让ELK变成EFK,但整套Elastic Stack技术栈的地位已是相当稳固
  • 度量方面,跟随Kubernetes统一容器编排的步伐,Prometheus也击败了度量领域里以Zabbix为代表的众多前辈,即将成为云原生时代度量监控的事实标准,虽然从市场角度来说Prometheus还没有达到Kubernetes那种“拔剑四顾,举世无敌”的程度,但是从社区活跃度上看,Prometheus已占有绝对的优势,在Google和CNCF的推动下,未来可期。
  • Kubernetes是CNCF第一个孵化成功的项目,Prometheus是CNCF第二个孵化成功的项目。Kubernetes起源于Google的编排系统Borg,Prometheus起源于Google为Borg做的度量监控系统BorgMon。

 11.1.4 封装系统:LXC

  • LXC的出现肯定受到了OpenVZ和Linux-VServer的启发,站在巨人的肩膀上过河并没有什么不对。可惜的是,LXC在设定自己的发展目标时,也被前辈们的影响所局限住了。LXC眼中的容器与OpenVZ和Linux-VServer定义的并无差别,是一种封装系统的轻量级虚拟机,而Docker眼中的容器则是一种封装应用的技术手段。这两种封装理念在技术层面并没有什么本质区别,但应用效果差异巨大
  • 以封装系统为出发点,仍是按照先装系统再装软件的思路,就永远无法在一两分钟甚至十几秒钟就构造出一个合乎要求的软件运行环境,也决定了LXC不可能形成今天的容器生态,所以,接下来舞台的聚光灯落到了Docker身上

 11.1.5 封装应用:Docker

  • 至少对早期的Docker而言,确实没有什么能构成壁垒的技术,它的容器化能力直接来源于LXC,它的镜像分层组合的文件系统直接来源于AUFS。在Docker开源后不久,有人仅用一百多行Shell脚本便实现了Docker的核心功能(名为Bocker[插图],提供了docker build/pull/images/ps/run/exec/logs/commit/rm/rmi等功能)。
  • 那为何历史选择了Docker,而不是LXC或者其他容器技术呢?对于这个问题,笔者将引用(转述非直译,有所精简)DotCloud公司(当年创造Docker的公司,已于2016年倒闭)创始人Solomon Hykes在Stackoverflow上的一段问答来回应。
  • 为了符合OCI标准,Docker推动自身的架构继续向前演进,首先将libcontainer独立出来,封装重构成runC项目,并捐献给Linux基金会管理。runC是OCI运行时的首个参考实现,提出了“让标准容器无所不在”的口号。
  • 为了能够兼容所有符合标准的OCI运行时实现,Docker进一步重构了Docker Daemon子系统,将其中与运行时交互的部分抽象为containerd项目,这是一个负责管理容器执行、分发、监控、网络、构建、日志等功能的核心模块,内部会为每个容器运行时创建一个containerd-shim适配进程,默认与runC搭配工作,但也可以切换到其他OCI运行时实现上(然而实际并没做到
  • 2016年,Docker把containerd项目捐献给CNCF管理。runC与containerd两个项目的捐赠托管,既是Docker对开源信念执着的追求,也是Docker在众多云计算大厂夹击下无奈的自救,这两个项目将成为未来Docker消亡和存续的伏笔。(看到本节末尾你就能理解这句矛盾的话了。)

 11.1.6 封装集群:Kubernetes

  • Kubernetes Master→kubelet→DockerManager→Docker Engine→containerd→runC
  • ,现在连LXC都还没有被淘汰,反倒发展出了更加专注于与OpenVZ等系统级虚拟化竞争的LXD,相信Docker本身也很难彻底消亡,如已经习惯使用的CLI界面,已经形成成熟生态的镜像仓库等都应该会长期存在,只是在容器编排领域,未来的Docker很可能只会以runC和containerd的形式存续下去,毕竟它们最初都源于Docker

 11.2.1 隔离与协作

  • Docker设计的Dockerfile只允许有一个ENTRYPOINT,这并非无故添加的人为限制,而是因为Docker只能通过监视PID为1的进程(即由ENTRYPOINT启动的进程)的运行状态来判断容器的工作状态是否正常,然后根据状态决定是否执行清理自动重启等操作。

 11.2.2 韧性与弹性

  • 故障恢复、滚动更新、自动扩缩这些特性,在云原生时代里常被概括成服务的韧性(Resilience)与弹性(Elasticity),ReplicaSet、Deployment、Autoscaling的用法,也属于所有Kubernetes教材资料都会讲到的“基础必修课”
  • 如果你准备学习Kubernetes或者其他与云原生相关的技术,建议最好不要死记硬背地学习每个资源的元数据文件如何编写、有哪些指令、有哪些功能,而是站在解决问题的角度去理解为什么Kubernetes要设计这些资源和控制器,为什么这些资源和控制器会被设计成现在这种样子

 11.3.1 Kustomize

  • 最初,由Kubernetes官方给出的“如何封装应用”的解决方案是“用配置文件来配置配置文件”,这不是绕口令,你可以理解为一种针对YAML的模板引擎的变体
  • Kubernetes官方认为应用就是一组具有相同目标的Kubernetes资源的集合
  • 如果逐一管理、部署每项资源元数据过于烦琐的话,那就提供一种便捷的方式,把应用中不变的信息与易变的信息分离开以解决管理问题,把应用所有涉及的资源自动生成一个多合一(All-in-One)的整合包以解决部署问题

 11.3.3 Operator与CRD

  • 有状态应用(Stateful Application)与无状态应用(Stateless Application)是指应用程序是否要自己持有运行所需的数据,如果程序每次运行都跟首次运行一样,不会依赖之前任何操作遗留下来的痕迹,那它就是无状态的;反之,如果程序推倒重来之后,用户能察觉到该应用已经发生变化,那它就是有状态的
  • Operator提供了一种kind:Elasticsearch的自定义资源,在它的帮助下,仅需十行代码,将用户的意图是“部署三个版本为7.9.1的ES集群

 12.1.1 网络通信模型

  • 从整体上看,Linux系统的通信过程无论按理论上的OSI七层模型,还是以实际上的TCP/IP四层模型来解构,都明显呈现出“逐层调用,逐层封装”的特点,这种逐层处理的方式与栈结构,譬如程序执行时的方法栈很类似,因此它通常被称为“Linux网络协议栈”,简称“网络栈”,有时也称“协议栈”
  • [插图]图12-1 Linux系统下的网络通信模型

 12.1.2 干预网络通信

  • 这套名为Netfilter的框架是Linux防火墙和网络的主要维护者Rusty Russell提出并主导设计的,它围绕网络层(IP协议)的周围,埋下了五个钩子(Hook),每当有数据包流到网络层,经过这些钩子时,就会自动触发由内核模块注册在这里的回调函数,这样程序代码就能够通过回调函数来干预Linux的网络通信
  • [插图]

 12.1.3 虚拟化网络设备

  • 普通交换机只会单纯地做二层转发,Linux Bridge却还支持把发给它自身的数据包接入主机的三层协议栈中
  • 对于通过brctl命令显式接入网桥的设备,Linux Bridge与物理交换机的转发行为是完全一致的,都不允许给接入的设备设置IP地址,因为网桥是根据MAC地址做二层转发的,就算设置了三层的IP地址也毫无意义。然而Linux Bridge与普通交换机的区别是除了显式接入的设备外,它自己也无可分割地连接着一台有着完整网络协议栈的Linux主机,因为Linux Bridge本身肯定是在某台Linux主机上创建的,可以看作Linux Bridge有一个与自己名字相同的隐藏端口,隐式地连接了创建它的那台Linux主机
  • Linux Bridge允许给自己设置IP地址,比普通交换机多出一种特殊的转发情况:如果数据包的目的MAC地址为网桥本身,并且网桥设置了IP地址的话,那该数据包即被认为是收到发往创建网桥那台主机的数据包,此数据包将不会转发到任何设备,而是直接交给上层(三层)协议栈去处理
  • 此时,网桥就取代了eth0设备来对接协议栈,进行三层协议的处理。设置这条特殊转发规则的好处是:只要通过简单的NAT转换,就可以实现一个最原始的单IP容器网络。这种组网是最基本的容器间通信形式,
  • 单臂路由不属于任何VLAN,它与交换机之间的链路允许任何VLAN ID的数据包通过,而这个通信的接口也被称为TRUNK。这样,A1要和B2通信,就要将数据包先发送给路由(只需把路由设置为网关即可),然后路由会根据数据包上的IP地址得知B2的位置,去掉VLAN-A的VLAN Tag,改用VLAN-B的VLAN Tag重新封装数据包后再发回给交换机,交换机收到后就可以顺利转发给B2了

 14.2 服务质量与优先级

  • Kubernetes选择哪个节点运行Pod,只会根据requests的值来进行决策;limits才是供cgroups使用的,Kubernetes在向cgroups传递资源配额时,会按照limits的值来进行设置。
  • 用户提交工作负载时设置的资源配额,并不是容器调度必须严格遵守的值,因为根据实际经验,大多数的工作负载在运行过程中真正使用到的资源,其实都远小于它所请求的资源配额。
  • 要进行驱逐,首先Kubernetes就必须制定资源不足时该先牺牲哪些Pod、保留哪些Pod的明确准则,由此就形成了Kubernetes的服务质量等级(Quality of Service Level,QoS Level)和优先级(Priority)的概念
  • Kubernetes目前提供的服务质量等级一共分为三级,由高到低分别为Guaranteed、Burstable和BestEffort
  • 如果Pod中所有的容器都设置了limits和requests,且两者的值相等,那此Pod的服务质量等级便为最高的Guaranteed;如果Pod中有部分容器的requests值小于limits值,或者只设置了requests而未设置limits,那此Pod的服务质量等级为第二级Burstable;如果是上文说的那种情况,limits和requests两个都没设置则属于最低的BestEffort

 14.3 驱逐机制

  • Pod的驱逐机制是通过kubelet来执行的,kubelet是部署在每个节点的集群管理程序,由于本身就运行在节点中,所以最容易感知到节点的资源实时消耗情况。kubelet一旦发现某种不可压缩资源将要耗尽时,就会主动终止节点上较低服务质量等级的Pod,以保证其他更重要的Pod的安全。被驱逐的Pod中的所有容器都会被终止,Pod的状态也会被更改为Failed
  • ·软驱逐:通常配置一个较低的警戒线(譬如可用内存仅剩20%),触及此线时,系统将进入一段观察期。如果只是暂时的资源抖动,在观察期内能够恢复到正常水平的话,那就不会真正启动驱逐操作。否则,若资源持续超过警戒线一段时间,就会触发Pod的优雅退出(Grace Shutdown),系统会通知Pod进行必要的清理工作(譬如将缓存的数据落盘),然后自行结束。在优雅退出期结束后,系统会强制杀掉还未曾自行了断的Pod
  • 硬驱逐:通常配置一个较高的终止线(譬如可用内存仅剩10%),一旦触及此红线,立即强制杀掉Pod,而不会优雅退出
  • 软驱逐是为了减少资源抖动对服务的影响,硬驱逐是为了保障核心系统的稳定
  • 总而言之,在Kubernetes还没有成熟到变为“傻瓜式”容器编排系统之前,因地制宜地配置和运维是非常必要的

 来自微信读书

Linux 文件管理之默认权限 umask

一般来说 Linux 上的文件或目录使用一组默认的权限进行创建,umask 命令可用于查看或设置创建新文件的时的默认权限。

不带任何选项参数的情况下使用 umask 命令就是查看当前的掩码值:

umask
0022

可以看到当前的掩码值是 0022,在一些发行版中也常见为 0002

然后使用 touch 和 mkdir 创建一个文件和目录再看看它们的权限是怎样的:

touch file.txt
mkdir dir

ls -l
drwxr-xr-x 2 toor toor 4096 Sep  2 14:46 dir
-rw-r--r-- 1 toor toor    0 Sep  2 14:46 file.txt

也就是说这些权限是默认值减去 umask 掩码值得到的:

  • 目录 dir:0777 – 0022 \= 755(rwxr-xr-x);
  • 文件 file.txt:6000 – 0022 \= 644(rw-r–r–);

此时我想要更改默认权限,就可以反推一下进行设置掩码值,如:

umask 0002 # 之前是 0022

touch test.txt

ls -l test.txt
-rw-rw-r-- 1 toor toor 0 Sep  2 14:52 test.txt

可以看到新创建的文件默认权限已经变成了 664(rw-rw-r–)

使用 umask 掩码值并不会改变之前文件的权限,而且仅临时生效于当前 shell 会话,如果想要永久生效需要修改 shell 的配置文件。

References

煮雪 – 林清玄

内容转自百度词条 煮雪,侵删,以下为原文。

煮雪

林清玄

传说在北极的人因为天寒地冻,一开口说话就结成冰雪,对方听不见,只好回家慢慢地烤来听… …

这是个极度浪漫的传说,想是多情的南方人编出来的。

可是,我们假设说话结冰是真有其事,也是颇有困难,试想:回家烤雪煮雪的时候要用什么火呢。因为人的言谈是有情绪的,煮得太慢或太快都不足以表达说话的情绪。

如果我生在北极,可能要为煮的问题烦恼半天,与性急的人交谈,回家要用大火煮烤;与性温的人交谈,回家要用文火。倘若与人吵架呢。回家一定要生个烈火,才能声闻当时哔哔剥剥的火暴声。

遇到谈情说爱的时候,回家就要仔细酿造当时的气氛,先用情诗情词裁冰,把它切成细细的碎片,加上一点酒来煮,那么,煮出来的话便能使人微醉。倘若情浓,则不可以用炉火,要用烛火再加一杯咖啡,才不会醉得太厉害,还能维持一丝清醒。

遇到不喜欢的人不喜欢的话就好办了,把结成的冰随意弃置就可以了。爱听的话则可以煮一半,留一半他日细细品味,住在北极的人真是太幸福了。

但是幸福也不长驻,有时天气太冷,火生不起来,是让人着急的,只好拿着冰雪用手慢慢让它溶化,边溶边听。遇到性急的人恐怕要用雪往墙上摔,摔得力小时听不见,摔得用力则声震屋瓦(声振屋瓦),造成噪音。我向往北极说话的浪漫世界,那是个宁静祥和又能自己制造生活的世界,在我们这个到处都是噪音的时代里,有时我会希望大家说出来的话都结成冰雪,回家如何处理是自家的事,谁也管不着。尤其是人多要开些无聊的会议时,可以把那块嘈杂的大雪球扔在自家前的阴沟里,让它永远见不到天日。

斯时斯地,煮雪恐怕要变成一种学问,生命经验丰富的人可以根据雪的大小、成色,专门帮人煮雪为生;因为要煮得恰倒好处和说话时恰如其分一样,确实不易。年轻的恋人们则可以去借别人的“情雪”,借别人的雪来浇自己心中的块垒。

如果失恋,等不到冰雪尽溶的时候,就放一把火把雪都烧了,烧成另一个春天。

[转]名侦探柯南TV主线集数整理(截止1165集)

名侦探柯南四条主线可大致分为 :工藤新一的名侦探之路,世良姐妹一家9口人的搬迁之旅,警校五人组的牺牲故事,黑衣组织的秘密计划及红方的卧底行动

主线

第1集(或剧场版变小的名侦探),琴酒和伏特加在游乐园给工藤新一灌下药物变小。

第2集,变小的工藤新一求助阿笠博士,化名江户川柯南住进毛利侦探所。

第3集,柯南转入帝丹小学,首次替小五郎解决案件。

第4集,柯南 光彦 步美 元太组成少年侦探团。

第5集,柯南再次在新干线遇到琴酒和伏特加,窃听得知代号。(TV版为假琴酒和假伏特加)

第6集,铃木园子首次登场(动画原创)。

第7集,小兰首次怀疑柯南身份。

第9集,柯南使用麻醉针和变声器替毛利小五郎破案,人称“沉睡的小五郎”。

第10集,柯南假装恢复身体与小兰对话

第11—12集,麻生成实弹奏钢琴在大火中死去,成为柯南一生的遗憾。(著名的月光篇,柯南开始怀疑自己是否真的杀了一个人)

第19集,警视厅高层管理官松本清长首次登场。(好像不是啥重要人物)

第33集,已与毛利小五郎分居十年的妃英理首次登场。

第44集,工藤优作和有希子回国得知工藤新一变小的事情,联络国际刑警的势力调查黑衣组织。有希子曾经是著名女演员,十七年前息影嫁人生下工藤新一。

第49集,服部平次首次登场,距上次滑雪场事件3年前来毛利侦探所挑战工藤新一。

第50集,柯南第一次恢复身体,和服部平次推理对决。

第56集,在电玩公司掌握组织线索,听到了组织成员龙舌兰和琴酒通话。成员龙舌兰却被炸死。(最惨组织成员)

第59集,服部平次第二次登场,并开始怀疑柯南身份。

第60集,服部平次得知工藤新一和柯南是同一个人。

第78—79集,黑羽快斗首次登场;工藤新一变小后再次与怪盗基德对决,上了新闻人称毛利助手为“基德克星”。真田一三第一次登场。

第99—102集,小兰第二次怀疑柯南身份,真田一三第二次登场。

第118集,帝丹小学小林老师首次登场。

剧场版1引爆摩天楼,白鸟警官首次登场,疯狂的建筑学家挑战工藤新一。

第124—125集,叛逃组织的杀手沼渊己一郎在大阪犯案。

第135集,化名广田雅美的银行收款员,实为组织底层人物宫野明美被琴酒暗杀。临死前告诉柯南组织的成员衣服都如乌鸦般漆黑。赤井秀一决心为明美报仇,和朱蒂在美国追捕贝尔摩德。贝尔摩德来到日本调查出现在组织服药名单的救命恩人工藤新一,赤井秀一和朱蒂等FBI跟着她来到日本。

剧场版:变小的名侦探柯南,重制版第一集到雪莉篇前;波本查出来与伏特加交易的董事长与泥惨会有勾结;琴酒 伏特加除掉组织的“老鼠”;朱蒂 赤井秀一与贝尔摩德在纽约的街头追逐战。

雪莉篇

第136—139集,雪莉篇;灰原哀登场;原本是组织的科学家宫野志保,因姐姐宫野明美被杀而吃药变小逃离组织被阿笠博士收留;APTX4869药物秘密揭晓;柯南得知广田雅美就是宫野明美是灰原哀姐姐。灰原哀继续在帝丹小学上学,帮助柯南研究恢复药。(至关重要,主线剧情转折点)(啊~雪莉!)

第140—141集,竞技场事件;灰原哀透露组织在半个世纪前就开始了秘密计划

第142—144集,怪盗基德第二次登场;柯南利用铃木园子解决案件。

剧场版3《世纪末的魔术师》,怪盗基德得知柯南真实身份。

第163集,超级赛亚人京极真第一次登场

第181—182集,新出智明登场。

贝尔摩德篇

第190—192集,重逢篇;琴酒和伏特加第三次登场。灰原哀首次恢复身体,柯南在杯户饭店和琴酒交手,组织成员皮斯可被杀。贝尔摩德(克丽丝·温雅德)登场,奉命寻找雪莉。

第203—208集,生死一瞬间;柯南因保护少年侦探团而负伤,小兰第三次怀疑柯南身份;紧接着,柯南再次恢复身体,扮演黑衣骑士解决案件,和小兰在饭店约会时药效到期。

剧场版5《通往天国的倒计时》;琴酒枪杀电脑工程师原佳明,炸掉西多摩市的日本第一双塔摩天大楼。柯南用夏威夷学的车技拯救侦探团。

第220-221集,十八年前佐藤父亲因逮捕犯人而去世。后来佐藤加入了警校毕业当警察为父报仇,降谷零也为了寻找爱莲娜在警校比她高一届。

第233—234集,目暮警官的秘密。

第235—238集,黄昏篇;黑羽快斗第二次登场,怪盗基德VS工藤新一;黄昏之馆内家具都有乌鸦的标记,主人是半个世纪前去世的富豪乌丸莲耶。(重要人物)

第241—243集,人鱼篇;组织在自称长生不老的人鱼岛

留下的痕迹;疑似与雪莉、琴酒、伏特加有关。(琴酒真名黑泽阵,伏特加真名鱼冢三郎)

第245—246集,朱蒂老师首次登场。

第249集,贝尔摩德易容成新出医生坐公交试探柯南和灰原哀;FBI搜查官的赤井秀一首次登场,和朱蒂一起追捕贝尔摩德。

第250集,公交车抢劫案解决,柯南救下灰原哀,引起贝尔摩德注意。

第261集,柯南得知琴酒是个左撇子。

第265—266集,灰原哀的高冷性格开始转变。

第272—273集,小兰与赤井秀一再次偶遇。

第277集,詹姆斯·布莱克登场,并被歹徒绑架。(黑方在红方卧底有力人选)

第278集,侦探团解决案件,赤井秀一接走詹姆斯。

第291—292集,高木警官告诉柯南关于小五郎资料被盗的事;赤井秀一开始监视毛利侦探所。

第293—294集,小兰开始回忆赤井秀一;贝尔摩德注意灰原哀。

第299集,贝尔摩德的身份暴露,柯南查出来克莉丝•温雅德是组织成员。

第300集,服部平次VS朱蒂老师。

第301—302集,柯南得知克莉丝•温雅德曾经出现在母亲莎朗的葬礼,说出了神秘的女人更有魅力的名言。

第306—310集,纽约篇;女明星莎郎•温雅德登场,克莉丝•温雅德是她女儿;一年前工藤解决案件后,小兰偶遇赤井秀一得知他是FBI,并救下贝尔摩德变装的公路恶魔;从此贝尔摩德被感化,称呼小兰“angel”,称呼柯南为“cool guy”。

第311—312集,沼渊己一郎被判死刑,柯南得知他是组织的成员。

第326—329集,萩原研二、松田阵平首次登场,最后牺牲。

第332—336集,接触篇;第二次掌握组织线索,龙舌兰在威胁游戏工程师板仓卓开发软件。柯南取走板仓卓的日记光盘,在小兰口中得知赤井秀一是FBI。最后,柯南冒充板仓卓和组织交易,伏特加指纹差点被柯南录取,幸亏有琴酒出现,柯南首次被逼上绝路。

第354—355集,阿笠博士回忆灰原哀父亲,宫野厚司。曾出现在新科技发布会,被称为疯狂的科学家。母亲世良爱莲娜是英国人,宫野厚司留学时相识。

第360—370集,为满月对决做准备;灰原哀重病不起,贝尔摩德以新出医生身份看病,窃听得知雪莉变小的事情;柯南找到明美在厚司朋友公司爱莲娜留给灰原哀的录音带;赤井秀一得知灰原哀是宫野志保,FBI开始暗中保护灰原哀;小兰看到照片怀疑朱蒂老师是坏人。

第371—375集,满月篇;贝尔摩德开始追杀雪莉,莎郎和克莉丝以及新出三重身份暴露,曾在二十年前杀死朱蒂父亲,在码头与朱蒂 赤井秀一枪战,小兰救下灰原哀;最后贝尔摩德没有上报柯南和灰原哀的事,因为小兰是她救命恩人,组织boss邮件按键声被柯南录下;赤井秀一和朱蒂身份都揭晓;组织成员卡尔瓦多斯自杀。(主线剧情的高潮,满月对决)

第376-377集,哀拒绝FBI的证人保护计划。

第386—387集,怪盗基德的空中漫步

第392—393集,真正的新出医生回归。

第419―421集,柯南得知组织boss邮件按键声是日本童谣《七个孩子》。

第428—430集,柯南准备查找boss邮件地址被灰原哀阻止,声称是“潘多拉的魔盒”。

剧场版漆黑的追踪者:组织成员爱尔兰根据指纹发现了柯南的身份,但由于琴酒之前击杀了爱尔兰恩师皮斯可,导致爱尔兰反水,后被组织射杀。

第455―456集,阿笠博士的初恋故事。

红黑篇

第459—463集,冲击篇;FBI和柯南阻止琴酒领导的暗杀活动;组织成员基安蒂 科恩 基尔(水无怜奈)登场;柯南得知詹姆斯也是FBI;柯南安装的窃听器被琴酒发现,以为是小五郎安装的,赤井秀一与琴酒对狙,水无怜奈车祸被FBI运往杯户医院。(为红黑对决做准备)

第467—468集,本堂瑛佑登场。

第497―498集,京极真大战黑道组织泥惨会。

第502—505集,贝尔摩德出动调查水无怜奈下落,本堂瑛佑引起柯南怀疑。

第509―510集,怪盗基德盗窃四幅名画。

第512―513集,黑羽盗一和幼年快斗登场,柯南得知KID(1412)名称来源于工藤优作,十年前工藤优作和怪盗基德对决,小学的工藤新一和小兰偶遇黑羽盗一。有希子和贝尔摩德师从黑羽盗一,都学会了变装,但贝尔摩德还学会了变声。

第519—522集,服部平次和柯南互通情报,白马探登场。

第527—528集,本堂瑛佑父亲伊森本堂是CIA的事情揭晓。

第538—550集,红黑篇;水无怜奈(真名本堂瑛海)苏醒,和多年没有联系的弟弟本堂瑛佑会面,美国CIA卧底身份暴露给红方,双方达成妥协。安德烈卡梅隆登场,用全FBI最强车技临危把水无怜奈送回了黑衣组织;琴酒用计将水无怜奈夺回组织,却不知道是红方计划好的,组织成员楠田陆道被FBI抓到后自杀;詹姆斯告诉柯南,赤井秀一曾代表FBI前往组织当卧底化名诸星大,代号黑麦,与宫野明美谈恋爱深入组织。两年前准备计划逮捕琴酒,却不小心暴露身份,返回美国后宫野明美就遭到了杀害;柯南得知赤井秀一是灰原哀姐夫;最后,赤井秀一假死,让水无怜奈获得信任为FBI提供情报,使用楠田陆道尸体逃脱。詹姆斯发现了秀一指尖的薄膜,得知了假死计划;水无怜奈发来短信,组织推理能力高超的波本已经开始行动,水无怜奈拜托小五郎调查黑衣组织,水无怜奈在回到组织后就受到了严格的监控。(主线剧情的大高潮,红与黑的碰撞,琴酒高光时刻)

第554—555集,本堂瑛佑得知柯南身份,并前往美国准备加入CIA。

波本篇

第556―558集,冲矢昴登场,真实身份FBI搜查官赤井秀一;公寓火灾后冲矢昴被柯南安排住进工藤家,暗中保护灰原哀。(猫哥!!!)

第562―563集,怪盗基德瞬间移动的魔术。

第570―574集,死罗神事件,柯南第三次恢复身体(真假新一)。

第588―589集,怪盗基德VS最强金库。

第609―611集,诸伏高明 大和敢助等长野县警官登场。(警察智商天花板)

第614―615集,银行抢劫案;伤疤赤井秀一登场,引起朱蒂注意。

第629―632集,伤疤赤井秀一再次登场,实际上是波本假扮,行动试探FBI探员。引起琴酒的注意,准备枪杀水无怜奈和狙击伤疤赤井,被贝尔摩德解释清楚。

第638集,怪盗基德VS四神侦探团。

第667―672集,伦敦篇;柯南第四次恢复,在英国伦敦遇到案件,自称“福尔摩斯的弟子”,被世良和玛丽在电视上看到,并在大本钟下向小兰表白;世良真纯和玛丽开始前往日本寻找柯南。(与此同时玛丽被贝尔摩德强行嘴对嘴喂药)

第673—674集,灰原哀感受到冲矢昴的组织气息。

第678―679集,怪盗基德的龙马宝物攻防战。

第697―698集,世良真纯登场,转入帝丹高中。

第702―707集,世良真纯打听工藤新一的事引起柯南注意,将消息告诉服部平次。

FBI安德烈卡梅隆见到世良真纯感觉她很像某个人,詹姆斯一眼看出世良是女生。(青山老贼解释为世良小时候常去FBI玩)

第708―709 集,冲矢昴开始关注世良。

第719—720集 ,降谷零化名安室透登场,为组织成员波本; 拜毛利小五郎为师,在侦探所楼下波洛咖啡厅打工。

第722―726集,降谷零和世良真纯 冲矢昴救下柯南,获取小五郎信任。小五郎将电脑密码5563告诉安室透。

第727—728集,灰原哀怀疑冲矢昴是诸星大。

第733—735集,降谷零半年前将诸伏景光自杀打穿的手机交给警校同学伊达航,让他转交景光在长野县当警察的哥哥诸伏高明。然而,伊达航却卷入车祸去世,嘱咐了高木涉。降谷零看望已故的降伊达航。

742-743集,世良冲矢昴接触,与冲矢昴得知柯南身份为工藤新一。

第751―752集,灰原哀为救少年侦探团第二次恢复身体,引起降谷零和赤井秀一注意。

第753—756集,列车篇;有希子和贝尔摩德(莎朗)见面,提到板仓卓软件对组织很重要,琴酒和伏特加准备炸掉车站,赤井秀一救下世良真纯和灰原哀,降谷零波本身份暴露给红方,怪盗基德假扮雪莉救场,雪莉被报告组织死亡。(基德唯一一次也是最后一次参与主线)

第757—758集,降谷零依旧在隔壁咖啡厅打工,并看见了柯南使用麻醉针。从此,降谷零开始怀疑柯南身份和“沉睡的小五郎”。

第776―777集,怪盗基德盗窃赤面人鱼。

第779—780集,小兰回忆自己似乎在以前见过世良,看见世良的背影总是能想起波浪。

第783―784集,“太阁名人”羽田秀吉首次登场,记忆力世界第一,见过小新一,可能已经知道了柯南的身份。

第786―787集,柯南向FBI朱蒂汇报列车上组织的行动,降谷零和贝尔摩德一起行动,窃听对话。

第797―800集,怪盗基德VS京极真。(超级赛亚人的潜质初露锋芒)

第807―808集,红衣女事件;世良真纯告诉柯南 小兰 园子她还有位二哥,她们是三兄妹并且姓氏不同。(世良真纯,羽田秀吉,赤井秀一)

第809集,世良•玛丽首次出现,照片在世良真纯的手机上显示被柯南看见起了好奇心。

第812集,世良真纯告诉柯南 小兰 园子,她曾经去过美国(实为英国),回国后准备前往二哥那里居住被拒绝,父亲的朋友又提供给她豪华酒店居住;他们前往世良真纯居住的酒店去玩,遇到杀人案,柯南趁机安装窃听器。

第813集,世良•玛丽识破柯南的阴谋,让世良真纯告诉柯南她是“领域外的妹妹”(军情六处)。

第816―817集,柯南向灰原哀汇报领妹的事情。

第823―824集,柯南得知安室透的第二个代号“零”;安室透得知楠田陆道可能是开枪自杀,称呼柯南为“隐藏在天真下的魔爪”。

第825-826集,工藤新一在水族馆解决案件。

第832—836集,绯色篇;赤井秀一假死计划暴露;安室透真实姓名降谷零,日本公安卧底身份暴露给红方,开始调查楠田陆道自杀的手枪(自杀手枪来源是日本警察高层?);朱蒂、卡梅隆得知赤井秀一还活着,水无怜奈发来短信组织二把手BOSS朗姆(RUM)开始行动。

贝尔摩德与BOSS有某种特殊关系(只有安室透知道)。

第838―839集,羽田秀吉再次登场,知道大哥赤井秀一没死。世良真纯不知道羽田秀吉

是著名将棋手,世良真纯和领妹都以为赤井秀一死了。

朗姆篇

第845—846集,柯南得知朗姆的外形特征,有只眼睛因事故换成了义眼。

第865―867集,黑田兵卫在长野县登场。

第868集,降谷零的调查,被琴酒盯上。(剧场版纯黑的噩梦联动)

第891―892集,苏格兰威士忌也就是诸伏景光(日本公安卧底,安室透发小)在回忆中登场,他的自杀成为赤井秀一和降谷零的怨恨,降谷零怨恨赤井秀一那么有能力却救不了景光;柯南得知世良真纯是赤井秀一妹妹。

第904―905集,羽田秀吉输掉比赛,和女朋友通话中提到自己义兄羽田浩司。灰原哀听到这个名字,想起组织服药名单也有羽田浩司名字,把这件事告诉了柯南。(羽田浩司案重要人物)

第908-909集,十三年前工藤新一和小兰在幼儿园成为青梅竹马。

第916―917集,柯南和灰原哀 冲矢昴开始在网上调查17年前的羽田浩司案,破解暗号得知嫌疑人是浅香和组织二号BOSS朗姆,资产家阿曼达和羽田浩司一起死去,浅香是她的保镖,羽田浩司的护身符——一枚将棋丢失(现在在若狭老师手中);赤井秀一告诉柯南,羽田浩司案是让他加入FBI的重要案子,和他父亲有关(赤井务武为调查羽案失踪)。

第918―919集,柯南继续调查羽田浩司案,小五郎 世良真纯和领妹也有调查。琴酒第二次盯上沉睡的小五郎,表明羽案是朗姆的烂摊子,柯南拍到了玛丽的照片。

第921―922集,苏格兰自杀原因揭晓(已成为公安警察的降谷零和诸伏景光潜入了组织卧底。已成为FBI搜查官的赤井秀一也代表FBI潜入组织卧底。四年前诸伏景光不幸暴露身份在赤井秀一面前开枪自杀,所以降谷零对赤井秀一恨之入骨。),苏格兰的手机被破坏,柯南和冲矢昴来演唱会调查羽田浩司案(实际和羽案没啥关系),降谷零和贝尔摩德也来调查,降谷零发现冲矢昴和赤井秀一一样都是左撇子,和绯色篇中由工藤优作扮演的冲矢昴是右撇子不符。

剧场版20,纯黑的噩梦;库拉索前往公安内部找卧底名单,得知赤井秀一还活着被狙击轮胎,失忆流落东都水族馆;风见警官登场;组织成员司陶特 阿夸维特 威士莲被杀,柯南和赤井秀一救下降谷零和水无怜奈;最后,赤井秀一和降谷零 柯南吊打琴酒直升机,库拉索牺牲。

第933―934集,世良真纯开始向柯南暗示,世良穿了和小新一见面时的泳装(小兰,园子,世良泳装秀)。

第936―937集,涟漪篇;柯南终于想起来,十年前在海滩边玩见过赤井一家;柯南得知领妹是世良母亲“玛丽”,“太阁名人”羽田秀吉是世良二哥;十年前的赤井秀一为调查父亲(赤井武务)失踪准备前往美国加入FBI。世良称小新一是魔法师。

第940―941集,大冈红叶与伊织无我首次登场;大冈红叶自称是服部平次未婚妻。

第944―945集,帝丹小学新老师若狭留美登场,开始一步步试探柯南。

第949―950集,厨师胁田兼则登场,开始调查试探名侦探毛利小五郎,因此拜他为师。

第951―952集,若狭留美武力拯救侦探团,上了新闻。引起朗姆的注意,她俩似乎认识。(若狭可能是浅香?)

第964―965集,黑田兵卫也在调查羽田浩司案,并和若狭留美见面。若狭留美似乎见过黑田兵卫,灰原表示很喜欢若狭老师。

剧场版22零的执行人,揭晓黑田兵卫是降谷零上级(红方实锤)。

第971―972集,剑道大赛;冲田总司首次登场,撩小兰引起柯南不满;大冈红叶和伊织无我第二次登场。

第980―981集,柯南获得灰原哀信任,风见警官第一次在TV版登场。

第982―985集,修学篇:柯南第五次恢复,参加京都修学旅行遇上案件,破解案件后和小兰亲吻,开始正式交往。世良和领妹得知了能变大的药物。

第998―999集,修学篇:工藤新一出现在清水寺暴露,引起三位朗姆候选人的关注,若狭拥有A药的名单。最后,工藤优作和有希子回国帮忙解围,并解开羽田浩司案的真正暗号,乌丸(CARASUMA)。柯南推理出乌丸莲耶,疑似组织大Boss。有希子和工藤优作开始留在日本帮助柯南。朗姆盯上工藤新一,让降谷零搜集情报,朗姆名言:TIME IS MONEY。

第1009―1011集,降谷零回忆童年时经常去宫野爱莲娜的诊所,宫野厚司的研究被乌丸集团看中,宫野家为了生计加入了组织开发药物,生下女儿宫野志保。并死在了实验室火灾中,女儿明美和1岁志保被迫加入组织。,似乎与乌丸集团有关系;紧接着,降谷零夜潜工藤家,被赤井秀一逮着。然后,和有希子和工藤优作开始了红茶谈话。(内容不得而知)

第1028—1031集,东京发生了女警连续被杀案。黑田兵卫让降谷零提供情报给柯南,

并让他继续搜集情报。安室透回忆起红茶谈话的事情,夸赞柯南是一个毫无疏漏的私家侦探;羽田秀吉知道赤井秀一没有死并易容成冲矢昴的事

第1040—1041集,诸伏高明来到东京对决怪盗基德,并受到了伊达航转交给他的遗物,是个屏幕被打穿的手机,这个弟弟是他弟弟景光的。诸伏高明因此得知弟弟殉职了,回想起弟弟一个朋友叫做零。

1050-1052集,世良询问小兰新一与柯南有无同时在场,随后向柯南表明自己早已发现柯南真实身份就是工藤新一 ,玛丽也是因为药物变成了小孩,在伦敦篇看到了柯南说出”我是福尔摩斯的弟子”才赶来了日本,世良得知了灰原哀(二表姐)的存在,灰原哀提到自己父母曾在白鸠制药工作。

1057-1058集,经典剧集 月光篇 高清重制版。

1059集,剧场版绯色的子弹联动。(另外可以看一下梳理赤井家关系的特别篇:绯色的不在场证明)。

1060-1062集,胁田兼则对安室透说骚话,暗示“叛徒”,安室透向柯南透露朗姆是个急性子,胁田兼则表明期待柯南长大后的样子,黑田可能已经知道胁田兼则就是朗姆。

1068-1069集,若狭留美听到“护身符” 后回忆起了羽案,右眼有异样,柯南使用麻醉枪射击操哥被若狭留美发现 。

1075-1077集,赤井秀一不想让世良牵扯到组织,柯南确定领妹为赤井一家被缩小的母亲,身份为英国MI6军情六处特工。

1081-1082集,柯南得知羽田浩司为有钱人家的公子哥

1086集,警校五人组 松田阵平篇

1090-1092集,羽田秀吉有赤井秀一的专用手机,秀一让秀吉不要告诉玛丽自己的事情

1095 集,警校五人组 伊达航篇

1096 集,剧场版M25万圣节的新娘联动

1099 集,警校五人组 萩原研二篇

1102-1103 集,世良发现了柯南药盒里的蓝白胶囊,为APTX4869解药,玛丽让世良找机会得到解药,并回想起了在伦敦被贝尔摩德嘴对嘴灌下A药的名场面,贝尔摩德为让失踪的赤井务武重新回到MI6中,花了三年易容成赤井务武在伦敦溜达与玛丽偶遇,玛丽被灌药后从桥上摔入水中。世良偷药失败,回忆起在网球比赛上看到的柯南和数年前在海边见到的小新一长相一摸一样,玛丽通过MI6收集到的工藤新一的情报,推理出柯南就是变小后的新一。

1110-1111 集,若狭提到提起乌鸦会给人很不好的印象,似乎认识安室,安室第一次见到了若狭老师,并捡到了若狭老师的将棋护身符,回忆起了羽案,若狭再次展现出了高超的武力值,在完全黑暗的环境中将安室透击晕。

1116-1117集,柯南在胁田面前大秀推理,引起胁田怀疑,试探柯南关于羽案:“将棋的棋子不见了,不觉得奇怪吗”,结尾安室透看着若狭的照片陷入了沉思。

1118集,警校五人组 诸伏景光篇

1128-1129集,优作怀疑有人监视新一家,与FBI设计装病引狼入室,贝尔摩德受朗姆之命假装成基德换装的优作来新一家探查,柯南并未发现。

1134集,警校五人组 降谷零篇

1135-1137集,海猿岛篇,组织为了得知FBI的藏身处击杀了七位探员。FBI引出组织的计划被朗姆识破,使得卡梅隆深陷险境。最终在赤井和柯南的帮助下逃生。科伦觉得卡梅隆很眼熟(红黑篇中假死过),结果是只是虚晃一枪。伏特加指出关于朗姆的情报只有义眼是真的,名字是胡编乱造的。结尾揭示朗姆即为胁田兼泽,寿司店厨子。

1138集,M26黑铁的鱼影联动剧集

剧场版M26黑铁的鱼影:组织成员“宾加”出动,通过跨龄追踪系统发现了柯南和灰原的真实身份,贝尔摩德收到组织boss下令毁掉跨龄识别系统,宾加由于觊觎琴酒位置,在将消息告知琴酒之前被琴酒击杀。

1143-1144集,平次指出,随口编造的名字可能是“相同字母异序词”

1151-1152集,宫野明美也曾于帝丹小学就读,其小学同学觉得小哀很眼熟,引起了若狭的怀疑。朗姆也得知了明美曾在帝丹小学就读。

1156-1157集,萩原研二的姐姐萩原千速登场

1163-1164集,安室透发现怪盗基德给他一种很熟悉的感觉,基德也认出了安室就是列车篇中用枪指着他的人。

References

Linux 文件管理之特殊权限

除了读取、写入、执行权限之外还有其他一些较少用到的特殊权限设置。

SUID(Set User ID)

ls -l /usr/bin/passwd /etc/passwd /etc/shadow
-rw-r--r-- 1 root root    1443 Apr  7 22:39 /etc/passwd
-rw-r----- 1 root shadow   974 Apr  7 22:39 /etc/shadow
-rwsr-xr-x 1 root root   63960 Feb  7  2020 /usr/bin/passwd

在使用 passwd 命令(/usr/bin/passwd)修改密码时,会修改存储密码的配置文件 /etc/shadow(在之前的文章有提到,历史上密码存储于 /etc/passwd 中但现在已经不是了)。

但只是普通用户权限的我们是如何得以修改 /etc/shadow 文件的?答案是 setuid。

setuid 位(八进制表示为 4000),如果将其应用于可执行文件,会将有效用户ID(effective user ID)从真实用户(实际执行程序的用户)ID更改为程序属主的有效用户ID。

大多数情况下,少数超级用户的程序才会做此设置。当普通用户执行 setuid root 程序时,该程序将以超级用户的权限来执行,可以访问普通用户通常被禁止访问的文件和目录。这显然会带来安全隐患,因此允许设置 setuid 位的程序数量必须控制在最小范围内。

chmod u+s <程序文件名>

# 八进制法表示为
chmod 4755 <程序文件名>

权限:-rwsr-xr-x,注意属主的s。

SGID(Set Group ID)

setgid 位类似于 setuid 位,它会将有效组ID(effective group ID)从真实用户的真实组 ID(real group ID)更改为文件属主的有效组 ID。

如果对目录设置 setgid 位,那么在该目录下新创建的文件将由该目录的属组所有,而非文件创建者的属组所有。

这在共享目录中非常有用,当一个共同属组的成员需要访问目录中的所有文件时,不用管文件属主的属组是什么。

chmod g+s <目录名>

# 八进制法表示为
chmod 2775 <目录名>

权限:drwxrwsr-x,注意属组的 s。

Sticky Bit

粘滞(sticky)位来自「远古」Unix 的遗留产物,用于将可执行文件标记为「不可交换」。

Linux 会忽略文件上设置的粘滞位,如果对目录设置了粘滞位,则能够阻止用户删除或者重命名其中的文件,除非用户是该目录的属主,或者是文件的属主,又或者是超级用户。

粘滞位常用来控制对共享目录(如 /tmp)的访问。

chmod +t <目录名>

# 八进制法表示为
chmod 1777 <目录名>

权限:drwxrwxrwt,注意最后的t。

References

Linux 文件管理常规操作

文件权限(文件模式)指定谁可以在 Linux 系统上访问、改变或执行一个文件。它确保只有授权的用户和进程可以访问文件和目录。

通过命令 ls -l 就可以获得文件的权限、属主与属组等信息:

ls -l /etc/hosts
-rw-r--r-- 1 root root 186 Aug 27 18:31 /etc/hosts

这些信息表示为:

  • 文件类型及权限:-rw-r--r--;
  • 硬链接数量:1;
  • 文件属主:root;
  • 文件属组:root;
  • 文件的字节数大小:186;
  • 最后修改日期及时间:Aug 27 18:31;
  • 文件名:/etc/hosts;

属主、属组以及其他用户

对于每个文件来说,权限被分配给三种不同类别的用户:

  • 属主:文件和目录所属于的用户;
  • 属组:属于由一个或多个用户组成的组,属组用户被文件和目录的属主授予访问权。
  • 其他用户:在 Unix 术语里这叫作「世界(world)」的(即除了属主与属组外的)其他用户授权。

以 -rw-r--r-- 为例,在之前的文章有提到第一个字母表示文件类型,剩余的每三个字母分别表示属主、属组和世界(其他用户)的权限:

文件类型 属主(Owner) 属组(Group) 世界(World)
– rw- r– r–

关于第一个字母表示的文件类型:

  • 普通文件:-
  • 目录:d
  • 字符设备文件:c
  • 块设备文件:b
  • 本地域套接字:s
  • 具名管道(FIFO):p
  • 符号链接:l

读取、写入和执行

举个例子,-rwxr-r-- 表示这是一个普通文件,属主拥有读取 r(ead)、写入 w(rite) 及执行 x(ecute) 权限,而属组和世界(其他用户)均有读取但没有写入和执行权限。

权限 文件 目录
r(ead) 允许打开和读取文件 允许列出目录文件(需同时含有执行权限)
w(rite) 允许将文件写入或截断,但不允许重命名或删除文件(由目录属性决定)。 允许在目录内创建、删除及重命名文件(需同时含有执行权限)
x(ecute) 允许将文件视为程序并执行,用脚本语言编写的程序文件也必须设置为可读才能执行 允许进入该目录
– 无权限 无权限

❓ 你可能对属组还不是很明白,举个例子有这么一个目录:

drwxr-x--- 3 a www 4096 Mar 30 15:30 wwwroot

属主是用户 a,属组是 www。这时用户 b 没有权限的,因为其他用户权限是 ---。 但让用户 b 加入到名为 www 到用户组就可以拥有权限 r-x。

💡思考

那么当一个文件的属主没有写入权限而属组有写入权限时,如:

-----w---- 2 user1 group1 4.0K Aug 23 08:45 README

注意 user1 用户属于 group1 用户组,这时可以写入吗?

这是一个权限冲突的问题,属主权限是 ---,属组权限是 -w-,当遇到这样的情况时以属主权限为准,即便该用户属于有写入权限的用户组。

修改文件权限:chmod

**文件和目录只有其属主或 root 用户通过 chmod(Change Mode)命令修改文件或目录的文件模式(权限)。

chmod 命令有八进制表示法和符号表示法两种模式表示方式。

八进制表示法

八进制 二进制 模式
0 000 —
1 001 –x
2 010 -w-
3 011 -wx
4 100 r–
5 101 r-x
6 110 rw-
7 111 rwx

举个例子:

mkdir Documents && ls -l
drwxr-xr-x 2 conners conners 4096 Apr  8 11:32 Documents

这里新建了一个名为 Documents 的目录,并且可以看到权限是 rwxr-xr-x。

按照八进制表示法就是 755,也就是依照 3 个八进制数位表示属主、属组与其他用户的权限。

  7       5    5
 user   group  world
 r+w+x  r+x    r+x
 4+2+1  4+0+1  4+0+1 = 755

那么如果想要将其他用户的权限禁止掉,即修改为 rwxr-x--- 就可以使用八进制表示法:

# chmod <八进制表示法> <目标文件或目录>
chmod 750 Documents

符号表示法

符号 含义
u 属主(user 缩写)
g 属组(group 缩写)
o 其他用户(other 缩写)
a 所有(all 缩写,等同于 u、g、o 一起设置)
+ 添加权限
– 移除权限
\= 只赋予指定权限并移除其他权限

举几个例子:

# 为指定文件或目录的属组添加写入权限
chmod g+w <目标文件>

# 移除属主、属组与其他用户的写入权限
# 可以进一步简写为 -w 省去 a
chmod a-w <目标文件>

# 可以同时添加多个权限,如为属组同时添加写入与执行权限
chmod g+wx <目标文件>

# 等号会移除其他权限
# 如下,为属组与其他用户设置为仅有读取与执行权限,如果原有写入权限会被禁用
chmod go=rw <目标文件>

# 一次性为属主、属组与其他用户设置不同权限时,可用英文逗号隔开
chmod u+x,go=rx <目标文件>

💡 可以使用 -v 选项得出修改前后的差别及八进制表示:

chmod -v 755 file.txt
mode of 'file.txt' changed from 0644 (rw-r--r--) to 0755 (rwxr-xr-x)

复制已有文件的权限

可以使用 --reference 选项复制已有文件的权限:

# chmod --reference=<被复制权限文件> <复制权限文件>
chmod --reference=a.sh b.sh

如上,文件 b.sh 就拥有了和 a.sh 一样的文件权限。

递归设置子目录文件权限

chmod 还可以使用 -R 选项以递归的方式更新目录内所有文件的权限。但注意目录下的内容及子目录未必都是相同的属性,比如有的是可执行文件有的是文本文件。

在使用 chmod -R 进行执行权限调整需要谨慎,它不会去管执行权限对目录和普通文件有不同的含义。前面说过对于目录 x 表示进入目录,对于普通文件 x 表示执行。

针对这个问题,也就是如果只想对文件进行一个递归设置,但目录不要进行相应权限设置,可以搭配 find 命令:

find ~ -type f -exec chmod 640 {} \;

上面这条命令表示使用 fimd 查找主目录(~)下的普通文件(-type f),执行命令(-exec),命令为 chmod 640,针对查找到的文件({}),命令结束(\;)

修改文件属主与属组:chown 与 chgrp

使用 chown 和 chgrp 命令可以用于改变文件的属主和属组。

只有 root 用户可以改变文件的属主,普通用户只有在拥有该文件并且只能更改为其所属的组时才能更改该文件的属组,而 root 用户可以更改所有文件的属组。

修改文件的属主:

sudo chown <目标用户> <文件名>

在用户组前加上冒号即为修改文件的属组,属主不变:

chown :<目标群组> <文件名>

将两者结合,修改目录 wwwroot 的属主为 nginx,属组为 web:

# -R 选项用于递归修改目录下的子文件及子目录
sudo chown -R nginx:web wwwroot

除了使用 chown :<目标属组> <文件名>,使用 chgrp 命令也可以达到相同效果:

sudo chgrp <目标群组> <文件名>

References

Linux 粘滞位 Sticky Bit

粘滞(sticky)位来自「远古」Unix 的遗留产物,用于将可执行文件标记为「不可交换」。

Linux 会忽略文件上设置的粘滞位,如果对目录设置了粘滞位,则能够阻止用户删除或者重命名其中的文件,除非用户是该目录的属主,或者是文件的属主,又或者是超级用户。

粘滞位常用来控制对共享目录(如 /tmp)的访问。

chmod +t <目录名>

# 八进制法表示为
chmod 1777 <目录名>

权限:drwxrwxrwt,注意最后的t。

粘滞位主要控制 o 对文件的修改,故也采用 o+t 的形式配置。

References

《芯片战争:世界最关键技术的争夺战(财之道丛书)》

阅读感悟

暂略

阅读笔记

《芯片战争:世界最关键技术的争夺战(财之道丛书)》

 克里斯·米勒

 17个笔记

 推荐序 国运升级点

  • 客观地说,当今中国的经济和科技发展水平,不但比不了美国,而且连20世纪80年代正在崛起中的日本都比不了。当时日本已经有索尼、夏普、丰田、本田、东芝、佳能、尼康等一系列拥有自己的核心技术、自己的设计、自己的品牌,且受到全世界消费者追捧的公司。日本曾经在芯片上把美国打到近乎绝望。就连韩国,早在一二十年前,也已经有了三星、LG、现代这样的全球知名企业。而当今中国除了华为和字节跳动,全球品牌还很少,独家技术也很少
  • 中国排在前列的大公司都是像石油、银行、电网和电信这些国有企业,一些国产品牌只在中国能做到家喻户晓。中国经济体量大、数字好看,而我们的真实经济实力,特别是创新能力,距离发达国家还很远
  • 中国被“卡脖子”的绝不仅仅是芯片。我们在工业母机、医疗仪器、农牧业育种等很多领域都受制于人。我们的产业升级远远没有完成。芯片只是一个聚焦点,但是透过芯片,我们也许可以反思一下一些人过去那种比较幼稚的世界观
  • 简单说,米勒这本书能纠正我们三个错误认知。
  • 第一个错误认知是任何高科技都可以用“堆积”的方法获得。
  • 不可堆积的东西往往要求高水平人才的奇思妙想,要求复杂的环境,要求可遇不可求的机遇。
  • 而要造芯片,从芯片设计软件到光刻机,再到硅材料,每一个步骤都需要很多个聪明人的奇思妙想,这里没有“大力出奇迹”。你需要成千上万个“邓稼先”和“于敏”,而且他们必须都在自己的行业里做得树大根深。
  • 芯片的科学原理没有秘密,都是公开的。但是要做到技术上的可行性,尤其是商业上的可盈利性,那可就太难了。花一亿元人民币造出一颗芯片是没有意义的,我们必须保证大规模制造、保证良品率、保证更新速度,还得保证做出来很便宜才行
  • 现实是中国制造从未离开过全世界的技术支持
  • 是,我们现在有一些像量子信息、碳纳米管芯片之类的领先研究,但是这些都还处于探索科学可能性的阶段——全世界有无数个类似的研究在赌,它们距离技术可行性、商业可盈利性还差十万八千里,根本谈不上“第四次工业革命”。
  • 第二个错误认知是创新应该由政府来主导。
  • 第三个错误认知是我们应该独立自主。
  • 现实是就芯片技术而言,连美国都不能独立自主。美国必须依赖荷兰的光刻机、日本的硅片和中国台湾的制造
  • 所谓的芯片战,美国卡中国脖子,恰恰就是逼着中国去独立自主。这叫作“把互相依赖武器化”:为了打击你,我不让你依赖我
  • 互相依赖是一种生存条件,被孤立是一种打压。现代化已经形成了一个全球“圈子”,只有圈里人得到这个圈的各种好处和帮助,互相依赖,才能把事情做成,独立于圈外没有任何前途。
  • 不被卡脖子的正确做法不是独立自主,而是让自己变得更值得依赖,让包括美国在内的全世界不得不依赖我们,以此跟美国讨价还价,若你要再敢卡我脖子我就卡你脖子
  • 然而进入21世纪,中国经济就到了下一个阶段。允许引进的技术已经引进完毕,剩下的得自己研发,创新走到了无人区。人口步入老龄化,劳动力越来越贵。全球化在退潮,美国等国家已经不拿中国当发展中国家,开始对抗

 来自微信读书

架构风格总结

架构风格总结

mindmap
  root((软件架构风格))
    数据流
      批处理
        (一个接一个,以整体为单位)
      管道/过滤器
        (前一个输出是后一个输入)
        (实例: 传统编译器)
    调用/返回
      主程序/子程序
        (显式调用,主程序直接调用子程序)
      面向对象
        (对象是构件,通过对象调用封装的方法和属性)
      层次结构
        (分层,每层最多影响其上下两层,有调用关系)
    独立构件
      进程通信
        (进程间独立的消息传递,同步异步)
      事件驱动
        (不直接调用,通过事件驱动)
        (实例: 语法高亮、错误提示)
    虚拟机
      解释器
        (解释自定义规则,解释引擎、存储区、数据结构)
      规则系统
        (规则集、规则解释器、选择器和工作内存)
        (用于DSS和人工智能、专家系统)
      (实例: 自定义流程,按流程执行,规则随时改变)
    仓库/数据共享风格
      数据库
        (中央共享数据源,独立处理单元)
      超文本
        (网状连接,多用于互联网)
      黑板
        (用于问题复杂、解空间大的软件系统)
        (实例: 语音识别、知识推理)
    闭环-过程控制
      (发出控制命令并接受反馈,循环往复达到平衡)
      (实例: 汽车定速巡航、空调温度调节)
    C2风格
      (通过连接件绑定的并行构件网络)
      (构件和连接件、顶部和底部)

背诵版

数据流

实例:传统编译器,每个阶段产生的结构作为下一个阶段的输入,区别在于整体。

批处理

一个接一个,以整体为单位。

管道/过滤器

一个接一个,前一个输出是后一个输入。

调用/返回

主程序/子程序

显示调用,主程序直接调用子程序。

面向对象

对象是构件,通过对象调用封装的方法和属性。

层次结构

分层,每层最多影响其上下两层,有调用关系。

独立构件

进程通信

进程间独立的消息传递,同步异步。

事件驱动

不直接调用,通过事件驱动。

实例:时间出发推动动作,如程序语言的语法高亮、语法错误提示。

虚拟机

实例:自定义流程,按流程执行,规则随时改变,灵活定义,业务灵活组合机器人。

解释器

解释自定义的规则,解释引擎、存储区、数据结构。

规则系统

规则集、规则解释器、选择器和工作内存,用于DSS和人工智能、专家系统。

仓库

实例:现代编译器的集成开发环境IDE,以数据为中心

又称为数据共享风格。

数据库

中央共享数据源,独立处理单元。

超文本

网状连接,多用于互联网。

黑板

语音识别、知识推理等问题复杂、解空间很大、求解过程不确定的这一类软件系统,黑板、知识源、控制。

闭环-过程控制

实例:汽车定速巡航、空调温度调节,设定参数,并不断调整。

发出控制命令并接受反馈,循环往复达到平衡。

C2 风格

构件和连接件、顶部和底部。

通过连接件绑定在一起按照一组规则运作的并行构件网络。