如果不存在许可证文件(磁盘上存在的任何文件),是否有适当的方法来阻止用户启动到 shell 或 GUI?如果找不到许可证文件,系统将提示用户输入激活密钥,如果用户未能提供,将导致系统重新启动。
我尝试编写初始化脚本,但结果无法写入标准输出,而且我也不确定此时是否可以从用户那里获得任何输入。
答案1
在systemd
系统上,您可能应该使用服务,而不是 init 脚本。可以在各种 RedHat(或此处为 Centos)软件包systemd
中找到示例代码:initial-setup*
$ rpm -qa | grep initial-setup
initial-setup-gui-0.3.9.40-1.el7.centos.x86_64
initial-setup-0.3.9.40-1.el7.centos.x86_64
$ rpm -qi initial-setup | tail -2
The initial-setup utility runs after installation. It guides the user through
a series of steps that allows for easier configuration of the machine.
$
您必须仔细研究代码才能了解它们的作用,但这些包确实会中断正常启动并向用户询问一些事情。