0

如何在我的应用程序中检查系统是否以正常模式运行,而不是使用 CD-ROM 或 USB 等可启动媒体启动。需要忽略哪些文件、服务或任何其他内容?

这确实是必需的,因为我需要实现一定程度的安全性以及我用来保护我的应用程序的其他措施和技术。有任何想法吗?

PS 我使用 Ubuntu 12.4

4

3 回答 3

0

您可以在此处查看内核命令行,cat /proc/cmdline您可以看到用于启动内核的根驱动器。

于 2012-09-18T07:15:46.203 回答
0

总结一下,如果您想知道您的系统是否通过 grub 或 lilo 的常规引导过程正常启动,您可以检查/proc/cmdline,它告诉您系统在哪里启动,以及引导扇区的唯一 ID 是什么该引导分区,例如:BOOT_IMAGE=/boot/vmlinuz-*****-generic.

这个文件不仅可以告诉你系统不同分区的 UUID,还有其他方法可以帮助你做同样的事情:

1-ls -l /dev/disk/by-uuid/

lrwxrwxrwx 1 根 9 Oct 13 14:12 3894c432-c0ab-4610-b1de-b2121e54b4e3 -> ../../md1

lrwxrwxrwx 1 根 10 年 10 月 13 日 14:12 87431be0-6af5-459e-9ddb-91028fd637cb ->./../sdd1

lrwxrwxrwx 1 根 13 年 10 月 11 日 14:12 b781ce12-657f-4831-8ed5-e3c5b7c04cf7 ->../..md125

lrwxrwxrwx 1 根 9 Oct 13 14:12 c87d9576-55a6-4c3e-a1fb-04e15c72d94e -> ../../md2

2-blkid

/dev/sda1: UUID="b781ce12-657f-4831-8ed5-e3c5b7c04cf7" SEC_TYPE="ext2" TYPE="ext3"

/dev/sdb1: UUID="bb10b5c9-acb6-e72c-768b-29c85cd8b45c" TYPE="linux_raid_member"

/dev/sdd1: LABEL="backups" UUID="87431be0-6af5-459e-9ddb-91028fd637cb" SEC_TYPE="ext2" TYPE="ext3"

/dev/md125: UUID="b781ce12-657f-4831-8ed5-e3c5b7c04cf7" TYPE="ext3"

/dev/md1: UUID="3894c432-c0ab-4610-b1de-b2121e54b4e3" TYPE="swap"

/dev/md2: UUID="c87d9576-55a6-4c3e-a1fb-04e15c72d94e" TYPE="ext3"


可能还有其他工具可以做同样的工作,但我认为以上足以解决像我这样的问题。

PS 感谢所有在此线程中做出贡献的人 :))

于 2012-09-18T09:20:59.113 回答
0

这不能从应用程序上下文中完成。

构建这样一个系统的最明智的方法是拥有一个需要由授权人员解锁的加密硬盘——这样从可移动媒体启动的人无法访问应用程序或其数据。

于 2012-09-18T07:04:54.590 回答