我使用 Nagios 和 check_mk 来监控一些服务器。我收到几个关于几台服务器的挂载选项的警告。消息是:“确定 - 缺少:seclabel”。
我找不到有关 seclabel 的文档。我唯一能找到的就是它可能与selinux有关。也许我可以将 seclabel 添加到安装选项中,但我想知道它的作用以及为什么它首先出现在那里。
所以我的问题是,seclabel 挂载选项有什么用?
我正在尝试学习有关 initrd 的东西。我按照本教程从头开始构建自己的 initrd,并在其上安装了 busybox。然后我用isolinux从它制作了一个.iso,所以我可以在virtualbox中测试它。它工作得很好!
我有来自 busybox 的基本命令,所以我想挂载一个文件系统。但是 /dev 目录几乎是空的(没有 sda),除了我在学习教程时创建的一些文件。我了解了 udev,我认为这就是我所需要的。但是我不知道该怎么做。
我应该从 udev 获取最新的源代码,编译它并将其添加到我的 initrd 中吗?然后在我的初始化脚本中调用 /bin/udev 或类似的东西?或者是否有其他/更好的方法来填充 /dev 目录?
编辑:关于我已经完成的工作的一些附加信息和更新。
/lib/modules
存在于 debian-businesscard.iso 中,并将它们复制到我按照我之前链接的教程创建的 initrd 中。CONFIG_DEVTMPFS=y
/dev
,例如 tty0-tty63 和其他一些设备,但没有 sda/hda。lspci -k
在我当前正在运行的操作系统和虚拟框来检查哪些模块使用。SATA Controller
说它ahci
用作模块。modprobe -v ahci
它时,它会抱怨很多“未知符号:ata_some_stuff”,但之后它返回类似SCSI Subsystem initialized
,ATA-6: VBOX HARDDISK
和Direct-Access ATA …
我bin
在我的主文件夹中创建了一个目录,用于放置所有脚本。然后在我的 .bashrc 中我添加了以下内容:
export PATH=$PATH:/home/myusername/bin
Run Code Online (Sandbox Code Playgroud)
所以我可以从任何地方访问我放在那里的文件。但是有些脚本需要以 root 身份执行。所以我想,我可以将我的 .bashrc 符号链接为 root,(如 /root/.bashrc 指向 /home/myusername/.bashrc,不知道这是否聪明)所以当我需要以 root 身份运行脚本时我只能这样做:
sudo program_that_requires_root
Run Code Online (Sandbox Code Playgroud)
但后来我得到一个:
sudo: program_that_requires_root: command not found
Run Code Online (Sandbox Code Playgroud)
如果我以 root 身份登录并执行该程序,它可以正常工作。那么完成我想要的正确方法是什么?
我想获得所有无线网络的列表。
iwlist wlan0 scan | grep ESSID
Run Code Online (Sandbox Code Playgroud)
这只会显示我当前连接的无线网络。当我以 root 身份运行命令时,它会显示所有可用的网络。如果我在此之后快速运行没有 sudo 的命令,所有网络都会显示出来,但过一段时间它们都消失了,除了我当前连接的网络。
当我不是 root 时,有没有办法获得所有可用的网络?