搜索
Linux根目录下的initrd.img和vmlinuz两个软连接有什么作用?
怪我咯
怪我咯 2017-04-17 11:08:20
[Linux讨论组]

Linux根目录下的initrd.img和vmlinuz两个软连接有什么作用?他们的权限是777,因此又是如何保障不被普通用户修改?

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(3)
巴扎黑

一些发行版的 GRUB 配置及相关脚本使用的是 /initrd.img 和 /vmlinuz 路径,所以有的发行版(如 Debian)会在根目录建立相应的软链接来避免一些可能的问题,比如有时候内核升级后系统不能启动有可能是这两个软链接失效导致的,大部分现代的发行版如 Arch Linux 是不需要的。

大家讲道理

为什么要有那两个链接,我不太了解,合理地做些推测的话,也许是为了保持传统。早期的unix内核的保存位置就是 /unix 。后来有了虚拟内存支持以后变成 /vmunix。然后linux学unix,内核保存在 /vmlinux 。而/vmlinuz最后的那个z表示这是经过压缩的(不是普通的压缩格式,而是类似于winrar的自解压包)。由于有这样的历史,或许有些程序仍然依赖于这种方式。

而链接权限的问题:链接本身只是额外占用一个inode,保存了目标的路径,对链接的绝大部分操作(比如read/write)都是直接被OS重定向到目标文件,只有symlink/readlink/rename/unlink这少数几个能够直接操作在链接上。并且,链接文件本身是没有权限这个概念的,虽然ls -l看到的是lrwxrwxrwx,但是关键的只是开头的l,后面都是magic number。普通用户对root创建的链接只有readlink权限(至于具体的逻辑,我想可能还是类似用户组那一套),所以不会造成安全问题。

迷茫

vmlinuz 好像是Linux内核吧

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号