Linux root SSH 权限限制

Linux root SSH 权限限制

我在 Windows 上使用 NetBeans 8.0.1,并在 LAN 上的 Debian PC 上的远程主机上进行编译/运行/调试。我已将 NetBeans 主机设置为 root。我还将其设置为使用 gdb 进行调试。我的 C 代码包含 alsa 库并尝试调用snd_pcm_open并获取句柄。

问题是,当我从 NetBeans 调试可执行文件时,我收到此错误消息,我认为这基本上意味着权限问题:

ALSA lib pcm_dsnoop.c:618:(snd_pcm_dsnoop_open) 无法打开从属。

检测结果:

  1. 本地机器终端以root身份正确运行。
  2. 本地机器终端以非root用户身份正确运行。
  3. 以非 root 用户身份进行远程 SSH 运行正常。
  4. 以 root 身份进行远程 SSH 时出现错误消息。

我尝试将根添加到音频组,但没有帮助。

因此基本问题是:

  1. 这应该被视为环境问题还是 shell 设置问题?如果是,我应该寻找什么?
  2. 远程主机设置是否有最佳实践?是否应以某种方式设置非 root 用户以允许编译和 gdb 等?

答案1

  1. 以 root 身份进行远程 SSH 时出现错误消息。

首先猜测是远程主机不允许 root 通过 ssh 登录。查看文件/etc/ssh/sshd_config中的PermitRootLogin指令,然后查看sshd_config手册页以了解可能的选项。或者,查看/var/log/auth.log远程主机,假设您有权限在那里执行此操作。您应该看到有关原因的线索,假设它只是无法以 root 身份登录。

如果你以 root 身份登录,然后希望其他人有答案。

我尝试将根添加到音频组,但没有帮助。

如果您无法登录,则群组成员身份就无关紧要。

远程主机设置是否有最佳实践?是否应以某种方式设置非 root 用户以允许编译和 gdb 等?

首先,允许远程 root 登录(通过 ssh 或任何服务)是不好的做法。
其次,总是(在我看来)如果能在用户空间中尽可能多地运行,那就最好了。

相关内容