我在虚拟机上运行 Kali Linux 2018.1。我想在启动时运行一堆存储在 start.sh 文件中的命令。我知道如何通过进入 来在普通发行版上执行此操作/etc/rc.local
,但这在 Kali 中不存在。
这是我想要运行的一些命令。
apt-get clean && apt-get update && apt-get upgrade -y
openvas-start
/etc/init.d/nessusd start
有什么建议么?
答案1
您可以将此脚本添加到/etc/crontab
:
@reboot /path/to/your/start.sh
@reboot : Run once after reboot.
答案2
遇到同样的问题,在别处的帖子中找到了解决方案。
概括:
sudo vim /etc/systemd/system/rc-local.service
然后添加以下内容。
[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99
[Install]
WantedBy=multi-user.target
注意:从 16.10 开始,Ubuntu 不再附带 /etc/rc.local 文件。对于 Kali 等其他发行版也是如此。您可以通过执行此命令来创建该文件。
printf '%s\n' '#!/bin/bash' 'exit 0' | sudo tee -a /etc/rc.local
然后给/etc/rc.local文件添加执行权限。
sudo chmod +x /etc/rc.local
之后,在系统启动时启用该服务:
sudo systemctl enable rc-local
最后,启动服务并检查其状态:
sudo systemctl start rc-local.service
sudo systemctl status rc-local.service
完整的帖子在https://www.linuxbabe.com/linux-server/how-to-enable-etcrc-local-with-systemd