我开发了一个定制的系统调用来记录终止的进程。C程序杀死进程并调用自定义的系统调用,传递进程的进程ID,然后系统调用将被杀死的进程的ID打印到内核的日志。这里,我只是传递一个虚拟来测试系统调用是否写入内核日志。系统调用表中的系统调用号为329。
下面是我的系统呼叫
#include <linux/kernel.h>
asmlinkage long sys_killa(char* proc_id)
{
printk("The process %s has been killed", proc_id);
return 0;
}
这是我的C程序来调用
我失去了与亚马逊EC2 VM的连接。我认为原因是我配置了错误的路由表规则,但是是否有其他方式登录到VM以查看实际发生了什么?
使用get系统日志,我可以获得一些信息,但我也注意到,在底部有以下一行:
Red Hat Enterprise Linux Server 7.1 (Maipo)
Kernel 3.10.0-229.el7.x86_64 on an x86_64
ip-172-31-30-157 login:
我想知道我是否可以用这个登录到VM,但是用户名是ec2-user吗?密码是什么呢?我通常使用没有密码的ssh -i!
没有用户目录的密码减少SSH?
据我所知,文件夹.ssh应该存储在用户目录中。
ServerA: Linux without /home/users
ServerB: Linux with /home/users
client: Linux/mac etc...
案例:
客户端无密码ssh到ServerB,没有问题
客户端无密码ssh到ServerA,没有问题
SeverA密码-无密码ssh到ServerB,问题!
如果ServerA中没有实际的用户目录,那么在没有用户目录的情况下,每个用户的公钥是怎样的呢?
或者还有其他方法可以安全地从ssh到ServerB从ServerA?
我在root中编辑了我的/etc/profile,试图在登录时运行一个脚本,但显然我做错了。
现在的问题是,在重新启动VM之后,登录循环。如果输入用户名,然后输入密码,它将成功登录,显示上次登录的时间,然后在一秒钟左右后将我返回到登录屏幕。我试过以root和普通登录的身份登录。我在其他地方读到,引导到恢复模式可能会有帮助,但是在引导Arch时我找不到这个选项。我有以下选择:
Arch Linux pkg-linux内核
Arch Linux pkg-linux内核(回退initramfs)
Arch Linux
arch linux的高级选项
我试过所有这些引导选项