标签: kernel

允许非 root 进程绑定到端口 80 和 443?

是否可以调整内核参数以允许用户程序绑定到端口 80 和 443?

我问的原因是我认为允许特权进程打开套接字并侦听是愚蠢的。任何打开套接字并侦听的东西都是高风险的,高风险的应用程序不应以 root 身份运行。

我更愿意尝试找出哪些非特权进程正在侦听端口 80,而不是尝试删除以 root 权限潜入的恶意软件。

linux privileges kernel sockets

167
推荐指数
5
解决办法
20万
查看次数

从当前运行的 Linux 系统获取内核配置?

我不小心删除了我在 Linux 上的内核配置的 .config,并且似乎记得有一种方法可以通过 proc 文件系统以某种方式检索内核配置。

这仍然可能吗,如果是这样,我该怎么做?

linux kernel

148
推荐指数
5
解决办法
19万
查看次数

linux内核怎么可以这么小?

一个普通的稳定 3* 内核现在大约 70 mb。但是很少有 30-10 mb 的 linux 发行版带有开箱即用的软件和其他东西。

在这些发行版中,Linux 内核怎么会这么小?仅剥离不需要的模块和驱动程序是否可以显着减小尺寸?还做了什么来减小内核大小?

linux kernel

62
推荐指数
3
解决办法
5万
查看次数

为什么第一条 BIOS 指令位于 0xFFFFFFF0(RAM 的“顶部”)?

我知道 BIOS 从 0xFFFFFFF0 加载它的第一条指令,但为什么是这个特定地址?我有很多问题,希望您至少可以帮助我解决其中的一些问题。

我的问题:

  • 为什么第一个 BIOS 指令位于 4 GB RAM 的“顶部”?
  • 如果我的电脑只有 1 GB 的 RAM 会发生什么?
  • 具有超过 4 GB RAM(例如,8 GB、16 GB 等)的系统呢?
  • 为什么用某个值(在本例中为位于 0xFFFFFFF0 处的值)初始化堆栈?

我今天下午已经读过,但我仍然不明白。

bios memory boot kernel

60
推荐指数
4
解决办法
2万
查看次数

可执行文件需要操作系统内核才能运行吗?

我知道当源代码(比如 C++)被编译时,编译器的输出是机器代码(可执行),我认为它是直接发送给 CPU 的指令。最近我正在阅读内核,我发现程序不能直接访问硬件,而必须通过内核。

所以当我们编译一些简单的源代码,比如一个printf()函数,并且编译产生可执行的机器码时,这个机器码中的每条指令是直接从内存中执行(一旦代码被操作系统加载到内存中)还是会机器码中的每一条命令还需要经过OS(内核)才能执行?

我读过一个类似的问题。没有说明编译后生成的机器码是直接发给CPU的指令,还是需要再次通过内核为CPU创建正确的指令。即,机器代码加载到内存后会发生什么?它会通过内核还是直接与处理器对话?

operating-systems kernel

55
推荐指数
5
解决办法
1万
查看次数

是否可以从源代码编译 Darwin 发行版,就像您可以构建 Linux 发行版一样?

我已经通读并学习了Linux From Scratch(和 BLFS),我想知道,我可以按照本指南通过替换xnu内核来创建 Darwin 发行版吗?这个过程会与 LFS 中概述的过程大不相同吗?

我目前的理解是,使系统成为“达尔文”而不是“Linux”所需要的只是内核替换。这样对吗?


编辑:

针对killermist 的评论,我将完善这个问题。虽然我正在寻找有关此主题的一般信息,但我特别寻找的是类似于“达尔文发行版创建指南”的内容,就像 LFS 是“ Linux 发行版创建指南”一样。

我很欣赏这些信息可能只会来自PuredarwinOpenDarwinGNU/Darwin 的人,所以这是向他们寻求帮助的一种呼唤。像 LFS 这样的“ How-We-Made-PureDarwin-Nano-Start-To-Finish ”指南将是完美的,但我知道这要求很高

linux kernel darwin

45
推荐指数
1
解决办法
1万
查看次数

除了内核之外,操作系统中还有什么

据我所知,内核完成与硬件的所有交互,并管理内存、I/O 设备等。因此内核在做所有事情,但它只是操作系统的一部分。那么操作系统中还有什么?只是附带的应用程序?例如,Ubuntu 除了内核还有什么?Gnome 桌面和其他一些应用程序?

operating-systems kernel

44
推荐指数
2
解决办法
7579
查看次数

如何将 WSL2 内核中的内核更新到最新版本?

我的 WSL2 子系统中当前的内核版本是:

5.10.60.1-microsoft-standard-WSL2
Run Code Online (Sandbox Code Playgroud)

但是,我在官方 Microsoft WSL GitHub 存储库中看到有更新版本的内核:

linux-msft-wsl-5.10.102.1
Run Code Online (Sandbox Code Playgroud)

如何更新已安装的 WSL 设置中的内核?我试过这个:

wsl --update
Run Code Online (Sandbox Code Playgroud)

但它不会更新内核版本。

linux kernel wsl2

35
推荐指数
3
解决办法
17万
查看次数

内核是进程吗?

  1. 在Linux中,我们总是说第一个进程是init(pid==1)。但是为什么不是内核(启动)设置系统并创建 init进程。内核是进程吗?
  2. 我们知道所有用户空间线程都植根于 init 进程。那么调度程序和其他内核的东西呢,比如内存管理?

基本上,让我感到困惑的是内核的结构。如果是进程,是单个进程,还是由多个进程组成?

linux kernel

32
推荐指数
3
解决办法
2万
查看次数

如何在 Debian Wheezy 上禁用 IPv6?

我知道有一个 wiki 条目http://wiki.debian.org/DebianIPv6#How_to_turn_off_IPv6显示了如何在 Debian Squeeze 中禁用 IPv6,但这是一个 2.6.* 内核。

运行 Wheezy 的 3.2.* 内核怎么样?

linux debian kernel ipv6 debian-wheezy

26
推荐指数
2
解决办法
11万
查看次数